From e9e793314f21f45dd91457138b0aaaae6d762c7a Mon Sep 17 00:00:00 2001 From: Tadej Panjtar Date: Fri, 6 Mar 2020 23:46:12 +0100 Subject: [PATCH] megre from stable revision v1.10 --- CMakeLists.txt | 2 +- misc/ft2_clone_changelog.txt | 124 +- src/LICENSE.txt | 50 +- src/ft2-clone.rc | 66 +- src/ft2_about.c | 630 +- src/ft2_about.h | 18 +- src/ft2_audio.c | 2649 +++-- src/ft2_audio.h | 228 +- src/ft2_audioselector.c | 1062 +- src/ft2_audioselector.h | 42 +- src/ft2_checkboxes.c | 672 +- src/ft2_checkboxes.h | 246 +- src/ft2_config.c | 4438 ++++---- src/ft2_config.h | 548 +- src/ft2_diskop.c | 4894 +++++---- src/ft2_diskop.h | 166 +- src/ft2_edit.c | 3948 ++++--- src/ft2_edit.h | 158 +- src/ft2_events.c | 1073 +- src/ft2_events.h | 48 +- src/ft2_gfxdata.h | 118 +- src/ft2_gui.c | 2550 ++--- src/ft2_gui.h | 229 +- src/ft2_header.h | 293 +- src/ft2_help.c | 1032 +- src/ft2_help.h | 44 +- src/ft2_inst_ed.c | 6930 ++++++------ src/ft2_inst_ed.h | 208 +- src/ft2_keyboard.c | 2615 ++--- src/ft2_keyboard.h | 36 +- src/ft2_main.c | 898 +- src/ft2_midi.c | 1046 +- src/ft2_midi.h | 72 +- src/ft2_mix.c | 3604 +++---- src/ft2_mix.h | 16 +- src/ft2_mix_macros.h | 724 +- src/ft2_module_loader.c | 5447 +++++----- src/ft2_module_loader.h | 27 +- src/ft2_module_saver.c | 1352 +-- src/ft2_module_saver.h | 16 +- src/ft2_mouse.c | 1594 +-- src/ft2_mouse.h | 97 +- src/ft2_nibbles.c | 1990 ++-- src/ft2_nibbles.h | 52 +- src/ft2_palette.c | 962 +- src/ft2_palette.h | 175 +- src/ft2_pattern_draw.c | 2618 +++-- src/ft2_pattern_draw.h | 15 +- src/ft2_pattern_ed.c | 5825 +++++----- src/ft2_pattern_ed.h | 341 +- src/ft2_pushbuttons.c | 1266 +-- src/ft2_pushbuttons.h | 760 +- src/ft2_radiobuttons.c | 918 +- src/ft2_radiobuttons.h | 440 +- src/ft2_replayer.c | 6759 ++++++------ src/ft2_replayer.h | 628 +- src/ft2_sample_ed.c | 7577 ++++++------- src/ft2_sample_ed.h | 154 +- src/ft2_sample_ed_features.c | 3387 +++--- src/ft2_sample_ed_features.h | 18 +- src/ft2_sample_loader.c | 4503 ++++---- src/ft2_sample_loader.h | 20 +- src/ft2_sample_saver.c | 1112 +- src/ft2_sample_saver.h | 26 +- src/ft2_sampling.c | 891 +- src/ft2_sampling.h | 17 +- src/ft2_scopedraw.c | 365 + src/ft2_scopedraw.h | 8 + src/ft2_scopes.c | 1564 ++- src/ft2_scopes.h | 55 +- src/ft2_scrollbars.c | 1392 +-- src/ft2_scrollbars.h | 189 +- src/ft2_sysreqs.c | 1279 +-- src/ft2_sysreqs.h | 41 +- src/ft2_tables.c | 1121 ++ src/ft2_tables.h | 49 + src/ft2_textboxes.c | 2486 ++--- src/ft2_textboxes.h | 156 +- src/ft2_trim.c | 2501 ++--- src/ft2_unicode.c | 712 +- src/ft2_unicode.h | 106 +- src/ft2_video.c | 2290 ++-- src/ft2_video.h | 149 +- src/ft2_wav_renderer.c | 1074 +- src/ft2_wav_renderer.h | 56 +- src/gfxdata/bmp/LICENSE.txt | 886 +- src/gfxdata/bmp/patternfonts.bmp | Bin 0 -> 149816 bytes src/gfxdata/bmp/readme.txt | 22 +- src/gfxdata/ft2_gfx_fonts.c | 4918 ++++----- src/gfxdata/ft2_gfx_instr.c | 1004 +- src/gfxdata/ft2_gfx_logo.c | 16716 ++++++++++++++--------------- src/gfxdata/ft2_gfx_midi.c | 1430 +-- src/gfxdata/ft2_gfx_mouse.c | 6010 +++++------ src/gfxdata/ft2_gfx_nibbles.c | 11302 +++++++++---------- src/gfxdata/ft2_gfx_sampler.c | 2500 ++--- src/gfxdata/ft2_gfx_scopes.c | 3210 +++--- src/helpdata/FT2.HLP | 1873 ++-- src/helpdata/code/ft2hlp_to_h.c | 360 +- src/helpdata/ft2_help_data.h | 4684 ++++---- src/helpdata/ft2hlp_to_h.exe | Bin 124928 -> 125440 bytes src/helpdata/make_help_data.bat | 2 +- 101 files changed, 81485 insertions(+), 79489 deletions(-) create mode 100644 src/ft2_scopedraw.c create mode 100644 src/ft2_scopedraw.h create mode 100644 src/ft2_tables.c create mode 100644 src/ft2_tables.h create mode 100644 src/gfxdata/bmp/patternfonts.bmp diff --git a/CMakeLists.txt b/CMakeLists.txt index a4e3a49..8d8d45b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.7) -project(ft2-clone VERSION 0.1.68) +project(ft2-clone VERSION 1.10) set(SDL_SHARED_ENABLED_BY_DEFAULT OFF) add_subdirectory(include/SDL2 EXCLUDE_FROM_ALL) diff --git a/misc/ft2_clone_changelog.txt b/misc/ft2_clone_changelog.txt index a41a219..e10fc44 100644 --- a/misc/ft2_clone_changelog.txt +++ b/misc/ft2_clone_changelog.txt @@ -1,6 +1,128 @@ -Fasttracker II clone changelog (starting from beta #10 and up): +Fasttracker II clone changelog NOTE: This may contain stuff that only a programmer understands! +v1.10 - 03.03.2020 +- Bugfix: Channels were internally muted when the tracker was first started. + You'd get no sound when trying to load samples and entering them in the + pattern data. You had to load a song for them to properly unmute... + This has been a bug since v1.04, yikes! +- The audio mixer's resampling interpolation was upgraded from 3-tap cubic to + 4-tap cubic, without affecting the performance of the mixer. +- Fixed some bugs in the .PAT (Gravis Utrasound patch) instrument loader +- Fixed several bugs with the "Echo" toolbox (Sampler screen) +- Bugfix: The "relative tone" section of the Instr. Ed. screen would get messed + up if loading a WAV/AIFF sample whose playback frequency is immensely large. +- Code cleanup + +v1.09 - 12.02.2020 +- Fix: If a corrupt .XM doesn't contain all the sample data at the end of the + file, try to load what is left instead of showing an "Out of memory!" message. +- Fix: Prevent upscaling factors higher than 2x on ARM devices. Fixes extreme + slowdowns on Raspberry Pi 4 with 2k or higher resolution screens. +- The .MOD importer has been slightly improved for oldschool 15-sample formats +- The .S3M importer has been slightly improved for certain effect cases not + compatible with FT2. +- Audio mixer: Internal voice volumes are now calculated with 256 times higher + precision than FT2. Some other changes were also made to make sure the audio + mixing is always done at max precision regardless of the "amp" setting in + the config screen. These are changes that most people won't ever be able to + hear, but the speed performance of the mixer is still the same, so why not. +- The audio dithering routine has now been improved (rectangular->triangular), + and it's now enabled by default on a fresh configuration, or if you reset it. + +v1.08 - 08.02.2020 +- Critical bugfix: Saved instruments (.xi) would end up being broken! +- Linux bugfix: Loading a song by passing it to the executable's argument from a + terminal wouldn't work in most cases... +- macOS/Linux bugfix: Don't show ".." directory when you are in root +- Code fix: We don't want our main instrument/sample structs to be packed, only + the ones used during saving/loading of songs/instruments. This doesn't change + the behavior of the FT2 clone, but it prevents unaligned pointer access in the + replayer and other routines. +- Small optimizations to pattern data rendering, those routines are quite slow! +- Updated HOW-TO-COMPILE.txt + +v1.07 - 30.01.2020 +- Bugfix: After deleting the very last vol/pan envelope point, the currently + selected point wouldn't be properly set. This is actually a behavior/bug + from real FT2, but I wanted to fix it anyway. +- Bugfix: Attempting to add a vol/pan envelope point to a completely empty + envelope would mess things up. Empty envelopes in an allocated instrument + shouldn't happen, but it happens when loading certain non-FT2 XMs. +- Bugfix: The envelope plotter could display garbage on envelopes with tick + offsets above 324. Now it just cuts off at the end instead. Also yes, such + envelopes can be made! OpenMPT, f.ex., has no 0..324 limit for envelope ticks + in XM mode. +- Bugfix: A couple of system request dialogs had the wrong button captions. + (Yes/No instead of OK/Cancel). +- When pressing Esc. and the song is unmodified/saved, you'll now get the + classic joke quit dialogs from FT2 asking if you really want to quit. +- Some minor optimizations and minor fixups. Nothing to write home about... +- Windows 32-bit: This version now requires your CPU to have the SSE2 + instruction set. Intel CPUs from around 2000 (AMD around 2003) and later + have it. In other words, it's not worth my time trying to make the clone + run on such old machines! + +v1.06 - 15.01.2020 +- Bugfix: Scopes were not doing backwards sampling correctly on pingpong loops. + This would also affect the sample playback line in Smp. Ed. It was especially + noticable on very low sampling rates (note). +- For devs: Added HAS_MIDI compiler pre-processor flag. If not defined, MIDI + will not be used in the clone. Handy for situations where rtmidi and/or + libstdc++ can't be used/compiled. + +v1.05 - 28.12.2019 +- Bugfix: When copying marked text in a text box, too much data would be copied +- Changed default WAV rendering frequency (Harddisk recording) to 48kHz + +v1.04 - 17.12.2019 +- Fixed rare crash (or strange behaviors) when changing pattern and/or pattern + length while the song is playing. +- Properly restore channel mute flags when loading a new song (fixes mute bugs) +- Fixed a few bugs with different pattern buttons (Ins./Del., Ln. up/down etc) +- Config: "Hardware mouse" was changed to "Software mouse" (and "Software mouse" + is now disabled in the default config). +- Added a routine to create scaled FT2 mouse cursors for hardware mouse mode, + though the "busy mouse" will stand still and not animate. + Hopefully the new default "hardware mouse" mode will satisfy some people! +- MacOS: Pass NDEBUG to clang preprocessor defines, to prevent debug code + from being compiled in release mode (performance increase). +- MacOS/Linux: make scripts had Windows linefeeds and would thus break! + +* Note: I highly recommend that you go to "Config -> Layout" and disable + "Software mouse"! This will make the mouse way less laggy. However, it will + still be one frame delayed internally unless you disable VSync. + +v1.03 - 28.11.2019 +- A ton of radiobuttons in the GUI simply did not work anymore in v1.02. + I can't believe I didn't notice until now. Sorry! + +v1.02 - 23.11.2019 +- You can now select the audio input (sampling) rate in the config screen. + (44.1kHz, 48kHz or 96kHz) +- Fixed some misinformation in the "Known bugs" help text ("clear sample") +- Fixed some "original" typos in the UI texts (and also renamed stuff that + wasn't very understandable). +- Removed the "Very large" buffer size setting in Config -> I/O devices +- Increased the width of the Disk Op. filename text box +- Tweaked some other minor stuff + +v1.01 - 21.10.2019: +- Windows: Fixed an issue where the program would consume a lot of CPU time + when the window was minimized. + +v1.00 - 25.09.2019: +- This is now the first "stable" release, and it's not in beta anymore +- Some very small fixes to the scopes +- macOS: Added ctrl+cmd+f keybinding to toggle fullscreen (same as alt+enter) +- macOS: Fix huge delay before main window pops ups when opening .XMs associated + with the clone by double-clicking on them. +- macOS: Finetuned a couple of things in the .app package. Version string and + "document types" for file->program association. +- Renamed binary/folder/zip names + + + Beta #168 - 04.09.2019 - Forgot to remove some Nibbles test code that resulted in your score being set to 1234567 whenever you lost a life. diff --git a/src/LICENSE.txt b/src/LICENSE.txt index 8a63f79..fa51ea6 100644 --- a/src/LICENSE.txt +++ b/src/LICENSE.txt @@ -1,26 +1,26 @@ -BSD 3-clause license: - -Copyright (c) 2016-2019, Olav Sørensen -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL OLAV SØRENSEN BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +BSD 3-clause license: + +Copyright (c) 2016-2019, Olav Sørensen +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL OLAV SØRENSEN BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/src/ft2-clone.rc b/src/ft2-clone.rc index b00eab4..2bf1c03 100644 --- a/src/ft2-clone.rc +++ b/src/ft2-clone.rc @@ -1,33 +1,33 @@ -#include - -VS_VERSION_INFO VERSIONINFO -FILEVERSION 0,1,0,0 -PRODUCTVERSION 0,1,0,0 -FILETYPE VFT_APP - -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "FileDescription", "Fasttracker II clone for Windows" - VALUE "ProductName", "Fasttracker II clone" - VALUE "ProductVersion", "Beta" -#ifdef _WIN64 - VALUE "InternalName", "ft2-win64" - VALUE "OriginalFilename", "ft2-win64.exe" -#else - VALUE "InternalName", "ft2-win32" - VALUE "OriginalFilename", "ft2-win32.exe" -#endif - VALUE "LegalCopyright", "Copyright © Olav ""8bitbubsy"" Sørensen" - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1200 - END -END - -IDI_MAIN_ICON ICON "gfxdata/icon/ft2-clone.ico" +#include +#include "ft2_header.h" // PROG_VER_STR + +VS_VERSION_INFO VERSIONINFO +FILEVERSION 1,0,0,0 +FILETYPE VFT_APP + +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "FileDescription", "Fasttracker II clone for Windows" + VALUE "ProductName", "Fasttracker II clone" + VALUE "ProductVersion", PROG_VER_STR +#ifdef _WIN64 + VALUE "InternalName", "ft2-clone-win64" + VALUE "OriginalFilename", "ft2-clone-win64.exe" +#else + VALUE "InternalName", "ft2-clone-win32" + VALUE "OriginalFilename", "ft2-clone-win32.exe" +#endif + VALUE "LegalCopyright", "Copyright © Olav ""8bitbubsy"" Sørensen" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 1200 + END +END + +IDI_MAIN_ICON ICON "gfxdata\\icon\\ft2-clone.ico" diff --git a/src/ft2_about.c b/src/ft2_about.c index 24ac4a9..b64083f 100644 --- a/src/ft2_about.c +++ b/src/ft2_about.c @@ -1,351 +1,279 @@ -#include // sprintf() -#include "ft2_header.h" -#include "ft2_gui.h" -#include "ft2_pattern_ed.h" -#include "ft2_gfxdata.h" -#include "ft2_video.h" - -// ported from original FT2 code - -#define NUM_STARS 512 -#define ABOUT_SCREEN_W 626 -#define ABOUT_SCREEN_H 167 -#define FT2_LOGO_W 449 -#define FT2_LOGO_H 75 -#define ABOUT_TEXT_W 349 -#define ABOUT_TEXT_H 29 - -typedef struct -{ - int16_t x, y, z; -} vector_t; - -typedef struct -{ - uint16_t x, y, z; -} rotate_t; - -typedef struct -{ - vector_t x, y, z; -} matrix_t; - -extern const uint16_t sinusTables[256 * 5]; // defined at the bottom of this file - -static const uint8_t starColConv[24] = { 2,2,2,2,2,2,2,2, 2,2,2,1,1,1,3,3, 3,3,3,3,3,3,3,3 }; -static const int16_t *sin32767 = (const int16_t *)sinusTables, *cos32767 = (const int16_t *)&sinusTables[256]; -static int16_t hastighet; -static int32_t lastStarScreenPos[NUM_STARS]; -static uint32_t randSeed; -static vector_t starcrd[NUM_STARS]; -static rotate_t star_a; -static matrix_t starmat; - -void seedAboutScreenRandom(uint32_t newseed) -{ - randSeed = newseed; -} - -static inline int32_t random32(int32_t l) -{ - int32_t r; - - randSeed *= 134775813; - randSeed += 1; - - r = (int32_t)(((int64_t)(randSeed) * l) >> 32); - return r; -} - -static void fixaMatris(rotate_t a, matrix_t *mat) -{ - int16_t sa, sb, sc, ca, cb, cc; - - sa = sin32767[a.x >> 6]; sb = sin32767[a.y >> 6]; sc = sin32767[a.z >> 6]; - ca = cos32767[a.x >> 6]; cb = cos32767[a.y >> 6]; cc = cos32767[a.z >> 6]; - - mat->x.x = ((ca * cc) >> 16) + (((sc * ((sa * sb) >> 16)) >> 16) << 1); - mat->y.x = (sa * cb) >> 16; - mat->z.x = (((cc * ((sa * sb) >> 16)) >> 16) << 1) - ((ca * sc) >> 16); - - mat->x.y = (((sc * ((ca * sb) >> 16)) >> 16) << 1) - ((sa * cc) >> 16); - mat->y.y = (ca * cb) >> 16; - mat->z.y = ((sa * sc) >> 16) + (((cc * ((ca * sb) >> 16)) >> 16) << 1); - - mat->x.z = (cb * sc) >> 16; - mat->y.z = 0 - (sb >> 1); - mat->z.z = (cb * cc) >> 16; -} - -static inline int32_t sqr(int32_t x) -{ - return x * x; -} - -static void aboutInit(void) -{ - uint8_t type; - int16_t i; - int32_t r, n, w, h; - double ww; - - type = (uint8_t)random32(4); - switch (type) - { - case 0: - { - hastighet = 309; - for (i = 0; i < NUM_STARS; i++) - { - starcrd[i].z = (int16_t)random32(0xFFFF) - 0x8000; - starcrd[i].y = (int16_t)random32(0xFFFF) - 0x8000; - starcrd[i].x = (int16_t)random32(0xFFFF) - 0x8000; - } - } - break; - - case 1: - { - hastighet = 0; - for (i = 0; i < NUM_STARS; i++) - { - if (i < (NUM_STARS / 4)) - { - starcrd[i].z = (int16_t)random32(0xFFFF) - 0x8000; - starcrd[i].y = (int16_t)random32(0xFFFF) - 0x8000; - starcrd[i].x = (int16_t)random32(0xFFFF) - 0x8000; - } - else - { - r = random32(30000); - n = random32(5); - w = ((2 * random32(2)) - 1) * sqr(random32(1000)); - ww = (((M_PI * 2.0) / 5.0) * n) + (r / 12000.0) + (w / 3000000.0); - h = ((sqr(r) / 30000) * (random32(10000) - 5000)) / 12000; - - starcrd[i].x = (int16_t)trunc(r * cos(ww)); - starcrd[i].y = (int16_t)trunc(r * sin(ww)); - starcrd[i].z = (int16_t)h; - } - } - } - break; - - case 2: - case 3: - { - hastighet = 0; - for (i = 0; i < NUM_STARS; i++) - { - r = (int32_t)round(sqrt(random32(500) * 500)); - w = random32(3000); - h = cos32767[(((w * 8) + r) / 16) & 1023] / 4; - - starcrd[i].z = (int16_t)((cos32767[w & 1023] * (w + r)) / 3500); - starcrd[i].y = (int16_t)((sin32767[w & 1023] * (w + r)) / 3500); - starcrd[i].x = (int16_t)((h * r) / 500); - } - } - break; - - default: - break; - } - - for (i = 0; i < NUM_STARS; i++) - lastStarScreenPos[i] = -1; -} - -static void realStars(void) -{ - uint8_t col; - int16_t x, y, z, xx, xy, xz, yx, yy, yz, zx, zy, zz; - int32_t screenBufferPos; - vector_t *star; - - xx = starmat.x.x; xy = starmat.x.y; xz = starmat.x.z; - yx = starmat.y.x; yy = starmat.y.y; yz = starmat.y.z; - zx = starmat.z.x; zy = starmat.z.y; zz = starmat.z.z; - - for (int16_t i = 0; i < NUM_STARS; i++) - { - // erase last star pixel - screenBufferPos = lastStarScreenPos[i]; - if (screenBufferPos >= 0) - { - if (!(video.frameBuffer[screenBufferPos] & 0xFF000000)) - video.frameBuffer[screenBufferPos] = video.palette[PAL_BCKGRND]; - - lastStarScreenPos[i] = -1; - } - - star = &starcrd[i]; - star->z += hastighet; - - z = (((xz * star->x) >> 16) + ((yz * star->y) >> 16) + ((zz * star->z) >> 16)) + 9000; - if (z <= 100) - continue; - - y = ((xy * star->x) >> 16) + ((yy * star->y) >> 16) + ((zy * star->z) >> 16); - y = (int16_t)((y << 7) / z) + 84; - if ((uint16_t)y >= (173 - 6)) - continue; - - x = ((xx * star->x) >> 16) + ((yx * star->y) >> 16) + ((zx * star->z) >> 16); - x = (int16_t)((((x >> 2) + x) << 7) / z) + (320 - 8); - if ((uint16_t)x >= (640 - 16)) - continue; - - // render star pixel if the pixel under it is the background - screenBufferPos = ((y + 4) * SCREEN_W) + (x + 4); - if ((video.frameBuffer[screenBufferPos] >> 24) == PAL_BCKGRND) - { - col = ((uint8_t)~(z >> 8) >> 3) - (22 - 8); - if (col < 24) - { - video.frameBuffer[screenBufferPos] = video.palette[starColConv[col]] & 0xFFFFFF; - lastStarScreenPos[i] = screenBufferPos; - } - } - } -} - -void aboutFrame(void) -{ - star_a.x += (3 * 64); - star_a.y += (2 * 64); - star_a.z -= (1 * 64); - - fixaMatris(star_a, &starmat); - - realStars(); -} - -void showAboutScreen(void) // called once when About screen is opened -{ - const char *infoString = "Clone by Olav \"8bitbubsy\" S\025rensen - https://16-bits.org"; - char betaText[32]; - uint16_t x, y; - - if (editor.ui.extended) - exitPatternEditorExtended(); - - hideTopScreen(); - - drawFramework(0, 0, 632, 173, FRAMEWORK_TYPE1); - drawFramework(2, 2, 628, 169, FRAMEWORK_TYPE2); - - showPushButton(PB_EXIT_ABOUT); - - blit32(91, 31, ft2Logo, FT2_LOGO_W, FT2_LOGO_H); - blit(146, 113, aboutText, ABOUT_TEXT_W, ABOUT_TEXT_H); - - x = 5 + (SCREEN_W - textWidth(infoString)) / 2; - y = 151; - textOut(x, y, PAL_FORGRND, infoString); - - sprintf(betaText, "beta v.%d", BETA_VERSION); - x = (3 + ABOUT_SCREEN_W) - (textWidth(betaText) + 3); - y = (3 + ABOUT_SCREEN_H) - ((FONT1_CHAR_H - 2) + 2); - textOut(x, y, PAL_FORGRND, betaText); - - aboutInit(); - - editor.ui.aboutScreenShown = true; -} - -void hideAboutScreen(void) -{ - hidePushButton(PB_EXIT_ABOUT); - editor.ui.aboutScreenShown = false; -} - -void exitAboutScreen(void) -{ - hideAboutScreen(); - showTopScreen(true); -} - -const uint16_t sinusTables[256 * 5] = -{ - 0x0000,0x00C9,0x0192,0x025B,0x0324,0x03ED,0x04B6,0x057F,0x0648,0x0711,0x07D9,0x08A2,0x096A,0x0A33,0x0AFB,0x0BC3, - 0x0C8C,0x0D54,0x0E1C,0x0EE3,0x0FAB,0x1072,0x113A,0x1201,0x12C8,0x138F,0x1455,0x151C,0x15E2,0x16A8,0x176D,0x1833, - 0x18F8,0x19BD,0x1A82,0x1B47,0x1C0B,0x1CCF,0x1D93,0x1E56,0x1F19,0x1FDC,0x209F,0x2161,0x2223,0x22E5,0x23A6,0x2467, - 0x2527,0x25E8,0x26A8,0x2767,0x2826,0x28E5,0x29A3,0x2A61,0x2B1F,0x2BDC,0x2C98,0x2D55,0x2E10,0x2ECC,0x2F87,0x3041, - 0x30FB,0x31B5,0x326E,0x3326,0x33DE,0x3496,0x354D,0x3603,0x36B9,0x376F,0x3824,0x38D8,0x398C,0x3A3F,0x3AF2,0x3BA4, - 0x3C56,0x3D07,0x3DB7,0x3E67,0x3F16,0x3FC5,0x4073,0x4120,0x41CD,0x4279,0x4325,0x43D0,0x447A,0x4523,0x45CC,0x4674, - 0x471C,0x47C3,0x4869,0x490E,0x49B3,0x4A57,0x4AFA,0x4B9D,0x4C3F,0x4CE0,0x4D80,0x4E20,0x4EBF,0x4F5D,0x4FFA,0x5097, - 0x5133,0x51CE,0x5268,0x5301,0x539A,0x5432,0x54C9,0x555F,0x55F4,0x5689,0x571D,0x57AF,0x5841,0x58D3,0x5963,0x59F2, - 0x5A81,0x5B0F,0x5B9C,0x5C28,0x5CB3,0x5D3D,0x5DC6,0x5E4F,0x5ED6,0x5F5D,0x5FE2,0x6067,0x60EB,0x616E,0x61EF,0x6270, - 0x62F0,0x6370,0x63EE,0x646B,0x64E7,0x6562,0x65DC,0x6656,0x66CE,0x6745,0x67BB,0x6831,0x68A5,0x6918,0x698A,0x69FC, - 0x6A6C,0x6ADB,0x6B49,0x6BB6,0x6C22,0x6C8E,0x6CF8,0x6D60,0x6DC8,0x6E2F,0x6E95,0x6EFA,0x6F5D,0x6FC0,0x7021,0x7082, - 0x70E1,0x713F,0x719C,0x71F8,0x7253,0x72AD,0x7306,0x735E,0x73B4,0x740A,0x745E,0x74B1,0x7503,0x7554,0x75A4,0x75F2, - 0x7640,0x768C,0x76D7,0x7722,0x776A,0x77B2,0x77F9,0x783E,0x7883,0x78C6,0x7908,0x7949,0x7988,0x79C7,0x7A04,0x7A40, - 0x7A7B,0x7AB5,0x7AED,0x7B25,0x7B5B,0x7B90,0x7BC4,0x7BF7,0x7C28,0x7C58,0x7C87,0x7CB5,0x7CE2,0x7D0D,0x7D38,0x7D61, - 0x7D88,0x7DAF,0x7DD4,0x7DF9,0x7E1C,0x7E3D,0x7E5E,0x7E7D,0x7E9B,0x7EB8,0x7ED4,0x7EEE,0x7F08,0x7F20,0x7F36,0x7F4C, - 0x7F60,0x7F73,0x7F85,0x7F96,0x7FA5,0x7FB3,0x7FC0,0x7FCC,0x7FD7,0x7FE0,0x7FE8,0x7FEF,0x7FF4,0x7FF8,0x7FFC,0x7FFD, - 0x7FFE,0x7FFD,0x7FFC,0x7FF8,0x7FF4,0x7FEF,0x7FE8,0x7FE0,0x7FD7,0x7FCC,0x7FC0,0x7FB3,0x7FA5,0x7F96,0x7F85,0x7F73, - 0x7F60,0x7F4C,0x7F36,0x7F20,0x7F08,0x7EEE,0x7ED4,0x7EB8,0x7E9B,0x7E7D,0x7E5E,0x7E3D,0x7E1C,0x7DF9,0x7DD4,0x7DAF, - 0x7D88,0x7D61,0x7D38,0x7D0D,0x7CE2,0x7CB5,0x7C87,0x7C58,0x7C28,0x7BF7,0x7BC4,0x7B90,0x7B5B,0x7B25,0x7AED,0x7AB5, - 0x7A7B,0x7A40,0x7A04,0x79C7,0x7988,0x7949,0x7908,0x78C6,0x7883,0x783E,0x77F9,0x77B2,0x776A,0x7722,0x76D7,0x768C, - 0x7640,0x75F2,0x75A4,0x7554,0x7503,0x74B1,0x745E,0x740A,0x73B4,0x735E,0x7306,0x72AD,0x7253,0x71F8,0x719C,0x713F, - 0x70E1,0x7082,0x7021,0x6FC0,0x6F5D,0x6EFA,0x6E95,0x6E2F,0x6DC8,0x6D60,0x6CF8,0x6C8E,0x6C22,0x6BB6,0x6B49,0x6ADB, - 0x6A6C,0x69FC,0x698A,0x6918,0x68A5,0x6831,0x67BB,0x6745,0x66CE,0x6656,0x65DC,0x6562,0x64E7,0x646B,0x63EE,0x6370, - 0x62F0,0x6270,0x61EF,0x616E,0x60EB,0x6067,0x5FE2,0x5F5D,0x5ED6,0x5E4F,0x5DC6,0x5D3D,0x5CB3,0x5C28,0x5B9C,0x5B0F, - 0x5A81,0x59F2,0x5963,0x58D3,0x5841,0x57AF,0x571D,0x5689,0x55F4,0x555F,0x54C9,0x5432,0x539A,0x5301,0x5268,0x51CE, - 0x5133,0x5097,0x4FFA,0x4F5D,0x4EBF,0x4E20,0x4D80,0x4CE0,0x4C3F,0x4B9D,0x4AFA,0x4A57,0x49B3,0x490E,0x4869,0x47C3, - 0x471C,0x4674,0x45CC,0x4523,0x447A,0x43D0,0x4325,0x4279,0x41CD,0x4120,0x4073,0x3FC5,0x3F16,0x3E67,0x3DB7,0x3D07, - 0x3C56,0x3BA4,0x3AF2,0x3A3F,0x398C,0x38D8,0x3824,0x376F,0x36B9,0x3603,0x354D,0x3496,0x33DE,0x3326,0x326E,0x31B5, - 0x30FB,0x3041,0x2F87,0x2ECC,0x2E10,0x2D55,0x2C98,0x2BDC,0x2B1F,0x2A61,0x29A3,0x28E5,0x2826,0x2767,0x26A8,0x25E8, - 0x2527,0x2467,0x23A6,0x22E5,0x2223,0x2161,0x209F,0x1FDC,0x1F19,0x1E56,0x1D93,0x1CCF,0x1C0B,0x1B47,0x1A82,0x19BD, - 0x18F8,0x1833,0x176D,0x16A8,0x15E2,0x151C,0x1455,0x138F,0x12C8,0x1201,0x113A,0x1072,0x0FAB,0x0EE3,0x0E1C,0x0D54, - 0x0C8C,0x0BC3,0x0AFB,0x0A33,0x096A,0x08A2,0x07D9,0x0711,0x0648,0x057F,0x04B6,0x03ED,0x0324,0x025B,0x0192,0x00C9, - 0x0000,0xFF37,0xFE6E,0xFDA5,0xFCDC,0xFC13,0xFB4A,0xFA81,0xF9B8,0xF8EF,0xF827,0xF75E,0xF696,0xF5CD,0xF505,0xF43D, - 0xF374,0xF2AC,0xF1E4,0xF11D,0xF055,0xEF8E,0xEEC6,0xEDFF,0xED38,0xEC71,0xEBAB,0xEAE4,0xEA1E,0xE958,0xE893,0xE7CD, - 0xE708,0xE643,0xE57E,0xE4B9,0xE3F5,0xE331,0xE26D,0xE1AA,0xE0E7,0xE024,0xDF61,0xDE9F,0xDDDD,0xDD1B,0xDC5A,0xDB99, - 0xDAD9,0xDA18,0xD958,0xD899,0xD7DA,0xD71B,0xD65D,0xD59F,0xD4E1,0xD424,0xD368,0xD2AB,0xD1F0,0xD134,0xD079,0xCFBF, - 0xCF05,0xCE4B,0xCD92,0xCCDA,0xCC22,0xCB6A,0xCAB3,0xC9FD,0xC947,0xC891,0xC7DC,0xC728,0xC674,0xC5C1,0xC50E,0xC45C, - 0xC3AA,0xC2F9,0xC249,0xC199,0xC0EA,0xC03B,0xBF8D,0xBEE0,0xBE33,0xBD87,0xBCDB,0xBC30,0xBB86,0xBADD,0xBA34,0xB98C, - 0xB8E4,0xB83D,0xB797,0xB6F2,0xB64D,0xB5A9,0xB506,0xB463,0xB3C1,0xB320,0xB280,0xB1E0,0xB141,0xB0A3,0xB006,0xAF69, - 0xAECD,0xAE32,0xAD98,0xACFF,0xAC66,0xABCE,0xAB37,0xAAA1,0xAA0C,0xA977,0xA8E3,0xA851,0xA7BF,0xA72D,0xA69D,0xA60E, - 0xA57F,0xA4F1,0xA464,0xA3D8,0xA34D,0xA2C3,0xA23A,0xA1B1,0xA12A,0xA0A3,0xA01E,0x9F99,0x9F15,0x9E92,0x9E11,0x9D90, - 0x9D10,0x9C90,0x9C12,0x9B95,0x9B19,0x9A9E,0x9A24,0x99AA,0x9932,0x98BB,0x9845,0x97CF,0x975B,0x96E8,0x9676,0x9604, - 0x9594,0x9525,0x94B7,0x944A,0x93DE,0x9372,0x9308,0x92A0,0x9238,0x91D1,0x916B,0x9106,0x90A3,0x9040,0x8FDF,0x8F7E, - 0x8F1F,0x8EC1,0x8E64,0x8E08,0x8DAD,0x8D53,0x8CFA,0x8CA2,0x8C4C,0x8BF6,0x8BA2,0x8B4F,0x8AFD,0x8AAC,0x8A5C,0x8A0E, - 0x89C0,0x8974,0x8929,0x88DE,0x8896,0x884E,0x8807,0x87C2,0x877D,0x873A,0x86F8,0x86B7,0x8678,0x8639,0x85FC,0x85C0, - 0x8585,0x854B,0x8513,0x84DB,0x84A5,0x8470,0x843C,0x8409,0x83D8,0x83A8,0x8379,0x834B,0x831E,0x82F3,0x82C8,0x829F, - 0x8278,0x8251,0x822C,0x8207,0x81E4,0x81C3,0x81A2,0x8183,0x8165,0x8148,0x812C,0x8112,0x80F8,0x80E0,0x80CA,0x80B4, - 0x80A0,0x808D,0x807B,0x806A,0x805B,0x804D,0x8040,0x8034,0x8029,0x8020,0x8018,0x8011,0x800C,0x8008,0x8004,0x8003, - 0x8002,0x8003,0x8004,0x8008,0x800C,0x8011,0x8018,0x8020,0x8029,0x8034,0x8040,0x804D,0x805B,0x806A,0x807B,0x808D, - 0x80A0,0x80B4,0x80CA,0x80E0,0x80F8,0x8112,0x812C,0x8148,0x8165,0x8183,0x81A2,0x81C3,0x81E4,0x8207,0x822C,0x8251, - 0x8278,0x829F,0x82C8,0x82F3,0x831E,0x834B,0x8379,0x83A8,0x83D8,0x8409,0x843C,0x8470,0x84A5,0x84DB,0x8513,0x854B, - 0x8585,0x85C0,0x85FC,0x8639,0x8678,0x86B7,0x86F8,0x873A,0x877D,0x87C2,0x8807,0x884E,0x8896,0x88DE,0x8929,0x8974, - 0x89C0,0x8A0E,0x8A5C,0x8AAC,0x8AFD,0x8B4F,0x8BA2,0x8BF6,0x8C4C,0x8CA2,0x8CFA,0x8D53,0x8DAD,0x8E08,0x8E64,0x8EC1, - 0x8F1F,0x8F7E,0x8FDF,0x9040,0x90A3,0x9106,0x916B,0x91D1,0x9238,0x92A0,0x9308,0x9372,0x93DE,0x944A,0x94B7,0x9525, - 0x9594,0x9604,0x9676,0x96E8,0x975B,0x97CF,0x9845,0x98BB,0x9932,0x99AA,0x9A24,0x9A9E,0x9B19,0x9B95,0x9C12,0x9C90, - 0x9D10,0x9D90,0x9E11,0x9E92,0x9F15,0x9F99,0xA01E,0xA0A3,0xA12A,0xA1B1,0xA23A,0xA2C3,0xA34D,0xA3D8,0xA464,0xA4F1, - 0xA57F,0xA60E,0xA69D,0xA72D,0xA7BF,0xA851,0xA8E3,0xA977,0xAA0C,0xAAA1,0xAB37,0xABCE,0xAC66,0xACFF,0xAD98,0xAE32, - 0xAECD,0xAF69,0xB006,0xB0A3,0xB141,0xB1E0,0xB280,0xB320,0xB3C1,0xB463,0xB506,0xB5A9,0xB64D,0xB6F2,0xB797,0xB83D, - 0xB8E4,0xB98C,0xBA34,0xBADD,0xBB86,0xBC30,0xBCDB,0xBD87,0xBE33,0xBEE0,0xBF8D,0xC03B,0xC0EA,0xC199,0xC249,0xC2F9, - 0xC3AA,0xC45C,0xC50E,0xC5C1,0xC674,0xC728,0xC7DC,0xC891,0xC947,0xC9FD,0xCAB3,0xCB6A,0xCC22,0xCCDA,0xCD92,0xCE4B, - 0xCF05,0xCFBF,0xD079,0xD134,0xD1F0,0xD2AB,0xD368,0xD424,0xD4E1,0xD59F,0xD65D,0xD71B,0xD7DA,0xD899,0xD958,0xDA18, - 0xDAD9,0xDB99,0xDC5A,0xDD1B,0xDDDD,0xDE9F,0xDF61,0xE024,0xE0E7,0xE1AA,0xE26D,0xE331,0xE3F5,0xE4B9,0xE57E,0xE643, - 0xE708,0xE7CD,0xE893,0xE958,0xEA1E,0xEAE4,0xEBAB,0xEC71,0xED38,0xEDFF,0xEEC6,0xEF8E,0xF055,0xF11D,0xF1E4,0xF2AC, - 0xF374,0xF43D,0xF505,0xF5CD,0xF696,0xF75E,0xF827,0xF8EF,0xF9B8,0xFA81,0xFB4A,0xFC13,0xFCDC,0xFDA5,0xFE6E,0xFF37, - 0x0000,0x00C9,0x0192,0x025B,0x0324,0x03ED,0x04B6,0x057F,0x0648,0x0711,0x07D9,0x08A2,0x096A,0x0A33,0x0AFB,0x0BC3, - 0x0C8C,0x0D54,0x0E1C,0x0EE3,0x0FAB,0x1072,0x113A,0x1201,0x12C8,0x138F,0x1455,0x151C,0x15E2,0x16A8,0x176D,0x1833, - 0x18F8,0x19BD,0x1A82,0x1B47,0x1C0B,0x1CCF,0x1D93,0x1E56,0x1F19,0x1FDC,0x209F,0x2161,0x2223,0x22E5,0x23A6,0x2467, - 0x2527,0x25E8,0x26A8,0x2767,0x2826,0x28E5,0x29A3,0x2A61,0x2B1F,0x2BDC,0x2C98,0x2D55,0x2E10,0x2ECC,0x2F87,0x3041, - 0x30FB,0x31B5,0x326E,0x3326,0x33DE,0x3496,0x354D,0x3603,0x36B9,0x376F,0x3824,0x38D8,0x398C,0x3A3F,0x3AF2,0x3BA4, - 0x3C56,0x3D07,0x3DB7,0x3E67,0x3F16,0x3FC5,0x4073,0x4120,0x41CD,0x4279,0x4325,0x43D0,0x447A,0x4523,0x45CC,0x4674, - 0x471C,0x47C3,0x4869,0x490E,0x49B3,0x4A57,0x4AFA,0x4B9D,0x4C3F,0x4CE0,0x4D80,0x4E20,0x4EBF,0x4F5D,0x4FFA,0x5097, - 0x5133,0x51CE,0x5268,0x5301,0x539A,0x5432,0x54C9,0x555F,0x55F4,0x5689,0x571D,0x57AF,0x5841,0x58D3,0x5963,0x59F2, - 0x5A81,0x5B0F,0x5B9C,0x5C28,0x5CB3,0x5D3D,0x5DC6,0x5E4F,0x5ED6,0x5F5D,0x5FE2,0x6067,0x60EB,0x616E,0x61EF,0x6270, - 0x62F0,0x6370,0x63EE,0x646B,0x64E7,0x6562,0x65DC,0x6656,0x66CE,0x6745,0x67BB,0x6831,0x68A5,0x6918,0x698A,0x69FC, - 0x6A6C,0x6ADB,0x6B49,0x6BB6,0x6C22,0x6C8E,0x6CF8,0x6D60,0x6DC8,0x6E2F,0x6E95,0x6EFA,0x6F5D,0x6FC0,0x7021,0x7082, - 0x70E1,0x713F,0x719C,0x71F8,0x7253,0x72AD,0x7306,0x735E,0x73B4,0x740A,0x745E,0x74B1,0x7503,0x7554,0x75A4,0x75F2, - 0x7640,0x768C,0x76D7,0x7722,0x776A,0x77B2,0x77F9,0x783E,0x7883,0x78C6,0x7908,0x7949,0x7988,0x79C7,0x7A04,0x7A40, - 0x7A7B,0x7AB5,0x7AED,0x7B25,0x7B5B,0x7B90,0x7BC4,0x7BF7,0x7C28,0x7C58,0x7C87,0x7CB5,0x7CE2,0x7D0D,0x7D38,0x7D61, - 0x7D88,0x7DAF,0x7DD4,0x7DF9,0x7E1C,0x7E3D,0x7E5E,0x7E7D,0x7E9B,0x7EB8,0x7ED4,0x7EEE,0x7F08,0x7F20,0x7F36,0x7F4C, - 0x7F60,0x7F73,0x7F85,0x7F96,0x7FA5,0x7FB3,0x7FC0,0x7FCC,0x7FD7,0x7FE0,0x7FE8,0x7FEF,0x7FF4,0x7FF8,0x7FFC,0x7FFD -}; +#include // sprintf() +#include +#include "ft2_header.h" +#include "ft2_gui.h" +#include "ft2_pattern_ed.h" +#include "ft2_gfxdata.h" +#include "ft2_video.h" +#include "ft2_tables.h" + +// ported from original FT2 code + +#define NUM_STARS 512 +#define ABOUT_SCREEN_W 626 +#define ABOUT_SCREEN_H 167 +#define FT2_LOGO_W 449 +#define FT2_LOGO_H 75 +#define ABOUT_TEXT_W 349 +#define ABOUT_TEXT_H 29 + +typedef struct +{ + int16_t x, y, z; +} vector_t; + +typedef struct +{ + uint16_t x, y, z; +} rotate_t; + +typedef struct +{ + vector_t x, y, z; +} matrix_t; + +static const uint8_t starColConv[24] = { 2,2,2,2,2,2,2,2, 2,2,2,1,1,1,3,3, 3,3,3,3,3,3,3,3 }; +static const int16_t *sin32767 = sinusTables, *cos32767 = &sinusTables[256]; +static int16_t hastighet; +static int32_t lastStarScreenPos[NUM_STARS]; +static uint32_t randSeed; +static vector_t starcrd[NUM_STARS]; +static rotate_t star_a; +static matrix_t starmat; + +void seedAboutScreenRandom(uint32_t newseed) +{ + randSeed = newseed; +} + +static inline int32_t random32(int32_t l) // Turbo Pascal Random() implementation +{ + int32_t r; + + randSeed *= 134775813; + randSeed += 1; + + r = (int32_t)(((int64_t)randSeed * l) >> 32); + return r; +} + +static void fixaMatris(rotate_t a, matrix_t *mat) +{ + int16_t sa, sb, sc, ca, cb, cc; + + sa = sin32767[a.x >> 6]; + ca = cos32767[a.x >> 6]; + sb = sin32767[a.y >> 6]; + cb = cos32767[a.y >> 6]; + sc = sin32767[a.z >> 6]; + cc = cos32767[a.z >> 6]; + + mat->x.x = ((ca * cc) >> 16) + (((sc * ((sa * sb) >> 16)) >> 16) << 1); + mat->y.x = (sa * cb) >> 16; + mat->z.x = (((cc * ((sa * sb) >> 16)) >> 16) << 1) - ((ca * sc) >> 16); + + mat->x.y = (((sc * ((ca * sb) >> 16)) >> 16) << 1) - ((sa * cc) >> 16); + mat->y.y = (ca * cb) >> 16; + mat->z.y = ((sa * sc) >> 16) + (((cc * ((ca * sb) >> 16)) >> 16) << 1); + + mat->x.z = (cb * sc) >> 16; + mat->y.z = 0 - (sb >> 1); + mat->z.z = (cb * cc) >> 16; +} + +static inline int32_t sqr(int32_t x) +{ + return x * x; +} + +static void aboutInit(void) +{ + uint8_t type; + int16_t i; + int32_t r, n, w, h; + double ww; + + type = (uint8_t)random32(4); + switch (type) + { + case 0: + { + hastighet = 309; + for (i = 0; i < NUM_STARS; i++) + { + starcrd[i].z = (int16_t)random32(0xFFFF) - 0x8000; + starcrd[i].y = (int16_t)random32(0xFFFF) - 0x8000; + starcrd[i].x = (int16_t)random32(0xFFFF) - 0x8000; + } + } + break; + + case 1: + { + hastighet = 0; + for (i = 0; i < NUM_STARS; i++) + { + if (i < NUM_STARS/4) + { + starcrd[i].z = (int16_t)random32(0xFFFF) - 0x8000; + starcrd[i].y = (int16_t)random32(0xFFFF) - 0x8000; + starcrd[i].x = (int16_t)random32(0xFFFF) - 0x8000; + } + else + { + r = random32(30000); + n = random32(5); + w = ((2 * random32(2)) - 1) * sqr(random32(1000)); + ww = (((M_PI * 2.0) / 5.0) * n) + (r / 12000.0) + (w / 3000000.0); + h = ((sqr(r) / 30000) * (random32(10000) - 5000)) / 12000; + + starcrd[i].x = (int16_t)(r * cos(ww)); + starcrd[i].y = (int16_t)(r * sin(ww)); + starcrd[i].z = (int16_t)h; + } + } + } + break; + + case 2: + case 3: + { + hastighet = 0; + for (i = 0; i < NUM_STARS; i++) + { + r = (int32_t)round(sqrt(random32(500) * 500)); + w = random32(3000); + h = cos32767[(((w * 8) + r) / 16) & 1023] / 4; + + starcrd[i].z = (int16_t)((cos32767[w & 1023] * (w + r)) / 3500); + starcrd[i].y = (int16_t)((sin32767[w & 1023] * (w + r)) / 3500); + starcrd[i].x = (int16_t)((h * r) / 500); + } + } + break; + + default: + break; + } + + star_a.x = 0; + star_a.y = 748; + star_a.z = 200; + + for (i = 0; i < NUM_STARS; i++) + lastStarScreenPos[i] = -1; +} + +static void realStars(void) +{ + uint8_t col; + int16_t x, y, z, xx, xy, xz, yx, yy, yz, zx, zy, zz; + int32_t screenBufferPos; + vector_t *star; + + xx = starmat.x.x; xy = starmat.x.y; xz = starmat.x.z; + yx = starmat.y.x; yy = starmat.y.y; yz = starmat.y.z; + zx = starmat.z.x; zy = starmat.z.y; zz = starmat.z.z; + + for (int16_t i = 0; i < NUM_STARS; i++) + { + // erase last star pixel + screenBufferPos = lastStarScreenPos[i]; + if (screenBufferPos >= 0) + { + if (!(video.frameBuffer[screenBufferPos] & 0xFF000000)) + video.frameBuffer[screenBufferPos] = video.palette[PAL_BCKGRND]; + + lastStarScreenPos[i] = -1; + } + + star = &starcrd[i]; + star->z += hastighet; + + z = ((xz * star->x) >> 16) + ((yz * star->y) >> 16) + ((zz * star->z) >> 16); + z += 9000; + if (z <= 100) + continue; + + y = ((xy * star->x) >> 16) + ((yy * star->y) >> 16) + ((zy * star->z) >> 16); + y = (int16_t)((y << 7) / z) + 84; + if ((uint16_t)y >= 173-6) + continue; + + x = ((xx * star->x) >> 16) + ((yx * star->y) >> 16) + ((zx * star->z) >> 16); + x = (int16_t)((((x >> 2) + x) << 7) / z) + (320-8); + if ((uint16_t)x >= 640-16) + continue; + + // render star pixel if the pixel under it is the background + screenBufferPos = ((y + 4) * SCREEN_W) + (x + 4); + if ((video.frameBuffer[screenBufferPos] >> 24) == PAL_BCKGRND) + { + col = ((uint8_t)~(z >> 8) >> 3) - (22 - 8); + if (col < 24) + { + video.frameBuffer[screenBufferPos] = video.palette[starColConv[col]] & 0x00FFFFFF; + lastStarScreenPos[i] = screenBufferPos; + } + } + } +} + +void aboutFrame(void) +{ + star_a.x += 3*64; + star_a.y += 2*64; + star_a.z -= 1*64; + + fixaMatris(star_a, &starmat); + realStars(); +} + +void showAboutScreen(void) // called once when About screen is opened +{ +#define TEXT_BORDER_COL 0x2E2E2E + + const char *infoString = "Clone by Olav \"8bitbubsy\" S\025rensen - https://16-bits.org"; + char verText[32]; + uint16_t x, y; + + if (editor.ui.extended) + exitPatternEditorExtended(); + + hideTopScreen(); + + drawFramework(0, 0, 632, 173, FRAMEWORK_TYPE1); + drawFramework(2, 2, 628, 169, FRAMEWORK_TYPE2); + + showPushButton(PB_EXIT_ABOUT); + + blit32(91, 31, ft2Logo, FT2_LOGO_W, FT2_LOGO_H); + blit(146, 113, aboutText, ABOUT_TEXT_W, ABOUT_TEXT_H); + + setCustomPalColor(TEXT_BORDER_COL); // sets PAL_CUSTOM + + x = 5 + (SCREEN_W - textWidth(infoString)) / 2; + y = 147; + textOutBorder(x, y, PAL_FORGRND, PAL_CUSTOM, infoString); + + sprintf(verText, "v%s (compiled on %s)", PROG_VER_STR, __DATE__); + x = ((3 + ABOUT_SCREEN_W) - textWidth(verText)) / 2; + y = (3 + ABOUT_SCREEN_H) - ((FONT1_CHAR_H - 2) + 3); + textOutBorder(x, y, PAL_FORGRND, PAL_CUSTOM, verText); + + aboutInit(); + + editor.ui.aboutScreenShown = true; +} + +void hideAboutScreen(void) +{ + hidePushButton(PB_EXIT_ABOUT); + editor.ui.aboutScreenShown = false; +} + +void exitAboutScreen(void) +{ + hideAboutScreen(); + showTopScreen(true); +} diff --git a/src/ft2_about.h b/src/ft2_about.h index 54c942b..b420beb 100644 --- a/src/ft2_about.h +++ b/src/ft2_about.h @@ -1,9 +1,9 @@ -#pragma once - -#include - -void aboutFrame(void); -void seedAboutScreenRandom(uint32_t newseed); -void showAboutScreen(void); -void hideAboutScreen(void); -void exitAboutScreen(void); +#pragma once + +#include + +void aboutFrame(void); +void seedAboutScreenRandom(uint32_t newseed); +void showAboutScreen(void); +void hideAboutScreen(void); +void exitAboutScreen(void); diff --git a/src/ft2_audio.c b/src/ft2_audio.c index d20fca0..83025e1 100644 --- a/src/ft2_audio.c +++ b/src/ft2_audio.c @@ -1,1424 +1,1225 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include "ft2_header.h" -#include "ft2_config.h" -#include "ft2_scopes.h" -#include "ft2_video.h" -#include "ft2_gui.h" -#include "ft2_midi.h" -#include "ft2_wav_renderer.h" -#include "ft2_module_loader.h" -#include "ft2_mix.h" -#include "ft2_audio.h" - -#define INITIAL_DITHER_SEED 0x12345000 - -static int8_t pmpCountDiv, pmpChannels = 2; -static uint16_t smpBuffSize; -static int32_t masterVol, amp, oldAudioFreq, speedVal, pmpLeft, randSeed = INITIAL_DITHER_SEED; -static uint32_t tickTimeLen, tickTimeLenFrac, oldSFrq, oldSFrqRev = 0xFFFFFFFF; -static float fAudioAmpMul; -static voice_t voice[MAX_VOICES * 2]; -static void (*sendAudSamplesFunc)(uint8_t *, uint32_t, uint8_t); // "send mixed samples" routines - -pattSyncData_t *pattSyncEntry; -chSyncData_t *chSyncEntry; - -volatile bool pattQueueReading, pattQueueClearing, chQueueReading, chQueueClearing; - -extern const uint32_t panningTab[257]; // defined at the bottom of this file - -void resetOldRevFreqs(void) -{ - oldSFrq = 0; - oldSFrqRev = 0xFFFFFFFF; -} - -void stopVoice(uint8_t i) -{ - voice_t *v; - - v = &voice[i]; - memset(v, 0, sizeof (voice_t)); - v->SPan = 128; - - // clear "fade out" voice too - - v = &voice[MAX_VOICES + i]; - memset(v, 0, sizeof (voice_t)); - v->SPan = 128; -} - -bool setNewAudioSettings(void) // only call this from the main input/video thread -{ - uint32_t stringLen; - - pauseAudio(); - - if (!setupAudio(CONFIG_HIDE_ERRORS)) - { - // set back old known working settings - - config.audioFreq = audio.lastWorkingAudioFreq; - config.specialFlags &= ~(BITDEPTH_16 + BITDEPTH_24 + BUFFSIZE_512 + BUFFSIZE_1024 + BUFFSIZE_2048 + BUFFSIZE_4096); - config.specialFlags |= audio.lastWorkingAudioBits; - - if (audio.lastWorkingAudioDeviceName != NULL) - { - if (audio.currOutputDevice != NULL) - { - free(audio.currOutputDevice); - audio.currOutputDevice = NULL; - } - - stringLen = (uint32_t)strlen(audio.lastWorkingAudioDeviceName); - - audio.currOutputDevice = (char *)malloc(stringLen + 2); - if (audio.currOutputDevice != NULL) - { - strcpy(audio.currOutputDevice, audio.lastWorkingAudioDeviceName); - audio.currOutputDevice[stringLen + 1] = '\0'; // UTF-8 needs double null termination - } - } - - // also update config audio radio buttons if we're on that screen at the moment - if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES) - setConfigIORadioButtonStates(); - - // if it didn't work to use the old settings again, then something is seriously wrong... - if (!setupAudio(CONFIG_HIDE_ERRORS)) - okBox(0, "System message", "Couldn't find a working audio mode... You'll get no sound / replayer timer!"); - - resumeAudio(); - return false; - } - - resumeAudio(); - return true; -} - -// ampFactor = 1..32, masterVol = 0..256 -void setAudioAmp(int16_t ampFactor, int16_t master, bool bitDepth32Flag) -{ - ampFactor = CLAMP(ampFactor, 1, 32); - master = CLAMP(master, 0, 256); - - // voiceVolume = (vol(0..2047) * amp(1..32) * pan(0..65536)) >> 4 - const float fAudioNorm = 1.0f / (((2047UL * 32 * 65536) / 16) / MAX_VOICES); - - if (bitDepth32Flag) - { - // 32-bit floating point (24-bit) - fAudioAmpMul = fAudioNorm * (master / 256.0f); - } - else - { - // 16-bit integer - masterVol = master; - } - - // calculate channel amp - - if (amp != ampFactor) - { - amp = ampFactor; - - // make all channels update volume because of amp change - for (uint32_t i = 0; i < song.antChn; i++) - stm[i].status |= IS_Vol; - } -} - -void setNewAudioFreq(uint32_t freq) // for song to WAV rendering -{ - if (freq == 0) - return; - - oldAudioFreq = audio.freq; - audio.freq = freq; - - calcReplayRate(audio.freq); -} - -void setBackOldAudioFreq(void) // for song to WAV rendering -{ - audio.freq = oldAudioFreq; - calcReplayRate(audio.freq); -} - -void setSpeed(uint16_t bpm) -{ - double dInt, dFrac; - - if (bpm == 0) - return; - - speedVal = ((audio.freq + audio.freq) + (audio.freq >> 1)) / bpm; // (audio.freq * 2.5) / BPM - if (speedVal > 0) // calculate tick time length for audio/video sync timestamp - { - // number of samples per tick -> tick length for performance counter - dFrac = modf(speedVal * audio.dSpeedValMul, &dInt); - - // integer part - tickTimeLen = (uint32_t)dInt; - - // fractional part (scaled to 0..2^32-1) - dFrac *= UINT32_MAX + 1.0; - if (dFrac > (double)UINT32_MAX) - dFrac = (double)UINT32_MAX; - tickTimeLenFrac = (uint32_t)dFrac; - } -} - -void audioSetVolRamp(bool volRamp) -{ - lockMixerCallback(); - audio.volumeRampingFlag = volRamp; - unlockMixerCallback(); -} - -void audioSetInterpolation(bool interpolation) -{ - lockMixerCallback(); - audio.interpolationFlag = interpolation; - unlockMixerCallback(); -} - -static inline void voiceUpdateVolumes(uint8_t i, uint8_t status) -{ - int32_t volL, volR; - voice_t *v, *f; - - v = &voice[i]; - - volL = v->SVol * amp; // 0..2047 * 1..32 = 0..65504 - - // (0..65504 * 0..65536) >> 4 = 0..268304384 - volR = ((uint32_t)volL * panningTab[v->SPan]) >> 4; - volL = ((uint32_t)volL * panningTab[256 - v->SPan]) >> 4; - - if (!audio.volumeRampingFlag) - { - v->SLVol2 = volL; - v->SRVol2 = volR; - } - else - { - v->SLVol1 = volL; - v->SRVol1 = volR; - - if (status & IS_NyTon) - { - // sample is about to start, ramp out/in at the same time - - // setup "fade out" voice (only if current voice volume>0) - if (v->SLVol2 > 0 || v->SRVol2 > 0) - { - f = &voice[MAX_VOICES + i]; - - *f = *v; // copy voice - - f->SVolIPLen = audio.quickVolSizeVal; - f->SLVolIP = -f->SLVol2 / f->SVolIPLen; - f->SRVolIP = -f->SRVol2 / f->SVolIPLen; - - f->isFadeOutVoice = true; - } - - // make current voice fade in when it starts - v->SLVol2 = 0; - v->SRVol2 = 0; - } - - // ramp volume changes - - /* FT2 has two internal volume ramping lengths: - ** IS_QuickVol: 5ms (audioFreq / 200) - ** Normal: The duration of a tick (speedVal) */ - - if (volL == v->SLVol2 && volR == v->SRVol2) - { - v->SVolIPLen = 0; // there is no volume change - } - else - { - v->SVolIPLen = (status & IS_QuickVol) ? audio.quickVolSizeVal : speedVal; - v->SLVolIP = (volL - v->SLVol2) / v->SVolIPLen; - v->SRVolIP = (volR - v->SRVol2) / v->SVolIPLen; - } - } -} - -static void voiceTrigger(uint8_t i, sampleTyp *s, int32_t position) -{ - bool sampleIs16Bit; - uint8_t loopType; - int32_t oldSLen, length, loopBegin, loopLength; - voice_t *v; - - v = &voice[i]; - - length = s->len; - loopBegin = s->repS; - loopLength = s->repL; - loopType = s->typ & 3; - sampleIs16Bit = (s->typ >> 4) & 1; - - if (sampleIs16Bit) - { - assert(!(length & 1)); - assert(!(loopBegin & 1)); - assert(!(loopLength & 1)); - - length >>= 1; - loopBegin >>= 1; - loopLength >>= 1; - } - - if (s->pek == NULL || length < 1) - { - v->mixRoutine = NULL; // shut down voice (illegal parameters) - return; - } - - if (loopLength < 1) // disable loop if loopLength is below 1 - loopType = 0; - - if (sampleIs16Bit) - { - v->SBase16 = (const int16_t *)s->pek; - v->SRevBase16 = &v->SBase16[loopBegin + (loopBegin + loopLength)]; // for pingpong loops - } - else - { - v->SBase8 = s->pek; - v->SRevBase8 = &v->SBase8[loopBegin + (loopBegin + loopLength)]; // for pingpong loops - } - - v->backwards = false; - v->SLen = (loopType > 0) ? (loopBegin + loopLength) : length; - v->SRepS = loopBegin; - v->SRepL = loopLength; - v->SPos = position; - v->SPosDec = 0; // position fraction - - // if 9xx position overflows, shut down voice - oldSLen = (loopType > 0) ? (loopBegin + loopLength) : length; - if (v->SPos >= oldSLen) - { - v->mixRoutine = NULL; - return; - } - - v->mixRoutine = mixRoutineTable[(sampleIs16Bit * 12) + (audio.volumeRampingFlag * 6) + (audio.interpolationFlag * 3) + loopType]; -} - -void mix_SaveIPVolumes(void) // for volume ramping -{ - voice_t *v; - for (uint32_t i = 0; i < song.antChn; i++) - { - v = &voice[i]; - v->SLVol2 = v->SLVol1; - v->SRVol2 = v->SRVol1; - v->SVolIPLen = 0; - } -} - -void mix_UpdateChannelVolPanFrq(void) -{ - uint8_t status; - uint16_t vol; - stmTyp *ch; - voice_t *v; - - for (uint8_t i = 0; i < song.antChn; i++) - { - ch = &stm[i]; - v = &voice[i]; - - status = ch->tmpStatus = ch->status; // ch->tmpStatus is used for audio/video sync queue - if (status != 0) - { - ch->status = 0; - - // volume change - if (status & IS_Vol) - { - vol = ch->finalVol; - if (vol > 0) // yes, FT2 does this! - vol--; - - v->SVol = vol; - } - - // panning change - if (status & IS_Pan) - v->SPan = ch->finalPan; - - // update mixing volumes if vol/pan change - if (status & (IS_Vol + IS_Pan)) - voiceUpdateVolumes(i, status); - - // frequency change - if (status & IS_Period) - { - v->SFrq = getFrequenceValue(ch->finalPeriod); - - if (v->SFrq != oldSFrq) - { - oldSFrq = v->SFrq; - - oldSFrqRev = 0xFFFFFFFF; - if (oldSFrq != 0) - oldSFrqRev /= oldSFrq; - } - - v->SFrqRev = oldSFrqRev; - } - - // sample trigger (note) - if (status & IS_NyTon) - voiceTrigger(i, ch->smpPtr, ch->smpStartPos); - } - } -} - -void resetDitherSeed(void) -{ - randSeed = INITIAL_DITHER_SEED; -} - -// Delphi/Pascal LCG Random() (without limit). Suitable for 32-bit random numbers -static inline uint32_t random32(void) -{ - randSeed *= 134775813; - randSeed++; - - return randSeed; -} - -static void sendSamples16BitStereo(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels) -{ - int16_t *streamPointer16; - int32_t out32; - - (void)numAudioChannels; - - streamPointer16 = (int16_t *)stream; - - if (masterVol == 256) // max master volume - { - for (uint32_t i = 0; i < sampleBlockLength; i++) - { - // left channel - out32 = audio.mixBufferL[i] >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - - // right channel - out32 = audio.mixBufferR[i] >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - } - } - else - { - for (uint32_t i = 0; i < sampleBlockLength; i++) - { - // left channel - out32 = ((audio.mixBufferL[i] >> 8) * masterVol) >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - - // right channel - out32 = ((audio.mixBufferR[i] >> 8) * masterVol) >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - } - } -} - -static void sendSamples16BitMultiChan(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels) -{ - int16_t *streamPointer16; - int32_t out32; - uint32_t i, j; - - streamPointer16 = (int16_t *)stream; - - if (masterVol == 256) // max master volume - { - for (i = 0; i < sampleBlockLength; i++) - { - // left channel - out32 = audio.mixBufferL[i] >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - - // right channel - out32 = audio.mixBufferR[i] >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - - for (j = 2; j < numAudioChannels; j++) - *streamPointer16++ = 0; - } - } - else - { - for (i = 0; i < sampleBlockLength; i++) - { - // left channel - out32 = ((audio.mixBufferL[i] >> 8) * masterVol) >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - - // right channel - out32 = ((audio.mixBufferR[i] >> 8) * masterVol) >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - - for (j = 2; j < numAudioChannels; j++) - *streamPointer16++ = 0; - } - } -} - -static void sendSamples16BitDitherStereo(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels) -{ - int16_t *streamPointer16; - int32_t dither, out32; - - (void)numAudioChannels; - - streamPointer16 = (int16_t *)stream; - - if (masterVol == 256) // max master volume - { - for (uint32_t i = 0; i < sampleBlockLength; i++) - { - // left channel - dither = ((random32() % 3) - 1) << (8 - 1); // random 1.5-bit noise: -128, 0, 128 - out32 = (audio.mixBufferL[i] + dither) >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - - // right channel - dither = ((random32() % 3) - 1) << (8 - 1); - out32 = (audio.mixBufferR[i] + dither) >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - } - } - else - { - for (uint32_t i = 0; i < sampleBlockLength; i++) - { - // left channel - dither = ((random32() % 3) - 1) << (8 - 1); // random 1.5-bit noise: -128, 0, 128 - out32 = (audio.mixBufferL[i] + dither) >> 8; - dither = ((random32() % 3) - 1) << (8 - 1); - out32 = ((out32 * masterVol) + dither) >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - - // right channel - dither = ((random32() % 3) - 1) << (8 - 1); - out32 = (audio.mixBufferR[i] + dither) >> 8; - dither = ((random32() % 3) - 1) << (8 - 1); - out32 = ((out32 * masterVol) + dither) >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - } - } -} - -static void sendSamples16BitDitherMultiChan(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels) -{ - int16_t *streamPointer16; - int32_t dither, out32; - - streamPointer16 = (int16_t *)stream; - - if (masterVol == 256) // max master volume - { - for (uint32_t i = 0; i < sampleBlockLength; i++) - { - // left channel - dither = ((random32() % 3) - 1) << (8 - 1); // random 1.5-bit noise: -128, 0, 128 - out32 = (audio.mixBufferL[i] + dither) >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - - // right channel - dither = ((random32() % 3) - 1) << (8 - 1); - out32 = (audio.mixBufferR[i] + dither) >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - - for (uint32_t j = 2; j < numAudioChannels; j++) - *streamPointer16++ = 0; - } - } - else - { - for (uint32_t i = 0; i < sampleBlockLength; i++) - { - // left channel - dither = ((random32() % 3) - 1) << (8 - 1); // random 1.5-bit noise: -128, 0, 128 - out32 = (audio.mixBufferL[i] + dither) >> 8; - dither = ((random32() % 3) - 1) << (8 - 1); - out32 = ((out32 * masterVol) + dither) >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - - // right channel - dither = ((random32() % 3) - 1) << (8 - 1); - out32 = (audio.mixBufferR[i] + dither) >> 8; - dither = ((random32() % 3) - 1) << (8 - 1); - out32 = ((out32 * masterVol) + dither) >> 8; - CLAMP16(out32); - *streamPointer16++ = (int16_t)out32; - - for (uint32_t j = 2; j < numAudioChannels; j++) - *streamPointer16++ = 0; - } - } -} - -static void sendSamples24BitStereo(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels) -{ - float fOut, *fStreamPointer24; - - (void)numAudioChannels; - - fStreamPointer24 = (float *)stream; - for (uint32_t i = 0; i < sampleBlockLength; i++) - { - // left channel - fOut = audio.mixBufferL[i] * fAudioAmpMul; - fOut = CLAMP(fOut, -1.0f, 1.0f); - *fStreamPointer24++ = fOut; - - // right channel - fOut = audio.mixBufferR[i] * fAudioAmpMul; - fOut = CLAMP(fOut, -1.0f, 1.0f); - *fStreamPointer24++ = fOut; - } -} - -static void sendSamples24BitMultiChan(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels) -{ - float fOut, *fStreamPointer24; - - fStreamPointer24 = (float *)stream; - for (uint32_t i = 0; i < sampleBlockLength; i++) - { - // left channel - fOut = audio.mixBufferL[i] * fAudioAmpMul; - fOut = CLAMP(fOut, -1.0f, 1.0f); - *fStreamPointer24++ = fOut; - - // right channel - fOut = audio.mixBufferR[i] * fAudioAmpMul; - fOut = CLAMP(fOut, -1.0f, 1.0f); - *fStreamPointer24++ = fOut; - - for (uint32_t j = 2; j < numAudioChannels; j++) - *fStreamPointer24++ = 0.0f; - } -} - -static void mixAudio(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels) -{ - voice_t *v = voice; - - assert(sampleBlockLength <= MAX_WAV_RENDER_SAMPLES_PER_TICK); - memset(audio.mixBufferL, 0, sampleBlockLength * sizeof (int32_t)); - memset(audio.mixBufferR, 0, sampleBlockLength * sizeof (int32_t)); - - // mix channels - for (uint32_t i = 0; i < song.antChn; i++) - { - // call the mixing routine currently set for the voice - if (v->mixRoutine != NULL) - v->mixRoutine(v, sampleBlockLength); - - // mix fade-out voice - v += MAX_VOICES; - - // call the mixing routine currently set for the voice - if (v->mixRoutine != NULL) - v->mixRoutine(v, sampleBlockLength); - - v -= (MAX_VOICES - 1); // go to next normal channel - } - - // normalize mix buffer and send to audio stream - sendAudSamplesFunc(stream, sampleBlockLength, numAudioChannels); -} - -// used for song-to-WAV renderer -uint32_t mixReplayerTickToBuffer(uint8_t *stream, uint8_t bitDepth) -{ - voice_t *v = voice; - - assert(speedVal <= MAX_WAV_RENDER_SAMPLES_PER_TICK); - memset(audio.mixBufferL, 0, speedVal * sizeof (int32_t)); - memset(audio.mixBufferR, 0, speedVal * sizeof (int32_t)); - - // mix channels - for (uint32_t i = 0; i < song.antChn; i++) - { - // call the mixing routine currently set for the voice - if (v->mixRoutine != NULL) - v->mixRoutine(v, speedVal); - - // mix fade-out voice - v += MAX_VOICES; - - // call the mixing routine currently set for the voice - if (v->mixRoutine != NULL) - v->mixRoutine(v, speedVal); - - v -= (MAX_VOICES - 1); // go to next normal channel - } - - // normalize mix buffer and send to audio stream - if (bitDepth == 16) - { - if (config.specialFlags2 & DITHERED_AUDIO) - sendSamples16BitDitherStereo(stream, speedVal, 2); - else - sendSamples16BitStereo(stream, speedVal, 2); - } - else - { - sendSamples24BitStereo(stream, speedVal, 2); - } - - return speedVal; -} - -int32_t pattQueueReadSize(void) -{ - while (pattQueueClearing); - - if (pattSync.writePos > pattSync.readPos) - return pattSync.writePos - pattSync.readPos; - else if (pattSync.writePos < pattSync.readPos) - return pattSync.writePos - pattSync.readPos + SYNC_QUEUE_LEN + 1; - else - return 0; -} - -int32_t pattQueueWriteSize(void) -{ - int32_t size; - - if (pattSync.writePos > pattSync.readPos) - { - size = pattSync.readPos - pattSync.writePos + SYNC_QUEUE_LEN; - } - else if (pattSync.writePos < pattSync.readPos) - { - pattQueueClearing = true; - - /* Buffer is full, reset the read/write pos. This is actually really nasty since - ** read/write are two different threads, but because of timestamp validation it - ** shouldn't be that dangerous. - ** It will also create a small visual stutter while the buffer is getting filled, - ** though that is barely noticable on normal buffer sizes, and it takes several - ** minutes between each time (when queue size is default, 16384) */ - pattSync.data[0].timestamp = 0; - pattSync.readPos = 0; - pattSync.writePos = 0; - - size = SYNC_QUEUE_LEN; - - pattQueueClearing = false; - } - else - { - size = SYNC_QUEUE_LEN; - } - - return size; -} - -bool pattQueuePush(pattSyncData_t t) -{ - if (!pattQueueWriteSize()) - return false; - - assert(pattSync.writePos <= SYNC_QUEUE_LEN); - pattSync.data[pattSync.writePos] = t; - pattSync.writePos = (pattSync.writePos + 1) & SYNC_QUEUE_LEN; - - return true; -} - -bool pattQueuePop(void) -{ - if (!pattQueueReadSize()) - return false; - - pattSync.readPos = (pattSync.readPos + 1) & SYNC_QUEUE_LEN; - assert(pattSync.readPos <= SYNC_QUEUE_LEN); - - return true; -} - -pattSyncData_t *pattQueuePeek(void) -{ - if (!pattQueueReadSize()) - return NULL; - - assert(pattSync.readPos <= SYNC_QUEUE_LEN); - return &pattSync.data[pattSync.readPos]; -} - -uint64_t getPattQueueTimestamp(void) -{ - if (!pattQueueReadSize()) - return 0; - - assert(pattSync.readPos <= SYNC_QUEUE_LEN); - return pattSync.data[pattSync.readPos].timestamp; -} - -int32_t chQueueReadSize(void) -{ - while (chQueueClearing); - - if (chSync.writePos > chSync.readPos) - return chSync.writePos - chSync.readPos; - else if (chSync.writePos < chSync.readPos) - return chSync.writePos - chSync.readPos + SYNC_QUEUE_LEN + 1; - else - return 0; -} - -int32_t chQueueWriteSize(void) -{ - int32_t size; - - if (chSync.writePos > chSync.readPos) - { - size = chSync.readPos - chSync.writePos + SYNC_QUEUE_LEN; - } - else if (chSync.writePos < chSync.readPos) - { - chQueueClearing = true; - - /* Buffer is full, reset the read/write pos. This is actually really nasty since - ** read/write are two different threads, but because of timestamp validation it - ** shouldn't be that dangerous. - ** It will also create a small visual stutter while the buffer is getting filled, - ** though that is barely noticable on normal buffer sizes, and it takes several - ** minutes between each time (when queue size is default, 16384) */ - chSync.data[0].timestamp = 0; - chSync.readPos = 0; - chSync.writePos = 0; - - size = SYNC_QUEUE_LEN; - - chQueueClearing = false; - } - else - { - size = SYNC_QUEUE_LEN; - } - - return size; -} - -bool chQueuePush(chSyncData_t t) -{ - if (!chQueueWriteSize()) - return false; - - assert(chSync.writePos <= SYNC_QUEUE_LEN); - chSync.data[chSync.writePos] = t; - chSync.writePos = (chSync.writePos + 1) & SYNC_QUEUE_LEN; - - return true; -} - -bool chQueuePop(void) -{ - if (!chQueueReadSize()) - return false; - - chSync.readPos = (chSync.readPos + 1) & SYNC_QUEUE_LEN; - assert(chSync.readPos <= SYNC_QUEUE_LEN); - - return true; -} - -chSyncData_t *chQueuePeek(void) -{ - if (!chQueueReadSize()) - return NULL; - - assert(chSync.readPos <= SYNC_QUEUE_LEN); - return &chSync.data[chSync.readPos]; -} - -uint64_t getChQueueTimestamp(void) -{ - if (!chQueueReadSize()) - return 0; - - assert(chSync.readPos <= SYNC_QUEUE_LEN); - return chSync.data[chSync.readPos].timestamp; -} - -void lockAudio(void) -{ - if (audio.dev != 0) - SDL_LockAudioDevice(audio.dev); - - audio.locked = true; -} - -void unlockAudio(void) -{ - if (audio.dev != 0) - SDL_UnlockAudioDevice(audio.dev); - - audio.locked = false; -} - -static void resetSyncQueues(void) -{ - pattSync.data[0].timestamp = 0; - pattSync.readPos = 0; - pattSync.writePos = 0; - - chSync.data[0].timestamp = 0; - chSync.writePos = 0; - chSync.readPos = 0; -} - -void lockMixerCallback(void) // lock audio + clear voices/scopes (for short operations) -{ - if (!audio.locked) - lockAudio(); - - audio.resetSyncTickTimeFlag = true; - - stopVoices(); // VERY important! prevents potential crashes by purging pointers - - // scopes, mixer and replayer are guaranteed to not be active at this point - - resetSyncQueues(); -} - -void unlockMixerCallback(void) -{ - stopVoices(); // VERY important! prevents potential crashes by purging pointers - - if (audio.locked) - unlockAudio(); -} - -void pauseAudio(void) // lock audio + clear voices/scopes + render silence (for long operations) -{ - if (audioPaused) - { - stopVoices(); // VERY important! prevents potential crashes by purging pointers - return; - } - - if (audio.dev > 0) - SDL_PauseAudioDevice(audio.dev, true); - - audio.resetSyncTickTimeFlag = true; - - stopVoices(); // VERY important! prevents potential crashes by purging pointers - - // scopes, mixer and replayer are guaranteed to not be active at this point - - resetSyncQueues(); - audioPaused = true; -} - -void resumeAudio(void) // unlock audio -{ - if (!audioPaused) - return; - - if (audio.dev > 0) - SDL_PauseAudioDevice(audio.dev, false); - - audioPaused = false; -} - -static void SDLCALL mixCallback(void *userdata, Uint8 *stream, int len) -{ - int32_t a, b; - pattSyncData_t pattSyncData; - chSyncData_t chSyncData; - syncedChannel_t *c; - stmTyp *s; - - (void)userdata; - - assert(len < 65536); // limitation in mixer - assert(pmpCountDiv > 0); - - a = len / pmpCountDiv; - if (a <= 0) - return; - - while (a > 0) - { - if (pmpLeft == 0) - { - // replayer tick - - replayerBusy = true; - - if (audio.volumeRampingFlag) - mix_SaveIPVolumes(); - - mainPlayer(); - mix_UpdateChannelVolPanFrq(); - - // AUDIO/VIDEO SYNC - - if (audio.resetSyncTickTimeFlag) - { - audio.resetSyncTickTimeFlag = false; - - audio.tickTime64 = SDL_GetPerformanceCounter() + audio.audLatencyPerfValInt; - audio.tickTime64Frac = audio.audLatencyPerfValFrac; - } - - if (songPlaying) - { - // push pattern variables to sync queue - pattSyncData.timer = song.curReplayerTimer; - pattSyncData.patternPos = song.curReplayerPattPos; - pattSyncData.pattern = song.curReplayerPattNr; - pattSyncData.songPos = song.curReplayerSongPos; - pattSyncData.speed = (uint8_t)song.speed; - pattSyncData.tempo = (uint8_t)song.tempo; - pattSyncData.globalVol = (uint8_t)song.globVol; - pattSyncData.timestamp = audio.tickTime64; - pattQueuePush(pattSyncData); - } - - // push channel variables to sync queue - for (uint32_t i = 0; i < song.antChn; i++) - { - c = &chSyncData.channels[i]; - s = &stm[i]; - - c->voiceDelta = voice[i].SFrq; - c->finalPeriod = s->finalPeriod; - c->fineTune = s->fineTune; - c->relTonNr = s->relTonNr; - c->instrNr = s->instrNr; - c->sampleNr = s->sampleNr; - c->envSustainActive = s->envSustainActive; - c->status = s->tmpStatus; - c->finalVol = s->finalVol; - c->smpStartPos = s->smpStartPos; - } - - chSyncData.timestamp = audio.tickTime64; - chQueuePush(chSyncData); - - audio.tickTime64 += tickTimeLen; - - audio.tickTime64Frac += tickTimeLenFrac; - if (audio.tickTime64Frac >= (1ULL << 32)) - { - audio.tickTime64Frac &= 0xFFFFFFFF; - audio.tickTime64++; - } - - pmpLeft = speedVal; - replayerBusy = false; - } - - b = a; - if (b > pmpLeft) - b = pmpLeft; - - mixAudio(stream, b, pmpChannels); - stream += (b * pmpCountDiv); - - a -= b; - pmpLeft -= b; - } -} - -static bool setupAudioBuffers(void) -{ - const uint32_t sampleSize = sizeof (int32_t); - - audio.mixBufferL = (int32_t *)malloc(MAX_WAV_RENDER_SAMPLES_PER_TICK * sampleSize); - audio.mixBufferR = (int32_t *)malloc(MAX_WAV_RENDER_SAMPLES_PER_TICK * sampleSize); - - if (audio.mixBufferL == NULL || audio.mixBufferR == NULL) - return false; - - return true; -} - -static void freeAudioBuffers(void) -{ - if (audio.mixBufferL != NULL) - { - free(audio.mixBufferL); - audio.mixBufferL = NULL; - } - - if (audio.mixBufferR != NULL) - { - free(audio.mixBufferR); - audio.mixBufferR = NULL; - } -} - -void updateSendAudSamplesRoutine(bool lockMixer) -{ - if (lockMixer) - lockMixerCallback(); - - // force dither off if somehow set with 24-bit float (illegal) - if ((config.specialFlags2 & DITHERED_AUDIO) && (config.specialFlags & BITDEPTH_24)) - config.specialFlags2 &= ~DITHERED_AUDIO; - - if (config.specialFlags2 & DITHERED_AUDIO) - { - if (config.specialFlags & BITDEPTH_16) - { - if (pmpChannels > 2) - sendAudSamplesFunc = sendSamples16BitDitherMultiChan; - else - sendAudSamplesFunc = sendSamples16BitDitherStereo; - } - } - else - { - if (config.specialFlags & BITDEPTH_16) - { - if (pmpChannels > 2) - sendAudSamplesFunc = sendSamples16BitMultiChan; - else - sendAudSamplesFunc = sendSamples16BitStereo; - } - else - { - if (pmpChannels > 2) - sendAudSamplesFunc = sendSamples24BitMultiChan; - else - sendAudSamplesFunc = sendSamples24BitStereo; - } - } - - if (lockMixer) - unlockMixerCallback(); -} - -static void calcAudioLatencyVars(uint16_t haveSamples, int32_t haveFreq) -{ - double dAudioLatencySecs, dInt, dFrac; - - if (haveFreq == 0) - return; // panic! - - dAudioLatencySecs = haveSamples / (double)haveFreq; - - // dear SDL2, haveSamples and haveFreq better not be bogus values... - dFrac = modf(dAudioLatencySecs * editor.dPerfFreq, &dInt); - - // integer part - audio.audLatencyPerfValInt = (uint32_t)dInt; - - // fractional part (scaled to 0..2^32-1) - dFrac *= UINT32_MAX + 1.0; - if (dFrac > (double)UINT32_MAX) - dFrac = (double)UINT32_MAX; - audio.audLatencyPerfValFrac = (uint32_t)round(dFrac); - - audio.dAudioLatencyMs = dAudioLatencySecs * 1000.0; -} - -static void setLastWorkingAudioDevName(void) -{ - uint32_t stringLen; - - if (audio.lastWorkingAudioDeviceName != NULL) - { - free(audio.lastWorkingAudioDeviceName); - audio.lastWorkingAudioDeviceName = NULL; - } - - if (audio.currOutputDevice != NULL) - { - stringLen = (uint32_t)strlen(audio.currOutputDevice); - - audio.lastWorkingAudioDeviceName = (char *)malloc(stringLen + 2); - if (audio.lastWorkingAudioDeviceName != NULL) - { - if (stringLen > 0) - strcpy(audio.lastWorkingAudioDeviceName, audio.currOutputDevice); - audio.lastWorkingAudioDeviceName[stringLen + 1] = '\0'; // UTF-8 needs double null termination - } - } -} - -bool setupAudio(bool showErrorMsg) -{ - int8_t newBitDepth; - uint16_t configAudioBufSize; - SDL_AudioSpec want, have; - - closeAudio(); - - if (config.audioFreq < MIN_AUDIO_FREQ || config.audioFreq > MAX_AUDIO_FREQ) - { - // set default rate -#ifdef __APPLE__ - config.audioFreq = 44100; -#else - config.audioFreq = 48000; -#endif - } - - // get audio buffer size from config special flags - - configAudioBufSize = 1024; - if (config.specialFlags & BUFFSIZE_512) configAudioBufSize = 512; - else if (config.specialFlags & BUFFSIZE_2048) configAudioBufSize = 2048; - else if (config.specialFlags & BUFFSIZE_4096) configAudioBufSize = 4096; - - audio.wantFreq = config.audioFreq; - audio.wantSamples = configAudioBufSize; - audio.wantChannels = 2; - - // set up audio device - memset(&want, 0, sizeof (want)); - - // these three may change after opening a device, but our mixer is dealing with it - want.freq = config.audioFreq; - want.format = (config.specialFlags & BITDEPTH_24) ? AUDIO_F32 : AUDIO_S16; - want.channels = 2; - // ------------------------------------------------------------------------------- - want.callback = mixCallback; - want.samples = configAudioBufSize; - - audio.dev = SDL_OpenAudioDevice(audio.currOutputDevice, 0, &want, &have, SDL_AUDIO_ALLOW_ANY_CHANGE); // prevent SDL2 from resampling - if (audio.dev == 0) - { - if (showErrorMsg) - showErrorMsgBox("Couldn't open audio device:\n\"%s\"\n\nDo you have any audio device enabled and plugged in?", SDL_GetError()); - - return false; - } - - // test if the received audio format is compatible - if (have.format != AUDIO_S16 && have.format != AUDIO_F32) - { - if (showErrorMsg) - showErrorMsgBox("Couldn't open audio device:\nThe program doesn't support an SDL_AudioFormat of '%d' (not 16-bit or 24-bit float).", - (uint32_t)have.format); - - closeAudio(); - return false; - } - - // test if the received audio rate is compatible - if (have.freq != 44100 && have.freq != 48000 && have.freq != 96000) - { - if (showErrorMsg) - showErrorMsgBox("Couldn't open audio device:\nThe program doesn't support an audio output rate of %dHz. Sorry!", have.freq); - - closeAudio(); - return false; - } - - if (!setupAudioBuffers()) - { - if (showErrorMsg) - showErrorMsgBox("Not enough memory!"); - - closeAudio(); - return false; - } - - // set new bit depth flag - - newBitDepth = 16; - config.specialFlags &= ~BITDEPTH_24; - config.specialFlags |= BITDEPTH_16; - - if (have.format == AUDIO_F32) - { - newBitDepth = 24; - config.specialFlags &= ~BITDEPTH_16; - config.specialFlags |= BITDEPTH_24; - } - - audio.haveFreq = have.freq; - audio.haveSamples = have.samples; - audio.haveChannels = have.channels; - - // set a few variables - - config.audioFreq = have.freq; - audio.freq = have.freq; - smpBuffSize = have.samples; - - calcAudioLatencyVars(have.samples, have.freq); - - if ((config.specialFlags2 & DITHERED_AUDIO) && newBitDepth == 24) - config.specialFlags2 &= ~DITHERED_AUDIO; - - pmpChannels = have.channels; - pmpCountDiv = pmpChannels * ((newBitDepth == 16) ? sizeof (int16_t) : sizeof (float)); - - // make a copy of the new known working audio settings - - audio.lastWorkingAudioFreq = config.audioFreq; - audio.lastWorkingAudioBits = config.specialFlags & (BITDEPTH_16 + BITDEPTH_24 + BUFFSIZE_512 + BUFFSIZE_1024 + BUFFSIZE_2048 + BUFFSIZE_4096); - setLastWorkingAudioDevName(); - - // update config audio radio buttons if we're on that screen at the moment - if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES) - showConfigScreen(); - - updateWavRendererSettings(); - setAudioAmp(config.boostLevel, config.masterVol, (config.specialFlags & BITDEPTH_24) ? true : false); - - // don't call stopVoices() in this routine - for (uint8_t i = 0; i < MAX_VOICES; i++) - stopVoice(i); - - stopAllScopes(); - - pmpLeft = 0; // reset sample counter - - calcReplayRate(audio.freq); - - if (song.speed == 0) - song.speed = 125; - - setSpeed(song.speed); // this is important - - updateSendAudSamplesRoutine(false); - audio.resetSyncTickTimeFlag = true; - - return true; -} - -void closeAudio(void) -{ - if (audio.dev > 0) - { - SDL_PauseAudioDevice(audio.dev, true); - SDL_CloseAudioDevice(audio.dev); - audio.dev = 0; - } - - freeAudioBuffers(); -} - -/* -void benchmarkAudioChannelMixer(void) // for development testing -{ -#define TICKS_TO_MIX 50000 - -#ifdef _WIN32 -#define DEBUG_MOD_FILENAME L"C:\\programming\\debug.xm" -#elif __APPLE__ -#define DEBUG_MOD_FILENAME "/users/olav/debug.xm" -#else -#define DEBUG_MOD_FILENAME "/home/olav/debug.xm" -#endif - - char str[128]; - uint8_t result, *buffer; - uint32_t maxSamplesPerTick, start, end; - - maxSamplesPerTick = ((config.audioFreq * 5) / 2) / MIN_BPM; - - buffer = (uint8_t *)malloc(maxSamplesPerTick * (2 * sizeof (int32_t))); - if (buffer == NULL) - { - editor.programRunning = false; - showErrorMsgBox("Out of memory!\n"); - return; - } - - result = loadMusicUnthreaded(DEBUG_MOD_FILENAME); - if (!result) - { - editor.programRunning = false; - showErrorMsgBox("Couldn't load debug module for mixer benchmarking!\n"); - return; - } - - pauseAudio(); - editor.wavIsRendering = true; - - setPos(0, 0); - playMode = PLAYMODE_SONG; - songPlaying = true; - - resetChannels(); - setNewAudioFreq(config.audioFreq); - setAudioAmp(config.boostLevel, config.masterVol, false); - - stopVoices(); - song.globVol = 64; - setSpeed(song.speed); - - start = SDL_GetTicks(); - for (uint32_t i = 0; i < TICKS_TO_MIX; i++) - dump_RenderTick(buffer); - end = SDL_GetTicks(); - - stopPlaying(); - resumeAudio(); - - free(buffer); - - sprintf(str, "It took approximately %dms to mix %d ticks.\nRun this test again to confirm.", end - start, TICKS_TO_MIX); - SDL_ShowSimpleMessageBox(0, "Channel mixer benchmark result", str, video.window); - - editor.programRunning = false; -} -*/ - -const uint32_t panningTab[257] = // panning table from FT2 code -{ - 0, 4096, 5793, 7094, 8192, 9159,10033,10837,11585,12288,12953,13585,14189,14768,15326,15864, - 16384,16888,17378,17854,18318,18770,19212,19644,20066,20480,20886,21283,21674,22058,22435,22806, - 23170,23530,23884,24232,24576,24915,25249,25580,25905,26227,26545,26859,27170,27477,27780,28081, - 28378,28672,28963,29251,29537,29819,30099,30377,30652,30924,31194,31462,31727,31991,32252,32511, - 32768,33023,33276,33527,33776,34024,34270,34514,34756,34996,35235,35472,35708,35942,36175,36406, - 36636,36864,37091,37316,37540,37763,37985,38205,38424,38642,38858,39073,39287,39500,39712,39923, - 40132,40341,40548,40755,40960,41164,41368,41570,41771,41972,42171,42369,42567,42763,42959,43154, - 43348,43541,43733,43925,44115,44305,44494,44682,44869,45056,45242,45427,45611,45795,45977,46160, - 46341,46522,46702,46881,47059,47237,47415,47591,47767,47942,48117,48291,48465,48637,48809,48981, - 49152,49322,49492,49661,49830,49998,50166,50332,50499,50665,50830,50995,51159,51323,51486,51649, - 51811,51972,52134,52294,52454,52614,52773,52932,53090,53248,53405,53562,53719,53874,54030,54185, - 54340,54494,54647,54801,54954,55106,55258,55410,55561,55712,55862,56012,56162,56311,56459,56608, - 56756,56903,57051,57198,57344,57490,57636,57781,57926,58071,58215,58359,58503,58646,58789,58931, - 59073,59215,59357,59498,59639,59779,59919,60059,60199,60338,60477,60615,60753,60891,61029,61166, - 61303,61440,61576,61712,61848,61984,62119,62254,62388,62523,62657,62790,62924,63057,63190,63323, - 63455,63587,63719,63850,63982,64113,64243,64374,64504,64634,64763,64893,65022,65151,65279,65408, - 65536 -}; +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include "ft2_header.h" +#include "ft2_config.h" +#include "ft2_scopes.h" +#include "ft2_video.h" +#include "ft2_gui.h" +#include "ft2_midi.h" +#include "ft2_wav_renderer.h" +#include "ft2_mix.h" +#include "ft2_tables.h" + +#define INITIAL_DITHER_SEED 0x12345000 + +static int8_t pmpCountDiv, pmpChannels = 2; +static uint16_t smpBuffSize; +static int32_t masterVol, oldAudioFreq, speedVal, pmpLeft, randSeed = INITIAL_DITHER_SEED; +static int32_t prngStateL, prngStateR; +static uint32_t tickTimeLen, tickTimeLenFrac, oldSFrq, oldSFrqRev = 0xFFFFFFFF; +static float fAudioAmpMul; +static voice_t voice[MAX_VOICES * 2]; +static void (*sendAudSamplesFunc)(uint8_t *, uint32_t, uint8_t); // "send mixed samples" routines + +pattSyncData_t *pattSyncEntry; +chSyncData_t *chSyncEntry; + +volatile bool pattQueueReading, pattQueueClearing, chQueueReading, chQueueClearing; + +void resetOldRevFreqs(void) +{ + oldSFrq = 0; + oldSFrqRev = 0xFFFFFFFF; +} + +void stopVoice(uint8_t i) +{ + voice_t *v; + + v = &voice[i]; + memset(v, 0, sizeof (voice_t)); + v->SPan = 128; + + // clear "fade out" voice too + + v = &voice[MAX_VOICES + i]; + memset(v, 0, sizeof (voice_t)); + v->SPan = 128; +} + +bool setNewAudioSettings(void) // only call this from the main input/video thread +{ + uint32_t stringLen; + + pauseAudio(); + + if (!setupAudio(CONFIG_HIDE_ERRORS)) + { + // set back old known working settings + + config.audioFreq = audio.lastWorkingAudioFreq; + config.specialFlags &= ~(BITDEPTH_16 + BITDEPTH_24 + BUFFSIZE_512 + BUFFSIZE_1024 + BUFFSIZE_2048); + config.specialFlags |= audio.lastWorkingAudioBits; + + if (audio.lastWorkingAudioDeviceName != NULL) + { + if (audio.currOutputDevice != NULL) + { + free(audio.currOutputDevice); + audio.currOutputDevice = NULL; + } + + stringLen = (uint32_t)strlen(audio.lastWorkingAudioDeviceName); + + audio.currOutputDevice = (char *)malloc(stringLen + 2); + if (audio.currOutputDevice != NULL) + { + strcpy(audio.currOutputDevice, audio.lastWorkingAudioDeviceName); + audio.currOutputDevice[stringLen + 1] = '\0'; // UTF-8 needs double null termination + } + } + + // also update config audio radio buttons if we're on that screen at the moment + if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES) + setConfigIORadioButtonStates(); + + // if it didn't work to use the old settings again, then something is seriously wrong... + if (!setupAudio(CONFIG_HIDE_ERRORS)) + okBox(0, "System message", "Couldn't find a working audio mode... You'll get no sound / replayer timer!"); + + resumeAudio(); + return false; + } + + resumeAudio(); + return true; +} + +// ampFactor = 1..32, masterVol = 0..256 +void setAudioAmp(int16_t ampFactor, int16_t master, bool bitDepth32Flag) +{ + ampFactor = CLAMP(ampFactor, 1, 32); + master = CLAMP(master, 0, 256); + + // voiceVolume = (vol(0..65535) * pan(0..65536)) >> 4 + const float fAudioNorm = 1.0f / (((65535UL * 65536) / 16) / MAX_VOICES); + + if (bitDepth32Flag) + { + // 32-bit floating point (24-bit) + fAudioAmpMul = fAudioNorm * (master / 256.0f) * (ampFactor / 32.0f); + } + else + { + // 16-bit integer + masterVol = master * ampFactor * 2048; + } +} + +void setNewAudioFreq(uint32_t freq) // for song to WAV rendering +{ + if (freq == 0) + return; + + oldAudioFreq = audio.freq; + audio.freq = freq; + + calcReplayRate(audio.freq); +} + +void setBackOldAudioFreq(void) // for song to WAV rendering +{ + audio.freq = oldAudioFreq; + calcReplayRate(audio.freq); +} + +void setSpeed(uint16_t bpm) +{ + double dInt, dFrac; + + if (bpm == 0) + return; + + speedVal = ((audio.freq + audio.freq) + (audio.freq >> 1)) / bpm; // (audio.freq * 2.5) / BPM + if (speedVal > 0) // calculate tick time length for audio/video sync timestamp + { + // number of samples per tick -> tick length for performance counter + dFrac = modf(speedVal * audio.dSpeedValMul, &dInt); + + /* - integer part - + ** Cast to int32_t so that the compiler will use fast SSE2 float->int instructions. + ** This result won't be above 2^31, so this is safe. + */ + tickTimeLen = (int32_t)dInt; + + // - fractional part (scaled to 0..2^32-1) - + dFrac *= UINT32_MAX; + tickTimeLenFrac = (uint32_t)(dFrac + 0.5); + } +} + +void audioSetVolRamp(bool volRamp) +{ + lockMixerCallback(); + audio.volumeRampingFlag = volRamp; + unlockMixerCallback(); +} + +void audioSetInterpolation(bool interpolation) +{ + lockMixerCallback(); + audio.interpolationFlag = interpolation; + unlockMixerCallback(); +} + +static inline void voiceUpdateVolumes(uint8_t i, uint8_t status) +{ + int32_t volL, volR; + uint32_t vol; + voice_t *v, *f; + + v = &voice[i]; + + vol = v->SVol; // 0..65535 + + // (0..65535 * 0..65536) >> 4 = 0..268431360 + volR = (vol * panningTab[ v->SPan]) >> 4; + volL = (vol * panningTab[256-v->SPan]) >> 4; + + if (!audio.volumeRampingFlag) + { + v->SLVol2 = volL; + v->SRVol2 = volR; + } + else + { + v->SLVol1 = volL; + v->SRVol1 = volR; + + if (status & IS_NyTon) + { + // sample is about to start, ramp out/in at the same time + + // setup "fade out" voice (only if current voice volume>0) + if (v->SLVol2 > 0 || v->SRVol2 > 0) + { + f = &voice[MAX_VOICES + i]; + + *f = *v; // copy voice + + f->SVolIPLen = audio.quickVolSizeVal; + f->SLVolIP = -f->SLVol2 / f->SVolIPLen; + f->SRVolIP = -f->SRVol2 / f->SVolIPLen; + + f->isFadeOutVoice = true; + } + + // make current voice fade in when it starts + v->SLVol2 = 0; + v->SRVol2 = 0; + } + + // ramp volume changes + + /* FT2 has two internal volume ramping lengths: + ** IS_QuickVol: 5ms (audioFreq / 200) + ** Normal: The duration of a tick (speedVal) + */ + + if (volL == v->SLVol2 && volR == v->SRVol2) + { + v->SVolIPLen = 0; // there is no volume change + } + else + { + v->SVolIPLen = (status & IS_QuickVol) ? audio.quickVolSizeVal : speedVal; + v->SLVolIP = (volL - v->SLVol2) / v->SVolIPLen; + v->SRVolIP = (volR - v->SRVol2) / v->SVolIPLen; + } + } +} + +static void voiceTrigger(uint8_t i, sampleTyp *s, int32_t position) +{ + bool sampleIs16Bit; + uint8_t loopType; + int32_t oldSLen, length, loopBegin, loopLength; + voice_t *v; + + v = &voice[i]; + + length = s->len; + loopBegin = s->repS; + loopLength = s->repL; + loopType = s->typ & 3; + sampleIs16Bit = (s->typ >> 4) & 1; + + if (sampleIs16Bit) + { + assert(!(length & 1)); + assert(!(loopBegin & 1)); + assert(!(loopLength & 1)); + + length >>= 1; + loopBegin >>= 1; + loopLength >>= 1; + } + + if (s->pek == NULL || length < 1) + { + v->mixRoutine = NULL; // shut down voice (illegal parameters) + return; + } + + if (loopLength < 1) // disable loop if loopLength is below 1 + loopType = 0; + + if (sampleIs16Bit) + { + v->SBase16 = (const int16_t *)s->pek; + v->SRevBase16 = &v->SBase16[loopBegin + (loopBegin + loopLength)]; // for pingpong loops + } + else + { + v->SBase8 = s->pek; + v->SRevBase8 = &v->SBase8[loopBegin + (loopBegin + loopLength)]; // for pingpong loops + } + + v->backwards = false; + v->SLen = (loopType > 0) ? (loopBegin + loopLength) : length; + v->SRepS = loopBegin; + v->SRepL = loopLength; + v->SPos = position; + v->SPosDec = 0; // position fraction + + // if 9xx position overflows, shut down voice + oldSLen = (loopType > 0) ? (loopBegin + loopLength) : length; + if (v->SPos >= oldSLen) + { + v->mixRoutine = NULL; + return; + } + + v->mixRoutine = mixRoutineTable[(sampleIs16Bit * 12) + (audio.volumeRampingFlag * 6) + (audio.interpolationFlag * 3) + loopType]; +} + +void mix_SaveIPVolumes(void) // for volume ramping +{ + voice_t *v = voice; + for (uint32_t i = 0; i < MAX_VOICES; i++, v++) + { + v->SLVol2 = v->SLVol1; + v->SRVol2 = v->SRVol1; + v->SVolIPLen = 0; + } +} + +void mix_UpdateChannelVolPanFrq(void) +{ + uint8_t status; + stmTyp *ch; + voice_t *v; + + ch = stm; + v = voice; + + for (uint8_t i = 0; i < song.antChn; i++, ch++, v++) + { + status = ch->tmpStatus = ch->status; // ch->tmpStatus is used for audio/video sync queue + if (status == 0) + continue; + + ch->status = 0; + + // volume change + if (status & IS_Vol) + v->SVol = ch->finalVol; + + // panning change + if (status & IS_Pan) + v->SPan = ch->finalPan; + + // update mixing volumes if vol/pan change + if (status & (IS_Vol + IS_Pan)) + voiceUpdateVolumes(i, status); + + // frequency change + if (status & IS_Period) + { + v->SFrq = getFrequenceValue(ch->finalPeriod); + + if (v->SFrq != oldSFrq) + { + oldSFrq = v->SFrq; + + oldSFrqRev = 0xFFFFFFFF; + if (oldSFrq != 0) + oldSFrqRev /= oldSFrq; + } + + v->SFrqRev = oldSFrqRev; + } + + // sample trigger (note) + if (status & IS_NyTon) + voiceTrigger(i, ch->smpPtr, ch->smpStartPos); + } +} + +void resetAudioDither(void) +{ + randSeed = INITIAL_DITHER_SEED; + prngStateL = 0; + prngStateR = 0; +} + +static inline uint32_t random32(void) +{ + // LCG 32-bit random + randSeed *= 134775813; + randSeed++; + + return randSeed; +} + +static void sendSamples16BitStereo(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels) +{ + int16_t *streamPointer16; + int32_t out32; + + (void)numAudioChannels; + + streamPointer16 = (int16_t *)stream; + for (uint32_t i = 0; i < sampleBlockLength; i++) + { + // left channel + out32 = ((int64_t)audio.mixBufferL[i] * masterVol) >> 32; + CLAMP16(out32); + *streamPointer16++ = (int16_t)out32; + + // right channel + out32 = ((int64_t)audio.mixBufferR[i] * masterVol) >> 32; + CLAMP16(out32); + *streamPointer16++ = (int16_t)out32; + } +} + +static void sendSamples16BitMultiChan(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels) +{ + int16_t *streamPointer16; + int32_t out32; + uint32_t i, j; + + streamPointer16 = (int16_t *)stream; + for (i = 0; i < sampleBlockLength; i++) + { + // left channel + out32 = ((int64_t)audio.mixBufferL[i] * masterVol) >> 32; + CLAMP16(out32); + *streamPointer16++ = (int16_t)out32; + + // right channel + out32 = ((int64_t)audio.mixBufferR[i] * masterVol) >> 32; + CLAMP16(out32); + *streamPointer16++ = (int16_t)out32; + + for (j = 2; j < numAudioChannels; j++) + *streamPointer16++ = 0; + } +} + +static void sendSamples16BitDitherStereo(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels) +{ + int16_t *streamPointer16; + int32_t prng, out32; + + (void)numAudioChannels; + + streamPointer16 = (int16_t *)stream; + for (uint32_t i = 0; i < sampleBlockLength; i++) + { + // left channel - 1-bit triangular dithering + prng = random32(); + out32 = ((((int64_t)audio.mixBufferL[i] * masterVol) + prng) - prngStateL) >> 32; + prngStateL = prng; + CLAMP16(out32); + *streamPointer16++ = (int16_t)out32; + + // right channel - 1-bit triangular dithering + prng = random32(); + out32 = ((((int64_t)audio.mixBufferR[i] * masterVol) + prng) - prngStateR) >> 32; + prngStateR = prng; + CLAMP16(out32); + *streamPointer16++ = (int16_t)out32; + } +} + +static void sendSamples16BitDitherMultiChan(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels) +{ + int16_t *streamPointer16; + int32_t prng, out32; + + streamPointer16 = (int16_t *)stream; + for (uint32_t i = 0; i < sampleBlockLength; i++) + { + // left channel - 1-bit triangular dithering + prng = random32(); + out32 = ((((int64_t)audio.mixBufferL[i] * masterVol) + prng) - prngStateL) >> 32; + prngStateL = prng; + CLAMP16(out32); + *streamPointer16++ = (int16_t)out32; + + // right channel - 1-bit triangular dithering + prng = random32(); + out32 = ((((int64_t)audio.mixBufferR[i] * masterVol) + prng) - prngStateR) >> 32; + prngStateR = prng; + CLAMP16(out32); + *streamPointer16++ = (int16_t)out32; + + for (uint32_t j = 2; j < numAudioChannels; j++) + *streamPointer16++ = 0; + } +} + +static void sendSamples24BitStereo(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels) +{ + float fOut, *fStreamPointer24; + + (void)numAudioChannels; + + fStreamPointer24 = (float *)stream; + for (uint32_t i = 0; i < sampleBlockLength; i++) + { + // left channel + fOut = audio.mixBufferL[i] * fAudioAmpMul; + fOut = CLAMP(fOut, -1.0f, 1.0f); + *fStreamPointer24++ = fOut; + + // right channel + fOut = audio.mixBufferR[i] * fAudioAmpMul; + fOut = CLAMP(fOut, -1.0f, 1.0f); + *fStreamPointer24++ = fOut; + } +} + +static void sendSamples24BitMultiChan(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels) +{ + float fOut, *fStreamPointer24; + + fStreamPointer24 = (float *)stream; + for (uint32_t i = 0; i < sampleBlockLength; i++) + { + // left channel + fOut = audio.mixBufferL[i] * fAudioAmpMul; + fOut = CLAMP(fOut, -1.0f, 1.0f); + *fStreamPointer24++ = fOut; + + // right channel + fOut = audio.mixBufferR[i] * fAudioAmpMul; + fOut = CLAMP(fOut, -1.0f, 1.0f); + *fStreamPointer24++ = fOut; + + for (uint32_t j = 2; j < numAudioChannels; j++) + *fStreamPointer24++ = 0.0f; + } +} + +static void mixAudio(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels) +{ + voice_t *v, *r; + + assert(sampleBlockLength <= MAX_WAV_RENDER_SAMPLES_PER_TICK); + memset(audio.mixBufferL, 0, sampleBlockLength * sizeof (int32_t)); + memset(audio.mixBufferR, 0, sampleBlockLength * sizeof (int32_t)); + + // mix channels + + v = voice; // normal voices + r = &voice[MAX_VOICES]; // volume ramp voices + + for (uint32_t i = 0; i < song.antChn; i++, v++, r++) + { + // call the mixing routine currently set for the voice + if (v->mixRoutine != NULL) v->mixRoutine(v, sampleBlockLength); // mix normal voice + if (r->mixRoutine != NULL) r->mixRoutine(r, sampleBlockLength); // mix volume ramp voice + } + + // normalize mix buffer and send to audio stream + sendAudSamplesFunc(stream, sampleBlockLength, numAudioChannels); +} + +// used for song-to-WAV renderer +uint32_t mixReplayerTickToBuffer(uint8_t *stream, uint8_t bitDepth) +{ + voice_t *v, *r; + + assert(speedVal <= MAX_WAV_RENDER_SAMPLES_PER_TICK); + memset(audio.mixBufferL, 0, speedVal * sizeof (int32_t)); + memset(audio.mixBufferR, 0, speedVal * sizeof (int32_t)); + + // mix channels + v = voice; // normal voices + r = &voice[MAX_VOICES]; // volume ramp voices + + for (uint32_t i = 0; i < song.antChn; i++, v++, r++) + { + // call the mixing routine currently set for the voice + if (v->mixRoutine != NULL) v->mixRoutine(v, speedVal); // mix normal voice + if (r->mixRoutine != NULL) r->mixRoutine(r, speedVal); // mix volume ramp voice + } + + // normalize mix buffer and send to audio stream + if (bitDepth == 16) + { + if (config.specialFlags2 & DITHERED_AUDIO) + sendSamples16BitDitherStereo(stream, speedVal, 2); + else + sendSamples16BitStereo(stream, speedVal, 2); + } + else + { + sendSamples24BitStereo(stream, speedVal, 2); + } + + return speedVal; +} + +int32_t pattQueueReadSize(void) +{ + while (pattQueueClearing); + + if (pattSync.writePos > pattSync.readPos) + return pattSync.writePos - pattSync.readPos; + else if (pattSync.writePos < pattSync.readPos) + return pattSync.writePos - pattSync.readPos + SYNC_QUEUE_LEN + 1; + else + return 0; +} + +int32_t pattQueueWriteSize(void) +{ + int32_t size; + + if (pattSync.writePos > pattSync.readPos) + { + size = pattSync.readPos - pattSync.writePos + SYNC_QUEUE_LEN; + } + else if (pattSync.writePos < pattSync.readPos) + { + pattQueueClearing = true; + + /* Buffer is full, reset the read/write pos. This is actually really nasty since + ** read/write are two different threads, but because of timestamp validation it + ** shouldn't be that dangerous. + ** It will also create a small visual stutter while the buffer is getting filled, + ** though that is barely noticable on normal buffer sizes, and it takes several + ** minutes between each time (when queue size is default, 16384) */ + pattSync.data[0].timestamp = 0; + pattSync.readPos = 0; + pattSync.writePos = 0; + + size = SYNC_QUEUE_LEN; + + pattQueueClearing = false; + } + else + { + size = SYNC_QUEUE_LEN; + } + + return size; +} + +bool pattQueuePush(pattSyncData_t t) +{ + if (!pattQueueWriteSize()) + return false; + + assert(pattSync.writePos <= SYNC_QUEUE_LEN); + pattSync.data[pattSync.writePos] = t; + pattSync.writePos = (pattSync.writePos + 1) & SYNC_QUEUE_LEN; + + return true; +} + +bool pattQueuePop(void) +{ + if (!pattQueueReadSize()) + return false; + + pattSync.readPos = (pattSync.readPos + 1) & SYNC_QUEUE_LEN; + assert(pattSync.readPos <= SYNC_QUEUE_LEN); + + return true; +} + +pattSyncData_t *pattQueuePeek(void) +{ + if (!pattQueueReadSize()) + return NULL; + + assert(pattSync.readPos <= SYNC_QUEUE_LEN); + return &pattSync.data[pattSync.readPos]; +} + +uint64_t getPattQueueTimestamp(void) +{ + if (!pattQueueReadSize()) + return 0; + + assert(pattSync.readPos <= SYNC_QUEUE_LEN); + return pattSync.data[pattSync.readPos].timestamp; +} + +int32_t chQueueReadSize(void) +{ + while (chQueueClearing); + + if (chSync.writePos > chSync.readPos) + return chSync.writePos - chSync.readPos; + else if (chSync.writePos < chSync.readPos) + return chSync.writePos - chSync.readPos + SYNC_QUEUE_LEN + 1; + else + return 0; +} + +int32_t chQueueWriteSize(void) +{ + int32_t size; + + if (chSync.writePos > chSync.readPos) + { + size = chSync.readPos - chSync.writePos + SYNC_QUEUE_LEN; + } + else if (chSync.writePos < chSync.readPos) + { + chQueueClearing = true; + + /* Buffer is full, reset the read/write pos. This is actually really nasty since + ** read/write are two different threads, but because of timestamp validation it + ** shouldn't be that dangerous. + ** It will also create a small visual stutter while the buffer is getting filled, + ** though that is barely noticable on normal buffer sizes, and it takes several + ** minutes between each time (when queue size is default, 16384) */ + chSync.data[0].timestamp = 0; + chSync.readPos = 0; + chSync.writePos = 0; + + size = SYNC_QUEUE_LEN; + + chQueueClearing = false; + } + else + { + size = SYNC_QUEUE_LEN; + } + + return size; +} + +bool chQueuePush(chSyncData_t t) +{ + if (!chQueueWriteSize()) + return false; + + assert(chSync.writePos <= SYNC_QUEUE_LEN); + chSync.data[chSync.writePos] = t; + chSync.writePos = (chSync.writePos + 1) & SYNC_QUEUE_LEN; + + return true; +} + +bool chQueuePop(void) +{ + if (!chQueueReadSize()) + return false; + + chSync.readPos = (chSync.readPos + 1) & SYNC_QUEUE_LEN; + assert(chSync.readPos <= SYNC_QUEUE_LEN); + + return true; +} + +chSyncData_t *chQueuePeek(void) +{ + if (!chQueueReadSize()) + return NULL; + + assert(chSync.readPos <= SYNC_QUEUE_LEN); + return &chSync.data[chSync.readPos]; +} + +uint64_t getChQueueTimestamp(void) +{ + if (!chQueueReadSize()) + return 0; + + assert(chSync.readPos <= SYNC_QUEUE_LEN); + return chSync.data[chSync.readPos].timestamp; +} + +void lockAudio(void) +{ + if (audio.dev != 0) + SDL_LockAudioDevice(audio.dev); + + audio.locked = true; +} + +void unlockAudio(void) +{ + if (audio.dev != 0) + SDL_UnlockAudioDevice(audio.dev); + + audio.locked = false; +} + +static void resetSyncQueues(void) +{ + pattSync.data[0].timestamp = 0; + pattSync.readPos = 0; + pattSync.writePos = 0; + + chSync.data[0].timestamp = 0; + chSync.writePos = 0; + chSync.readPos = 0; +} + +void lockMixerCallback(void) // lock audio + clear voices/scopes (for short operations) +{ + if (!audio.locked) + lockAudio(); + + audio.resetSyncTickTimeFlag = true; + + stopVoices(); // VERY important! prevents potential crashes by purging pointers + + // scopes, mixer and replayer are guaranteed to not be active at this point + + resetSyncQueues(); +} + +void unlockMixerCallback(void) +{ + stopVoices(); // VERY important! prevents potential crashes by purging pointers + + if (audio.locked) + unlockAudio(); +} + +void pauseAudio(void) // lock audio + clear voices/scopes + render silence (for long operations) +{ + if (audioPaused) + { + stopVoices(); // VERY important! prevents potential crashes by purging pointers + return; + } + + if (audio.dev > 0) + SDL_PauseAudioDevice(audio.dev, true); + + audio.resetSyncTickTimeFlag = true; + + stopVoices(); // VERY important! prevents potential crashes by purging pointers + + // scopes, mixer and replayer are guaranteed to not be active at this point + + resetSyncQueues(); + audioPaused = true; +} + +void resumeAudio(void) // unlock audio +{ + if (!audioPaused) + return; + + if (audio.dev > 0) + SDL_PauseAudioDevice(audio.dev, false); + + audioPaused = false; +} + +static void SDLCALL mixCallback(void *userdata, Uint8 *stream, int len) +{ + int32_t a, b; + pattSyncData_t pattSyncData; + chSyncData_t chSyncData; + syncedChannel_t *c; + stmTyp *s; + + (void)userdata; + + assert(len < 65536); // limitation in mixer + assert(pmpCountDiv > 0); + + a = len / pmpCountDiv; + if (a <= 0) + return; + + while (a > 0) + { + if (pmpLeft == 0) + { + // replayer tick + + replayerBusy = true; + + if (audio.volumeRampingFlag) + mix_SaveIPVolumes(); + + mainPlayer(); + mix_UpdateChannelVolPanFrq(); + + // AUDIO/VIDEO SYNC + + if (audio.resetSyncTickTimeFlag) + { + audio.resetSyncTickTimeFlag = false; + + audio.tickTime64 = SDL_GetPerformanceCounter() + audio.audLatencyPerfValInt; + audio.tickTime64Frac = audio.audLatencyPerfValFrac; + } + + if (songPlaying) + { + // push pattern variables to sync queue + pattSyncData.timer = song.curReplayerTimer; + pattSyncData.patternPos = song.curReplayerPattPos; + pattSyncData.pattern = song.curReplayerPattNr; + pattSyncData.songPos = song.curReplayerSongPos; + pattSyncData.speed = (uint8_t)song.speed; + pattSyncData.tempo = (uint8_t)song.tempo; + pattSyncData.globalVol = (uint8_t)song.globVol; + pattSyncData.timestamp = audio.tickTime64; + pattQueuePush(pattSyncData); + } + + // push channel variables to sync queue + for (uint32_t i = 0; i < song.antChn; i++) + { + c = &chSyncData.channels[i]; + s = &stm[i]; + + c->voiceDelta = voice[i].SFrq; + c->finalPeriod = s->finalPeriod; + c->fineTune = s->fineTune; + c->relTonNr = s->relTonNr; + c->instrNr = s->instrNr; + c->sampleNr = s->sampleNr; + c->envSustainActive = s->envSustainActive; + c->status = s->tmpStatus; + c->finalVol = s->finalVol; + c->smpStartPos = s->smpStartPos; + } + + chSyncData.timestamp = audio.tickTime64; + chQueuePush(chSyncData); + + audio.tickTime64 += tickTimeLen; + audio.tickTime64Frac += tickTimeLenFrac; + if (audio.tickTime64Frac > 0xFFFFFFFF) + { + audio.tickTime64Frac &= 0xFFFFFFFF; + audio.tickTime64++; + } + + pmpLeft = speedVal; + replayerBusy = false; + } + + b = a; + if (b > pmpLeft) + b = pmpLeft; + + mixAudio(stream, b, pmpChannels); + stream += b * pmpCountDiv; + + a -= b; + pmpLeft -= b; + } +} + +static bool setupAudioBuffers(void) +{ + const uint32_t sampleSize = sizeof (int32_t); + + audio.mixBufferLUnaligned = (int32_t *)MALLOC_PAD(MAX_WAV_RENDER_SAMPLES_PER_TICK * sampleSize, 256); + audio.mixBufferRUnaligned = (int32_t *)MALLOC_PAD(MAX_WAV_RENDER_SAMPLES_PER_TICK * sampleSize, 256); + + if (audio.mixBufferLUnaligned == NULL || audio.mixBufferRUnaligned == NULL) + return false; + + // make aligned main pointers + audio.mixBufferL = (int32_t *)ALIGN_PTR(audio.mixBufferLUnaligned, 256); + audio.mixBufferR = (int32_t *)ALIGN_PTR(audio.mixBufferRUnaligned, 256); + + return true; +} + +static void freeAudioBuffers(void) +{ + if (audio.mixBufferLUnaligned != NULL) + { + free(audio.mixBufferLUnaligned); + audio.mixBufferLUnaligned = NULL; + } + + if (audio.mixBufferRUnaligned != NULL) + { + free(audio.mixBufferRUnaligned); + audio.mixBufferRUnaligned = NULL; + } + + audio.mixBufferL = NULL; + audio.mixBufferR = NULL; +} + +void updateSendAudSamplesRoutine(bool lockMixer) +{ + if (lockMixer) + lockMixerCallback(); + + // force dither off if somehow set with 24-bit float (illegal) + if ((config.specialFlags2 & DITHERED_AUDIO) && (config.specialFlags & BITDEPTH_24)) + config.specialFlags2 &= ~DITHERED_AUDIO; + + if (config.specialFlags2 & DITHERED_AUDIO) + { + if (config.specialFlags & BITDEPTH_16) + { + if (pmpChannels > 2) + sendAudSamplesFunc = sendSamples16BitDitherMultiChan; + else + sendAudSamplesFunc = sendSamples16BitDitherStereo; + } + } + else + { + if (config.specialFlags & BITDEPTH_16) + { + if (pmpChannels > 2) + sendAudSamplesFunc = sendSamples16BitMultiChan; + else + sendAudSamplesFunc = sendSamples16BitStereo; + } + else + { + if (pmpChannels > 2) + sendAudSamplesFunc = sendSamples24BitMultiChan; + else + sendAudSamplesFunc = sendSamples24BitStereo; + } + } + + if (lockMixer) + unlockMixerCallback(); +} + +static void calcAudioLatencyVars(uint16_t haveSamples, int32_t haveFreq) +{ + double dHaveFreq, dAudioLatencySecs, dInt, dFrac; + + dHaveFreq = haveFreq; + if (dHaveFreq == 0.0) + return; // panic! + + dAudioLatencySecs = haveSamples / dHaveFreq; + + // XXX: haveSamples and haveFreq better not be bogus values... + dFrac = modf(dAudioLatencySecs * editor.dPerfFreq, &dInt); + + // integer part + audio.audLatencyPerfValInt = (uint32_t)dInt; + + // fractional part (scaled to 0..2^32-1) + dFrac *= UINT32_MAX; + audio.audLatencyPerfValFrac = (uint32_t)(dFrac + 0.5); + + audio.dAudioLatencyMs = dAudioLatencySecs * 1000.0; +} + +static void setLastWorkingAudioDevName(void) +{ + uint32_t stringLen; + + if (audio.lastWorkingAudioDeviceName != NULL) + { + free(audio.lastWorkingAudioDeviceName); + audio.lastWorkingAudioDeviceName = NULL; + } + + if (audio.currOutputDevice != NULL) + { + stringLen = (uint32_t)strlen(audio.currOutputDevice); + + audio.lastWorkingAudioDeviceName = (char *)malloc(stringLen + 2); + if (audio.lastWorkingAudioDeviceName != NULL) + { + if (stringLen > 0) + strcpy(audio.lastWorkingAudioDeviceName, audio.currOutputDevice); + audio.lastWorkingAudioDeviceName[stringLen + 1] = '\0'; // UTF-8 needs double null termination + } + } +} + +bool setupAudio(bool showErrorMsg) +{ + int8_t newBitDepth; + uint16_t configAudioBufSize; + SDL_AudioSpec want, have; + + closeAudio(); + + if (config.audioFreq < MIN_AUDIO_FREQ || config.audioFreq > MAX_AUDIO_FREQ) + { + // set default rate +#ifdef __APPLE__ + config.audioFreq = 44100; +#else + config.audioFreq = 48000; +#endif + } + + // get audio buffer size from config special flags + + configAudioBufSize = 1024; + if (config.specialFlags & BUFFSIZE_512) + configAudioBufSize = 512; + else if (config.specialFlags & BUFFSIZE_2048) + configAudioBufSize = 2048; + + audio.wantFreq = config.audioFreq; + audio.wantSamples = configAudioBufSize; + audio.wantChannels = 2; + + // set up audio device + memset(&want, 0, sizeof (want)); + + // these three may change after opening a device, but our mixer is dealing with it + want.freq = config.audioFreq; + want.format = (config.specialFlags & BITDEPTH_24) ? AUDIO_F32 : AUDIO_S16; + want.channels = 2; + // ------------------------------------------------------------------------------- + want.callback = mixCallback; + want.samples = configAudioBufSize; + + audio.dev = SDL_OpenAudioDevice(audio.currOutputDevice, 0, &want, &have, SDL_AUDIO_ALLOW_ANY_CHANGE); // prevent SDL2 from resampling + if (audio.dev == 0) + { + if (showErrorMsg) + showErrorMsgBox("Couldn't open audio device:\n\"%s\"\n\nDo you have any audio device enabled and plugged in?", SDL_GetError()); + + return false; + } + + // test if the received audio format is compatible + if (have.format != AUDIO_S16 && have.format != AUDIO_F32) + { + if (showErrorMsg) + showErrorMsgBox("Couldn't open audio device:\nThe program doesn't support an SDL_AudioFormat of '%d' (not 16-bit or 24-bit float).", + (uint32_t)have.format); + + closeAudio(); + return false; + } + + // test if the received audio rate is compatible + if (have.freq != 44100 && have.freq != 48000 && have.freq != 96000) + { + if (showErrorMsg) + showErrorMsgBox("Couldn't open audio device:\nThe program doesn't support an audio output rate of %dHz. Sorry!", have.freq); + + closeAudio(); + return false; + } + + if (!setupAudioBuffers()) + { + if (showErrorMsg) + showErrorMsgBox("Not enough memory!"); + + closeAudio(); + return false; + } + + // set new bit depth flag + + newBitDepth = 16; + config.specialFlags &= ~BITDEPTH_24; + config.specialFlags |= BITDEPTH_16; + + if (have.format == AUDIO_F32) + { + newBitDepth = 24; + config.specialFlags &= ~BITDEPTH_16; + config.specialFlags |= BITDEPTH_24; + } + + audio.haveFreq = have.freq; + audio.haveSamples = have.samples; + audio.haveChannels = have.channels; + + // set a few variables + + config.audioFreq = have.freq; + audio.freq = have.freq; + smpBuffSize = have.samples; + + calcAudioLatencyVars(have.samples, have.freq); + + if ((config.specialFlags2 & DITHERED_AUDIO) && newBitDepth == 24) + config.specialFlags2 &= ~DITHERED_AUDIO; + + pmpChannels = have.channels; + pmpCountDiv = pmpChannels * ((newBitDepth == 16) ? sizeof (int16_t) : sizeof (float)); + + // make a copy of the new known working audio settings + + audio.lastWorkingAudioFreq = config.audioFreq; + audio.lastWorkingAudioBits = config.specialFlags & (BITDEPTH_16 + BITDEPTH_24 + BUFFSIZE_512 + BUFFSIZE_1024 + BUFFSIZE_2048); + setLastWorkingAudioDevName(); + + // update config audio radio buttons if we're on that screen at the moment + if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES) + showConfigScreen(); + + updateWavRendererSettings(); + setAudioAmp(config.boostLevel, config.masterVol, (config.specialFlags & BITDEPTH_24) ? true : false); + + // don't call stopVoices() in this routine + for (uint8_t i = 0; i < MAX_VOICES; i++) + stopVoice(i); + + stopAllScopes(); + + pmpLeft = 0; // reset sample counter + + calcReplayRate(audio.freq); + + if (song.speed == 0) + song.speed = 125; + + setSpeed(song.speed); // this is important + + updateSendAudSamplesRoutine(false); + audio.resetSyncTickTimeFlag = true; + + return true; +} + +void closeAudio(void) +{ + if (audio.dev > 0) + { + SDL_PauseAudioDevice(audio.dev, true); + SDL_CloseAudioDevice(audio.dev); + audio.dev = 0; + } + + freeAudioBuffers(); +} diff --git a/src/ft2_audio.h b/src/ft2_audio.h index 82efa2d..0b4b744 100644 --- a/src/ft2_audio.h +++ b/src/ft2_audio.h @@ -1,114 +1,114 @@ -#pragma once - -#include -#include -#include -#include "ft2_replayer.h" - -enum -{ - FREQ_TABLE_LINEAR = 0, - FREQ_TABLE_AMIGA = 1, -}; - -// for audio/video sync queue. (2^n-1 - don't change this! Queue buffer is already ~2.7MB in size) -#define SYNC_QUEUE_LEN 4095 - -#define MAX_AUDIO_DEVICES 99 - -#define MIN_AUDIO_FREQ 44100 -#define MAX_AUDIO_FREQ 96000 - -struct audio_t -{ - char *currInputDevice, *currOutputDevice, *lastWorkingAudioDeviceName; - char *inputDeviceNames[MAX_AUDIO_DEVICES], *outputDeviceNames[MAX_AUDIO_DEVICES]; - volatile bool locked, resetSyncTickTimeFlag, volumeRampingFlag, interpolationFlag; - bool linearFreqTable, rescanAudioDevicesSupported; - int32_t inputDeviceNum, outputDeviceNum, lastWorkingAudioFreq, lastWorkingAudioBits; - int32_t quickVolSizeVal, *mixBufferL, *mixBufferR; - uint32_t freq; - uint32_t audLatencyPerfValInt, audLatencyPerfValFrac; - uint64_t tickTime64, tickTime64Frac; - double dAudioLatencyMs, dSpeedValMul, dScopeFreqMul; - SDL_AudioDeviceID dev; - - uint32_t wantFreq, haveFreq, wantSamples, haveSamples, wantChannels, haveChannels; -} audio; - -typedef struct -{ - const int8_t *SBase8, *SRevBase8; - const int16_t *SBase16, *SRevBase16; - bool backwards, isFadeOutVoice; - uint8_t SPan; - uint16_t SVol; - int32_t SLVol1, SRVol1, SLVol2, SRVol2, SLVolIP, SRVolIP, SVolIPLen, SPos, SLen, SRepS, SRepL; - uint32_t SPosDec, SFrq, SFrqRev; - void (*mixRoutine)(void *, int32_t); // function pointer to mix routine -} voice_t; - -typedef struct pattSyncData_t -{ - uint8_t pattern, globalVol, songPos, timer, speed, tempo, patternPos; - uint64_t timestamp; -} pattSyncData_t; - -struct pattSync -{ - volatile int32_t readPos, writePos; - pattSyncData_t data[SYNC_QUEUE_LEN + 1]; -} pattSync; - -typedef struct chSyncData_t -{ - syncedChannel_t channels[MAX_VOICES]; - uint64_t timestamp; -} chSyncData_t; - -struct chSync -{ - volatile int32_t readPos, writePos; - chSyncData_t data[SYNC_QUEUE_LEN + 1]; -} chSync; - -void resetOldRevFreqs(void); -int32_t pattQueueReadSize(void); -int32_t pattQueueWriteSize(void); -bool pattQueuePush(pattSyncData_t t); -bool pattQueuePop(void); -pattSyncData_t *pattQueuePeek(void); -uint64_t getPattQueueTimestamp(void); -int32_t chQueueReadSize(void); -int32_t chQueueWriteSize(void); -bool chQueuePush(chSyncData_t t); -bool chQueuePop(void); -chSyncData_t *chQueuePeek(void); -uint64_t getChQueueTimestamp(void); -void setAudioAmp(int16_t ampFactor, int16_t master, bool bitDepth32Flag); -void setNewAudioFreq(uint32_t freq); -void setBackOldAudioFreq(void); -void setSpeed(uint16_t bpm); -void audioSetVolRamp(bool volRamp); -void audioSetInterpolation(bool interpolation); -void stopVoice(uint8_t i); -bool setupAudio(bool showErrorMsg); -void closeAudio(void); -void pauseAudio(void); -void resumeAudio(void); -bool setNewAudioSettings(void); -void resetDitherSeed(void); -void lockAudio(void); -void unlockAudio(void); -void lockMixerCallback(void); -void unlockMixerCallback(void); -void updateSendAudSamplesRoutine(bool lockMixer); -void mix_SaveIPVolumes(void); -void mix_UpdateChannelVolPanFrq(void); -uint32_t mixReplayerTickToBuffer(uint8_t *stream, uint8_t bitDepth); -//void benchmarkAudioChannelMixer(void); // for development testing - -extern pattSyncData_t *pattSyncEntry; -extern chSyncData_t *chSyncEntry; - -extern volatile bool pattQueueReading, pattQueueClearing, chQueueReading, chQueueClearing; +#pragma once + +#include +#include +#include +#include "ft2_replayer.h" + +enum +{ + FREQ_TABLE_LINEAR = 0, + FREQ_TABLE_AMIGA = 1, +}; + +// for audio/video sync queue. (2^n-1 - don't change this! Queue buffer is already ~2.7MB in size) +#define SYNC_QUEUE_LEN 4095 + +#define MAX_AUDIO_DEVICES 99 + +#define MIN_AUDIO_FREQ 44100 +#define MAX_AUDIO_FREQ 96000 + +#define CUBIC_TABLE_LEN (8192+1) + +struct audio_t +{ + char *currInputDevice, *currOutputDevice, *lastWorkingAudioDeviceName; + char *inputDeviceNames[MAX_AUDIO_DEVICES], *outputDeviceNames[MAX_AUDIO_DEVICES]; + volatile bool locked, resetSyncTickTimeFlag, volumeRampingFlag, interpolationFlag; + bool linearFreqTable, rescanAudioDevicesSupported; + int32_t inputDeviceNum, outputDeviceNum, lastWorkingAudioFreq, lastWorkingAudioBits; + int32_t quickVolSizeVal, *mixBufferL, *mixBufferR, *mixBufferLUnaligned, *mixBufferRUnaligned; + uint32_t freq; + uint32_t audLatencyPerfValInt, audLatencyPerfValFrac; + uint64_t tickTime64, tickTime64Frac; + double dAudioLatencyMs, dSpeedValMul, dScopeFreqMul; + SDL_AudioDeviceID dev; + uint32_t wantFreq, haveFreq, wantSamples, haveSamples, wantChannels, haveChannels; +} audio; + +typedef struct +{ + const int8_t *SBase8, *SRevBase8; + const int16_t *SBase16, *SRevBase16; + bool backwards, isFadeOutVoice; + uint8_t SPan; + uint16_t SVol; + int32_t SLVol1, SRVol1, SLVol2, SRVol2, SLVolIP, SRVolIP, SVolIPLen, SPos, SLen, SRepS, SRepL; + uint32_t SPosDec, SFrq, SFrqRev; + void (*mixRoutine)(void *, int32_t); // function pointer to mix routine +} voice_t; + +typedef struct pattSyncData_t +{ + uint8_t pattern, globalVol, songPos, timer, speed, tempo, patternPos; + uint64_t timestamp; +} pattSyncData_t; + +struct pattSync +{ + volatile int32_t readPos, writePos; + pattSyncData_t data[SYNC_QUEUE_LEN + 1]; +} pattSync; + +typedef struct chSyncData_t +{ + syncedChannel_t channels[MAX_VOICES]; + uint64_t timestamp; +} chSyncData_t; + +struct chSync +{ + volatile int32_t readPos, writePos; + chSyncData_t data[SYNC_QUEUE_LEN + 1]; +} chSync; + +extern pattSyncData_t *pattSyncEntry; +extern chSyncData_t *chSyncEntry; + +extern volatile bool pattQueueReading, pattQueueClearing, chQueueReading, chQueueClearing; + +void resetOldRevFreqs(void); +int32_t pattQueueReadSize(void); +int32_t pattQueueWriteSize(void); +bool pattQueuePush(pattSyncData_t t); +bool pattQueuePop(void); +pattSyncData_t *pattQueuePeek(void); +uint64_t getPattQueueTimestamp(void); +int32_t chQueueReadSize(void); +int32_t chQueueWriteSize(void); +bool chQueuePush(chSyncData_t t); +bool chQueuePop(void); +chSyncData_t *chQueuePeek(void); +uint64_t getChQueueTimestamp(void); +void setAudioAmp(int16_t ampFactor, int16_t master, bool bitDepth32Flag); +void setNewAudioFreq(uint32_t freq); +void setBackOldAudioFreq(void); +void setSpeed(uint16_t bpm); +void audioSetVolRamp(bool volRamp); +void audioSetInterpolation(bool interpolation); +void stopVoice(uint8_t i); +bool setupAudio(bool showErrorMsg); +void closeAudio(void); +void pauseAudio(void); +void resumeAudio(void); +bool setNewAudioSettings(void); +void resetAudioDither(void); +void lockAudio(void); +void unlockAudio(void); +void lockMixerCallback(void); +void unlockMixerCallback(void); +void updateSendAudSamplesRoutine(bool lockMixer); +void mix_SaveIPVolumes(void); +void mix_UpdateChannelVolPanFrq(void); +uint32_t mixReplayerTickToBuffer(uint8_t *stream, uint8_t bitDepth); diff --git a/src/ft2_audioselector.c b/src/ft2_audioselector.c index 1ced651..a914aa5 100644 --- a/src/ft2_audioselector.c +++ b/src/ft2_audioselector.c @@ -1,531 +1,531 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include "ft2_header.h" -#include "ft2_config.h" -#include "ft2_audio.h" -#include "ft2_gui.h" -#include "ft2_mouse.h" -#include "ft2_audioselector.h" - -char *getAudioOutputDeviceFromConfig(void) -{ -#define MAX_DEV_STR_LEN 256 - - const char *devStringTmp; - char *devString; - uint32_t devStringLen; - FILE *f; - - devString = (char *)calloc(MAX_DEV_STR_LEN + 1, sizeof (char)); - if (devString == NULL) - return NULL; - - f = UNICHAR_FOPEN(editor.audioDevConfigFileLocation, "r"); - if (f == NULL) - { - devStringTmp = SDL_GetAudioDeviceName(0, false); - if (devStringTmp == NULL) - { - free(devString); - return NULL; - } - - devStringLen = (uint32_t)strlen(devStringTmp); - if (devStringLen > 0) - strncpy(devString, devStringTmp, MAX_DEV_STR_LEN); - devString[devStringLen+1] = '\0'; // UTF-8 needs double null termination - } - else - { - if (fgets(devString, MAX_DEV_STR_LEN, f) == NULL) - { - free(devString); - fclose(f); - return NULL; - } - - devStringLen = (uint32_t)strlen(devString); - if (devString[devStringLen-1] == '\n') - devString[devStringLen-1] = '\0'; - devString[devStringLen+1] = '\0'; // UTF-8 needs double null termination - - fclose(f); - } - - return devString; -} - -char *getAudioInputDeviceFromConfig(void) -{ -#define MAX_DEV_STR_LEN 256 - - const char *devStringTmp; - char *devString; - uint32_t devStringLen; - FILE *f; - - devString = (char *)calloc(MAX_DEV_STR_LEN + 1, sizeof (char)); - if (devString == NULL) - return NULL; - - f = UNICHAR_FOPEN(editor.audioDevConfigFileLocation, "r"); - if (f == NULL) - { - devStringTmp = SDL_GetAudioDeviceName(0, true); - if (devStringTmp == NULL) - { - free(devString); - return NULL; - } - - devStringLen = (uint32_t)strlen(devStringTmp); - if (devStringLen > 0) - strncpy(devString, devStringTmp, MAX_DEV_STR_LEN); - devString[devStringLen+1] = '\0'; // UTF-8 needs double null termination - } - else - { - if (fgets(devString, MAX_DEV_STR_LEN, f) == NULL) - { - free(devString); - fclose(f); - return NULL; - } - - // do it one more time (next line) - if (fgets(devString, MAX_DEV_STR_LEN, f) == NULL) - { - free(devString); - fclose(f); - return NULL; - } - - devStringLen = (uint32_t)strlen(devString); - if (devString[devStringLen-1] == '\n') - devString[devStringLen-1] = '\0'; - devString[devStringLen+1] = '\0'; // UTF-8 needs double null termination - - fclose(f); - } - - return devString; -} - -bool saveAudioDevicesToConfig(const char *outputDevice, const char *inputDevice) -{ - FILE *f; - - f = UNICHAR_FOPEN(editor.audioDevConfigFileLocation, "w"); - if (f == NULL) - return false; - - if (outputDevice != NULL) - fputs(outputDevice, f); - fputc('\n', f); - if (inputDevice != NULL) - fputs(inputDevice, f); - - fclose(f); - return true; -} - -void drawAudioOutputList(void) -{ - char *tmpString; - uint16_t y; - int32_t deviceEntry; - - clearRect(114, 18, AUDIO_SELECTORS_BOX_WIDTH, 66); - - if (audio.outputDeviceNum == 0) - { - textOut(114, 18, PAL_FORGRND, "No audio output devices found!"); - return; - } - - for (int32_t i = 0; i < 6; i++) - { - deviceEntry = getScrollBarPos(SB_AUDIO_OUTPUT_SCROLL) + i; - if (deviceEntry < audio.outputDeviceNum) - { - if (audio.outputDeviceNames[deviceEntry] == NULL) - continue; - - y = 18 + (uint16_t)(i * 11); - - if (audio.currOutputDevice != NULL) - { - if (strcmp(audio.currOutputDevice, audio.outputDeviceNames[deviceEntry]) == 0) - fillRect(114, y, AUDIO_SELECTORS_BOX_WIDTH, 10, PAL_BUTTONS); // selection background color - } - - tmpString = utf8ToCp437(audio.outputDeviceNames[deviceEntry], true); - if (tmpString != NULL) - { - textOutClipX(114, y, PAL_FORGRND, tmpString, 114 + AUDIO_SELECTORS_BOX_WIDTH); - free(tmpString); - } - } - } -} - -void drawAudioInputList(void) -{ - char *tmpString; - uint16_t y; - int32_t deviceEntry; - - clearRect(114, 105, AUDIO_SELECTORS_BOX_WIDTH, 65); - - if (audio.inputDeviceNum == 0) - { - textOut(114, 105, PAL_FORGRND, "No audio input devices found!"); - return; - } - - for (int32_t i = 0; i < 6; i++) - { - deviceEntry = getScrollBarPos(SB_AUDIO_INPUT_SCROLL) + i; - if (deviceEntry < audio.inputDeviceNum) - { - if (audio.inputDeviceNames[deviceEntry] == NULL) - continue; - - y = 105 + (uint16_t)(i * 11); - - if (audio.currInputDevice != NULL) - { - if (strcmp(audio.currInputDevice, audio.inputDeviceNames[deviceEntry]) == 0) - fillRect(114, y, AUDIO_SELECTORS_BOX_WIDTH, 10, PAL_BUTTONS); // selection background color - } - - tmpString = utf8ToCp437(audio.inputDeviceNames[deviceEntry], true); - if (tmpString != NULL) - { - textOutClipX(114, y, PAL_FORGRND, tmpString, 114 + AUDIO_SELECTORS_BOX_WIDTH); - free(tmpString); - } - } - } -} - -bool testAudioDeviceListsMouseDown(void) -{ - char *devString; - int32_t mx, my, deviceNum; - uint32_t devStringLen; - - if (!editor.ui.configScreenShown || editor.currConfigScreen != CONFIG_SCREEN_IO_DEVICES) - return false; - - mx = mouse.x; - my = mouse.y; - - if (my < 18 || my > 170 || mx < 114 || mx >= 114+AUDIO_SELECTORS_BOX_WIDTH) - return false; - - if (my < 84) - { - // output device list - - deviceNum = (int32_t)scrollBars[SB_AUDIO_OUTPUT_SCROLL].pos + ((my - 18) / 11); - if (audio.outputDeviceNum <= 0 || deviceNum >= audio.outputDeviceNum) - return true; - - devString = audio.outputDeviceNames[deviceNum]; - if (audio.currOutputDevice == NULL || strcmp(audio.currOutputDevice, devString) != 0) - { - if (audio.currOutputDevice != NULL) - free(audio.currOutputDevice); - - devStringLen = (uint32_t)strlen(devString); - - audio.currOutputDevice = (char *)malloc(devStringLen + 2); - if (audio.currOutputDevice == NULL) - return true; - - if (devStringLen > 0) - strcpy(audio.currOutputDevice, devString); - audio.currOutputDevice[devStringLen+1] = '\0'; // UTF-8 needs double null termination - - if (!setNewAudioSettings()) - okBox(0, "System message", "Couldn't open audio input device!"); - else - drawAudioOutputList(); - } - - return true; - } - else if (my >= 105) - { - // input device list - - deviceNum = (int32_t)scrollBars[SB_AUDIO_INPUT_SCROLL].pos + ((my - 105) / 11); - if (audio.inputDeviceNum <= 0 || deviceNum >= audio.inputDeviceNum) - return true; - - devString = audio.inputDeviceNames[deviceNum]; - if (audio.currInputDevice == NULL || strcmp(audio.currInputDevice, devString) != 0) - { - if (audio.currInputDevice != NULL) - free(audio.currInputDevice); - - devStringLen = (uint32_t)strlen(devString); - - audio.currInputDevice = (char *)malloc(devStringLen + 2); - if (audio.currInputDevice == NULL) - return true; - - if (devStringLen > 0) - strcpy(audio.currInputDevice, devString); - audio.currInputDevice[devStringLen+1] = '\0'; // UTF-8 needs double null termination - - drawAudioInputList(); - } - - return true; - } - - return false; -} - -void freeAudioDeviceLists(void) -{ - for (uint32_t i = 0; i < MAX_AUDIO_DEVICES; i++) - { - if (audio.outputDeviceNames[i] != NULL) - { - free(audio.outputDeviceNames[i]); - audio.outputDeviceNames[i] = NULL; - } - - if (audio.inputDeviceNames[i] != NULL) - { - free(audio.inputDeviceNames[i]); - audio.inputDeviceNames[i] = NULL; - } - - audio.outputDeviceNum = 0; - audio.inputDeviceNum = 0; - } -} - -void freeAudioDeviceSelectorBuffers(void) -{ - if (editor.audioDevConfigFileLocation != NULL) - { - free(editor.audioDevConfigFileLocation); - editor.audioDevConfigFileLocation = NULL; - } - - if (audio.currOutputDevice != NULL) - { - free(audio.currOutputDevice); - audio.currOutputDevice = NULL; - } - - if (audio.currInputDevice != NULL) - { - free(audio.currInputDevice); - audio.currInputDevice = NULL; - } - - if (audio.lastWorkingAudioDeviceName != NULL) - { - free(audio.lastWorkingAudioDeviceName); - audio.lastWorkingAudioDeviceName = NULL; - } - - freeAudioDeviceLists(); -} - -void setToDefaultAudioOutputDevice(void) -{ - const char *devString; - uint32_t stringLen; - - devString = SDL_GetAudioDeviceName(0, false); - if (devString == NULL) - { - if (audio.currOutputDevice != NULL) - { - free(audio.currOutputDevice); - audio.currOutputDevice = NULL; - } - - return; - } - - stringLen = (uint32_t)strlen(devString); - - if (audio.currOutputDevice != NULL) - { - free(audio.currOutputDevice); - audio.currOutputDevice = NULL; - } - - audio.currOutputDevice = (char *)malloc(stringLen + 2); - if (audio.currOutputDevice == NULL) - return; - - if (stringLen > 0) - strcpy(audio.currOutputDevice, devString); - - audio.currOutputDevice[stringLen+1] = '\0'; // UTF-8 needs double null termination -} - -void setToDefaultAudioInputDevice(void) -{ - const char *devString; - uint32_t stringLen; - - devString = SDL_GetAudioDeviceName(0, true); - if (devString == NULL) - { - if (audio.currInputDevice != NULL) - { - free(audio.currInputDevice); - audio.currInputDevice = NULL; - } - - return; - } - - stringLen = (uint32_t)strlen(devString); - - if (audio.currInputDevice != NULL) - { - free(audio.currInputDevice); - audio.currInputDevice = NULL; - } - - audio.currInputDevice = (char *)malloc(stringLen + 2); - if (audio.currInputDevice == NULL) - return; - - if (stringLen > 0) - strcpy(audio.currInputDevice, devString); - - audio.currInputDevice[stringLen+1] = '\0'; // UTF-8 needs double null termination -} - -void rescanAudioDevices(void) -{ - bool listShown; - const char *deviceName; - uint32_t stringLen; - - listShown = (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES); - - freeAudioDeviceLists(); - - // GET AUDIO OUTPUT DEVICES - - audio.outputDeviceNum = SDL_GetNumAudioDevices(false); - if (audio.outputDeviceNum > MAX_AUDIO_DEVICES) - audio.outputDeviceNum = MAX_AUDIO_DEVICES; - - for (int32_t i = 0; i < audio.outputDeviceNum; i++) - { - deviceName = SDL_GetAudioDeviceName(i, false); - if (deviceName == NULL) - { - audio.outputDeviceNum--; // hide device - continue; - } - - stringLen = (uint32_t)strlen(deviceName); - - audio.outputDeviceNames[i] = (char *)malloc(stringLen + 2); - if (audio.outputDeviceNames[i] == NULL) - break; - - if (stringLen > 0) - strcpy(audio.outputDeviceNames[i], deviceName); - - audio.outputDeviceNames[i][stringLen+1] = '\0'; // UTF-8 needs double null termination - } - - // GET AUDIO INPUT DEVICES - - audio.inputDeviceNum = SDL_GetNumAudioDevices(true); - if (audio.inputDeviceNum > MAX_AUDIO_DEVICES) - audio.inputDeviceNum = MAX_AUDIO_DEVICES; - - for (int32_t i = 0; i < audio.inputDeviceNum; i++) - { - deviceName = SDL_GetAudioDeviceName(i, true); - if (deviceName == NULL) - { - audio.inputDeviceNum--; // hide device - continue; - } - - stringLen = (uint32_t)strlen(deviceName); - - audio.inputDeviceNames[i] = (char *)malloc(stringLen + 2); - if (audio.inputDeviceNames[i] == NULL) - break; - - if (stringLen > 0) - strcpy(audio.inputDeviceNames[i], deviceName); - - audio.inputDeviceNames[i][stringLen+1] = '\0'; // UTF-8 needs double null termination - } - - setScrollBarEnd(SB_AUDIO_OUTPUT_SCROLL, audio.outputDeviceNum); - setScrollBarPos(SB_AUDIO_OUTPUT_SCROLL, 0, false); - setScrollBarEnd(SB_AUDIO_INPUT_SCROLL, audio.inputDeviceNum); - setScrollBarPos(SB_AUDIO_INPUT_SCROLL, 0, false); - - // DRAW LISTS - - if (listShown) - { - drawAudioOutputList(); - drawAudioInputList(); - drawScrollBar(SB_AUDIO_OUTPUT_SCROLL); - drawScrollBar(SB_AUDIO_INPUT_SCROLL); - } -} - -void scrollAudInputDevListUp(void) -{ - scrollBarScrollUp(SB_AUDIO_INPUT_SCROLL, 1); -} - -void scrollAudInputDevListDown(void) -{ - scrollBarScrollDown(SB_AUDIO_INPUT_SCROLL, 1); -} - -void scrollAudOutputDevListUp(void) -{ - scrollBarScrollUp(SB_AUDIO_OUTPUT_SCROLL, 1); -} - -void scrollAudOutputDevListDown(void) -{ - scrollBarScrollDown(SB_AUDIO_OUTPUT_SCROLL, 1); -} - -void sbAudOutputSetPos(uint32_t pos) -{ - (void)pos; - - if (editor.ui.configScreenShown && (editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES)) - drawAudioOutputList(); -} - -void sbAudInputSetPos(uint32_t pos) -{ - (void)pos; - - if (editor.ui.configScreenShown && (editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES)) - drawAudioInputList(); -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include "ft2_header.h" +#include "ft2_config.h" +#include "ft2_audio.h" +#include "ft2_gui.h" +#include "ft2_mouse.h" +#include "ft2_audioselector.h" + +char *getAudioOutputDeviceFromConfig(void) +{ +#define MAX_DEV_STR_LEN 256 + + const char *devStringTmp; + char *devString; + uint32_t devStringLen; + FILE *f; + + devString = (char *)calloc(MAX_DEV_STR_LEN + 1, sizeof (char)); + if (devString == NULL) + return NULL; + + f = UNICHAR_FOPEN(editor.audioDevConfigFileLocation, "r"); + if (f == NULL) + { + devStringTmp = SDL_GetAudioDeviceName(0, false); + if (devStringTmp == NULL) + { + free(devString); + return NULL; + } + + devStringLen = (uint32_t)strlen(devStringTmp); + if (devStringLen > 0) + strncpy(devString, devStringTmp, MAX_DEV_STR_LEN); + devString[devStringLen+1] = '\0'; // UTF-8 needs double null termination + } + else + { + if (fgets(devString, MAX_DEV_STR_LEN, f) == NULL) + { + free(devString); + fclose(f); + return NULL; + } + + devStringLen = (uint32_t)strlen(devString); + if (devString[devStringLen-1] == '\n') + devString[devStringLen-1] = '\0'; + devString[devStringLen+1] = '\0'; // UTF-8 needs double null termination + + fclose(f); + } + + return devString; +} + +char *getAudioInputDeviceFromConfig(void) +{ +#define MAX_DEV_STR_LEN 256 + + const char *devStringTmp; + char *devString; + uint32_t devStringLen; + FILE *f; + + devString = (char *)calloc(MAX_DEV_STR_LEN + 1, sizeof (char)); + if (devString == NULL) + return NULL; + + f = UNICHAR_FOPEN(editor.audioDevConfigFileLocation, "r"); + if (f == NULL) + { + devStringTmp = SDL_GetAudioDeviceName(0, true); + if (devStringTmp == NULL) + { + free(devString); + return NULL; + } + + devStringLen = (uint32_t)strlen(devStringTmp); + if (devStringLen > 0) + strncpy(devString, devStringTmp, MAX_DEV_STR_LEN); + devString[devStringLen+1] = '\0'; // UTF-8 needs double null termination + } + else + { + if (fgets(devString, MAX_DEV_STR_LEN, f) == NULL) + { + free(devString); + fclose(f); + return NULL; + } + + // do it one more time (next line) + if (fgets(devString, MAX_DEV_STR_LEN, f) == NULL) + { + free(devString); + fclose(f); + return NULL; + } + + devStringLen = (uint32_t)strlen(devString); + if (devString[devStringLen-1] == '\n') + devString[devStringLen-1] = '\0'; + devString[devStringLen+1] = '\0'; // UTF-8 needs double null termination + + fclose(f); + } + + return devString; +} + +bool saveAudioDevicesToConfig(const char *outputDevice, const char *inputDevice) +{ + FILE *f; + + f = UNICHAR_FOPEN(editor.audioDevConfigFileLocation, "w"); + if (f == NULL) + return false; + + if (outputDevice != NULL) + fputs(outputDevice, f); + fputc('\n', f); + if (inputDevice != NULL) + fputs(inputDevice, f); + + fclose(f); + return true; +} + +void drawAudioOutputList(void) +{ + char *tmpString; + uint16_t y; + int32_t deviceEntry; + + clearRect(114, 18, AUDIO_SELECTORS_BOX_WIDTH, 66); + + if (audio.outputDeviceNum == 0) + { + textOut(114, 18, PAL_FORGRND, "No audio output devices found!"); + return; + } + + for (int32_t i = 0; i < 6; i++) + { + deviceEntry = getScrollBarPos(SB_AUDIO_OUTPUT_SCROLL) + i; + if (deviceEntry < audio.outputDeviceNum) + { + if (audio.outputDeviceNames[deviceEntry] == NULL) + continue; + + y = 18 + (uint16_t)(i * 11); + + if (audio.currOutputDevice != NULL) + { + if (strcmp(audio.currOutputDevice, audio.outputDeviceNames[deviceEntry]) == 0) + fillRect(114, y, AUDIO_SELECTORS_BOX_WIDTH, 10, PAL_BOXSLCT); // selection background color + } + + tmpString = utf8ToCp437(audio.outputDeviceNames[deviceEntry], true); + if (tmpString != NULL) + { + textOutClipX(114, y, PAL_FORGRND, tmpString, 114 + AUDIO_SELECTORS_BOX_WIDTH); + free(tmpString); + } + } + } +} + +void drawAudioInputList(void) +{ + char *tmpString; + uint16_t y; + int32_t deviceEntry; + + clearRect(114, 105, AUDIO_SELECTORS_BOX_WIDTH, 44); + + if (audio.inputDeviceNum == 0) + { + textOut(114, 105, PAL_FORGRND, "No audio input devices found!"); + return; + } + + for (int32_t i = 0; i < 4; i++) + { + deviceEntry = getScrollBarPos(SB_AUDIO_INPUT_SCROLL) + i; + if (deviceEntry < audio.inputDeviceNum) + { + if (audio.inputDeviceNames[deviceEntry] == NULL) + continue; + + y = 105 + (uint16_t)(i * 11); + + if (audio.currInputDevice != NULL) + { + if (strcmp(audio.currInputDevice, audio.inputDeviceNames[deviceEntry]) == 0) + fillRect(114, y, AUDIO_SELECTORS_BOX_WIDTH, 10, PAL_BOXSLCT); // selection background color + } + + tmpString = utf8ToCp437(audio.inputDeviceNames[deviceEntry], true); + if (tmpString != NULL) + { + textOutClipX(114, y, PAL_FORGRND, tmpString, 114 + AUDIO_SELECTORS_BOX_WIDTH); + free(tmpString); + } + } + } +} + +bool testAudioDeviceListsMouseDown(void) +{ + char *devString; + int32_t mx, my, deviceNum; + uint32_t devStringLen; + + if (!editor.ui.configScreenShown || editor.currConfigScreen != CONFIG_SCREEN_IO_DEVICES) + return false; + + mx = mouse.x; + my = mouse.y; + + if (my < 18 || my > 149 || mx < 114 || mx >= 114+AUDIO_SELECTORS_BOX_WIDTH) + return false; + + if (my < 84) + { + // output device list + + deviceNum = (int32_t)scrollBars[SB_AUDIO_OUTPUT_SCROLL].pos + ((my - 18) / 11); + if (audio.outputDeviceNum <= 0 || deviceNum >= audio.outputDeviceNum) + return true; + + devString = audio.outputDeviceNames[deviceNum]; + if (devString != NULL && (audio.currOutputDevice == NULL || strcmp(audio.currOutputDevice, devString) != 0)) + { + if (audio.currOutputDevice != NULL) + free(audio.currOutputDevice); + + devStringLen = (uint32_t)strlen(devString); + + audio.currOutputDevice = (char *)malloc(devStringLen + 2); + if (audio.currOutputDevice == NULL) + return true; + + if (devStringLen > 0) + strcpy(audio.currOutputDevice, devString); + audio.currOutputDevice[devStringLen+1] = '\0'; // UTF-8 needs double null termination + + if (!setNewAudioSettings()) + okBox(0, "System message", "Couldn't open audio input device!"); + else + drawAudioOutputList(); + } + + return true; + } + else if (my >= 105) + { + // input device list + + deviceNum = (int32_t)scrollBars[SB_AUDIO_INPUT_SCROLL].pos + ((my - 105) / 11); + if (audio.inputDeviceNum <= 0 || deviceNum >= audio.inputDeviceNum) + return true; + + devString = audio.inputDeviceNames[deviceNum]; + if (devString != NULL && (audio.currInputDevice == NULL || strcmp(audio.currInputDevice, devString) != 0)) + { + if (audio.currInputDevice != NULL) + free(audio.currInputDevice); + + devStringLen = (uint32_t)strlen(devString); + + audio.currInputDevice = (char *)malloc(devStringLen + 2); + if (audio.currInputDevice == NULL) + return true; + + if (devStringLen > 0) + strcpy(audio.currInputDevice, devString); + audio.currInputDevice[devStringLen+1] = '\0'; // UTF-8 needs double null termination + + drawAudioInputList(); + } + + return true; + } + + return false; +} + +void freeAudioDeviceLists(void) +{ + for (uint32_t i = 0; i < MAX_AUDIO_DEVICES; i++) + { + if (audio.outputDeviceNames[i] != NULL) + { + free(audio.outputDeviceNames[i]); + audio.outputDeviceNames[i] = NULL; + } + + if (audio.inputDeviceNames[i] != NULL) + { + free(audio.inputDeviceNames[i]); + audio.inputDeviceNames[i] = NULL; + } + + audio.outputDeviceNum = 0; + audio.inputDeviceNum = 0; + } +} + +void freeAudioDeviceSelectorBuffers(void) +{ + if (editor.audioDevConfigFileLocation != NULL) + { + free(editor.audioDevConfigFileLocation); + editor.audioDevConfigFileLocation = NULL; + } + + if (audio.currOutputDevice != NULL) + { + free(audio.currOutputDevice); + audio.currOutputDevice = NULL; + } + + if (audio.currInputDevice != NULL) + { + free(audio.currInputDevice); + audio.currInputDevice = NULL; + } + + if (audio.lastWorkingAudioDeviceName != NULL) + { + free(audio.lastWorkingAudioDeviceName); + audio.lastWorkingAudioDeviceName = NULL; + } + + freeAudioDeviceLists(); +} + +void setToDefaultAudioOutputDevice(void) +{ + const char *devString; + uint32_t stringLen; + + devString = SDL_GetAudioDeviceName(0, false); + if (devString == NULL) + { + if (audio.currOutputDevice != NULL) + { + free(audio.currOutputDevice); + audio.currOutputDevice = NULL; + } + + return; + } + + stringLen = (uint32_t)strlen(devString); + + if (audio.currOutputDevice != NULL) + { + free(audio.currOutputDevice); + audio.currOutputDevice = NULL; + } + + audio.currOutputDevice = (char *)malloc(stringLen + 2); + if (audio.currOutputDevice == NULL) + return; + + if (stringLen > 0) + strcpy(audio.currOutputDevice, devString); + + audio.currOutputDevice[stringLen+1] = '\0'; // UTF-8 needs double null termination +} + +void setToDefaultAudioInputDevice(void) +{ + const char *devString; + uint32_t stringLen; + + devString = SDL_GetAudioDeviceName(0, true); + if (devString == NULL) + { + if (audio.currInputDevice != NULL) + { + free(audio.currInputDevice); + audio.currInputDevice = NULL; + } + + return; + } + + stringLen = (uint32_t)strlen(devString); + + if (audio.currInputDevice != NULL) + { + free(audio.currInputDevice); + audio.currInputDevice = NULL; + } + + audio.currInputDevice = (char *)malloc(stringLen + 2); + if (audio.currInputDevice == NULL) + return; + + if (stringLen > 0) + strcpy(audio.currInputDevice, devString); + + audio.currInputDevice[stringLen+1] = '\0'; // UTF-8 needs double null termination +} + +void rescanAudioDevices(void) +{ + bool listShown; + const char *deviceName; + uint32_t stringLen; + + listShown = (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES); + + freeAudioDeviceLists(); + + // GET AUDIO OUTPUT DEVICES + + audio.outputDeviceNum = SDL_GetNumAudioDevices(false); + if (audio.outputDeviceNum > MAX_AUDIO_DEVICES) + audio.outputDeviceNum = MAX_AUDIO_DEVICES; + + for (int32_t i = 0; i < audio.outputDeviceNum; i++) + { + deviceName = SDL_GetAudioDeviceName(i, false); + if (deviceName == NULL) + { + audio.outputDeviceNum--; // hide device + continue; + } + + stringLen = (uint32_t)strlen(deviceName); + + audio.outputDeviceNames[i] = (char *)malloc(stringLen + 2); + if (audio.outputDeviceNames[i] == NULL) + break; + + if (stringLen > 0) + strcpy(audio.outputDeviceNames[i], deviceName); + + audio.outputDeviceNames[i][stringLen+1] = '\0'; // UTF-8 needs double null termination + } + + // GET AUDIO INPUT DEVICES + + audio.inputDeviceNum = SDL_GetNumAudioDevices(true); + if (audio.inputDeviceNum > MAX_AUDIO_DEVICES) + audio.inputDeviceNum = MAX_AUDIO_DEVICES; + + for (int32_t i = 0; i < audio.inputDeviceNum; i++) + { + deviceName = SDL_GetAudioDeviceName(i, true); + if (deviceName == NULL) + { + audio.inputDeviceNum--; // hide device + continue; + } + + stringLen = (uint32_t)strlen(deviceName); + + audio.inputDeviceNames[i] = (char *)malloc(stringLen + 2); + if (audio.inputDeviceNames[i] == NULL) + break; + + if (stringLen > 0) + strcpy(audio.inputDeviceNames[i], deviceName); + + audio.inputDeviceNames[i][stringLen+1] = '\0'; // UTF-8 needs double null termination + } + + setScrollBarEnd(SB_AUDIO_OUTPUT_SCROLL, audio.outputDeviceNum); + setScrollBarPos(SB_AUDIO_OUTPUT_SCROLL, 0, false); + setScrollBarEnd(SB_AUDIO_INPUT_SCROLL, audio.inputDeviceNum); + setScrollBarPos(SB_AUDIO_INPUT_SCROLL, 0, false); + + // DRAW LISTS + + if (listShown) + { + drawAudioOutputList(); + drawAudioInputList(); + drawScrollBar(SB_AUDIO_OUTPUT_SCROLL); + drawScrollBar(SB_AUDIO_INPUT_SCROLL); + } +} + +void scrollAudInputDevListUp(void) +{ + scrollBarScrollUp(SB_AUDIO_INPUT_SCROLL, 1); +} + +void scrollAudInputDevListDown(void) +{ + scrollBarScrollDown(SB_AUDIO_INPUT_SCROLL, 1); +} + +void scrollAudOutputDevListUp(void) +{ + scrollBarScrollUp(SB_AUDIO_OUTPUT_SCROLL, 1); +} + +void scrollAudOutputDevListDown(void) +{ + scrollBarScrollDown(SB_AUDIO_OUTPUT_SCROLL, 1); +} + +void sbAudOutputSetPos(uint32_t pos) +{ + (void)pos; + + if (editor.ui.configScreenShown && (editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES)) + drawAudioOutputList(); +} + +void sbAudInputSetPos(uint32_t pos) +{ + (void)pos; + + if (editor.ui.configScreenShown && (editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES)) + drawAudioInputList(); +} diff --git a/src/ft2_audioselector.h b/src/ft2_audioselector.h index 7f9b848..76ba945 100644 --- a/src/ft2_audioselector.h +++ b/src/ft2_audioselector.h @@ -1,21 +1,21 @@ -#pragma once - -#include - -#define AUDIO_SELECTORS_BOX_WIDTH 247 - -void setToDefaultAudioOutputDevice(void); -void setToDefaultAudioInputDevice(void); -char *getAudioOutputDeviceFromConfig(void); -char *getAudioInputDeviceFromConfig(void); -bool saveAudioDevicesToConfig(const char *inputString, const char *outputString); -bool testAudioDeviceListsMouseDown(void); -void rescanAudioDevices(void); -void scrollAudInputDevListUp(void); -void scrollAudInputDevListDown(void); -void scrollAudOutputDevListUp(void); -void scrollAudOutputDevListDown(void); -void sbAudOutputSetPos(uint32_t pos); -void sbAudInputSetPos(uint32_t pos); -void freeAudioDeviceLists(void); -void freeAudioDeviceSelectorBuffers(void); +#pragma once + +#include + +#define AUDIO_SELECTORS_BOX_WIDTH 247 + +void setToDefaultAudioOutputDevice(void); +void setToDefaultAudioInputDevice(void); +char *getAudioOutputDeviceFromConfig(void); +char *getAudioInputDeviceFromConfig(void); +bool saveAudioDevicesToConfig(const char *inputString, const char *outputString); +bool testAudioDeviceListsMouseDown(void); +void rescanAudioDevices(void); +void scrollAudInputDevListUp(void); +void scrollAudInputDevListDown(void); +void scrollAudOutputDevListUp(void); +void scrollAudOutputDevListDown(void); +void sbAudOutputSetPos(uint32_t pos); +void sbAudInputSetPos(uint32_t pos); +void freeAudioDeviceLists(void); +void freeAudioDeviceSelectorBuffers(void); diff --git a/src/ft2_checkboxes.c b/src/ft2_checkboxes.c index 44ebf29..08945df 100644 --- a/src/ft2_checkboxes.c +++ b/src/ft2_checkboxes.c @@ -1,336 +1,336 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include "ft2_header.h" -#include "ft2_gui.h" -#include "ft2_config.h" -#include "ft2_sample_ed.h" -#include "ft2_nibbles.h" -#include "ft2_inst_ed.h" -#include "ft2_pattern_ed.h" -#include "ft2_trim.h" -#include "ft2_mouse.h" -#include "ft2_edit.h" - -checkBox_t checkBoxes[NUM_CHECKBOXES] = -{ - // ------ RESERVED CHECKBOX ------ - { 0 }, - - /* - ** -- STRUCT INFO: -- - ** x = x position - ** y = y position - ** w = clickable width space, relative to x - ** h = clickable height space, relative to y - ** funcOnUp = function to call when released - */ - - // ------ NIBBLES CHECKBOXES ------ - //x, y, w, h, funcOnUp - { 3, 133, 70, 12, nibblesToggleSurround }, - { 3, 146, 40, 12, nibblesToggleGrid }, - { 3, 159, 45, 12, nibblesToggleWrap }, - - // ------ ADVANCED EDIT CHECKBOXES ------ - //x, y, w, h, funcOnUp - { 113, 94, 105, 12, toggleCopyMaskEnable }, - { 237, 107, 13, 12, toggleCopyMask0 }, - { 237, 120, 13, 12, toggleCopyMask1 }, - { 237, 133, 13, 12, toggleCopyMask2 }, - { 237, 146, 13, 12, toggleCopyMask3 }, - { 237, 159, 13, 12, toggleCopyMask4 }, - { 256, 107, 13, 12, togglePasteMask0 }, - { 256, 120, 13, 12, togglePasteMask1 }, - { 256, 133, 13, 12, togglePasteMask2 }, - { 256, 146, 13, 12, togglePasteMask3 }, - { 256, 159, 13, 12, togglePasteMask4 }, - { 275, 107, 13, 12, toggleTranspMask0 }, - { 275, 120, 13, 12, toggleTranspMask1 }, - { 275, 133, 13, 12, toggleTranspMask2 }, - { 275, 146, 13, 12, toggleTranspMask3 }, - { 275, 159, 13, 12, toggleTranspMask4 }, - - // ------ INSTRUMENT EDITOR CHECKBOXES ------ - //x, y, w, h, funcOnUp - { 3, 175, 118, 12, cbVEnv }, - { 341, 192, 64, 12, cbVEnvSus }, - { 341, 217, 70, 12, cbVEnvLoop }, - { 3, 262, 123, 12, cbPEnv }, - { 341, 279, 64, 12, cbPEnvSus }, - { 341, 304, 70, 12, cbPEnvLoop }, - - // ------ INSTRUMENT EDITOR EXTENSION CHECKBOXES ------ - //x, y, w, h, funcOnUp - { 3, 112, 148, 12, cbInstMidiEnable }, - { 172, 112, 103, 12, cbInstMuteComputer }, - - // ------ TRIM SCREEN CHECKBOXES ------ - //x, y, w, h, funcOnUp - { 3, 107, 113, 12, cbTrimUnusedPatt }, - { 3, 120, 132, 12, cbTrimUnusedInst }, - { 3, 133, 110, 12, cbTrimUnusedSamp }, - { 3, 146, 115, 12, cbTrimUnusedChans }, - { 3, 159, 130, 12, cbTrimUnusedSmpData }, - { 139, 94, 149, 12, cbTrimSmpsTo8Bit }, - - // ------ CONFIG CHECKBOXES ------ - //x, y, w, h, funcOnUp - { 3, 91, 76, 12, cbToggleAutoSaveConfig }, - { 389, 132, 90, 12, cbConfigInterpolation }, - { 389, 145, 107, 12, cbConfigVolRamp }, - { 389, 158 , 94, 12, cbConfigDither }, - { 113, 14, 108, 12, cbConfigPattStretch }, - { 113, 27, 77, 12, cbConfigHexCount }, - { 113, 40, 81, 12, cbConfigAccidential }, - { 113, 53, 92, 12, cbConfigShowZeroes }, - { 113, 66, 81, 12, cbConfigFramework }, - { 113, 79, 128, 12, cbConfigLineColors }, - { 113, 92, 126, 12, cbConfigChanNums }, - { 255, 14, 136, 12, cbConfigShowVolCol }, - { 255, 158, 113, 12, cbHardwareMouse }, - // --------------------------------- - { 212, 2, 142, 12, cbSampCutToBuff }, - { 212, 15, 145, 12, cbPattCutToBuff }, - { 212, 28, 153, 12, cbKillNotesAtStop }, - { 212, 41, 149, 12, cbFileOverwriteWarn }, - { 212, 69, 130, 12, cbMultiChanRec }, - { 212, 82, 153, 12, cbMultiChanKeyJazz }, - { 212, 95, 114, 12, cbMultiChanEdit }, - { 212, 108, 162, 12, cbRecKeyOff }, - { 212, 121, 77, 12, cbQuantisize }, - { 212, 134, 180, 25, cbChangePattLenInsDel }, - { 212, 159, 187, 12, cbMIDIAllowPC }, - { 411, 93, 83, 12, cbMIDIEnable }, - { 530, 106, 30, 12, cbMIDIRecAllChn }, - { 411, 119, 121, 12, cbMIDIRecTransp }, - { 411, 132, 109, 12, cbMIDIRecVelosity }, - { 411, 145, 124, 12, cbMIDIRecAftert }, - { 113, 115, 74, 12, cbVsyncOff }, - { 113, 128, 78, 12, cbFullScreen }, - { 113, 141, 78, 12, cbPixelFilter } -}; - -// these are defined at the bottom of this file -extern const uint8_t checkMarkGraphics[CHECKMARK_W * CHECKMARK_H]; -extern const uint8_t accidentalFlat[5 * 6]; -extern const uint8_t accidentalSharp[5 * 6]; - -void drawCheckBox(uint16_t checkBoxID) -{ - uint8_t state; - uint16_t x, y, w, h; - checkBox_t *checkBox; - const uint8_t *srcPtr; - - assert(checkBoxID < NUM_CHECKBOXES); - checkBox = &checkBoxes[checkBoxID]; - if (!checkBox->visible) - return; - - state = checkBox->state; - - x = checkBox->x; - y = checkBox->y; - w = CHECKBOX_W; - h = CHECKBOX_H; - - // fill button background - fillRect(x + 1, y + 1, w - 2, h - 2, PAL_BUTTONS); - - // draw outer border - hLine(x, y, w, PAL_BCKGRND); - hLine(x, y + h - 1, w, PAL_BCKGRND); - vLine(x, y, h, PAL_BCKGRND); - vLine(x + w - 1, y, h, PAL_BCKGRND); - - // draw inner borders - if (state == CHECKBOX_UNPRESSED) - { - // top left corner inner border - hLine(x + 1, y + 1, w - 3, PAL_BUTTON1); - vLine(x + 1, y + 2, h - 4, PAL_BUTTON1); - - // bottom right corner inner border - hLine(x + 1 - 0, y + h - 2, w - 2, PAL_BUTTON2); - vLine(x + w - 2, y + 1 - 0, h - 3, PAL_BUTTON2); - } - else - { - // top left corner inner border - hLine(x + 1, y + 1, w - 2, PAL_BUTTON2); - vLine(x + 1, y + 2, h - 3, PAL_BUTTON2); - } - - // for the special "Accidental" check button in Config Layout - srcPtr = (config.ptnAcc == 1) ? accidentalSharp : accidentalFlat; - - // draw check mark (if checked) - if (checkBox->checked) - { - if (checkBoxID == CB_CONF_ACCIDENTAL) - { - if (state == CHECKBOX_PRESSED) - blitFast(x + 5, y + 4, srcPtr, 5, 6); - else - blitFast(x + 4, y + 3, srcPtr, 5, 6); - } - else - { - if (state == CHECKBOX_PRESSED) - blitFast(x + 3, y + 4, checkMarkGraphics, CHECKMARK_W, CHECKMARK_H); - else - blitFast(x + 2, y + 3, checkMarkGraphics, CHECKMARK_W, CHECKMARK_H); - } - } - else - { - if (checkBoxID == CB_CONF_ACCIDENTAL) - { - if (state == CHECKBOX_PRESSED) - blitFast(x + 5, y + 4, srcPtr, 5, 6); - else - blitFast(x + 4, y + 3, srcPtr, 5, 6); - } - } -} - -void showCheckBox(uint16_t checkBoxID) -{ - assert(checkBoxID < NUM_CHECKBOXES); - checkBoxes[checkBoxID].visible = true; - drawCheckBox(checkBoxID); -} - -void hideCheckBox(uint16_t checkBoxID) -{ - assert(checkBoxID < NUM_CHECKBOXES); - checkBoxes[checkBoxID].state = 0; - checkBoxes[checkBoxID].visible = false; -} - -void handleCheckBoxesWhileMouseDown(void) -{ - checkBox_t *checkBox; - - assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_CHECKBOXES); - checkBox = &checkBoxes[mouse.lastUsedObjectID]; - if (!checkBox->visible) - return; - - checkBox->state = CHECKBOX_UNPRESSED; - if (mouse.x >= checkBox->x && mouse.x < checkBox->x+checkBox->clickAreaWidth && - mouse.y >= checkBox->y && mouse.y < checkBox->y+checkBox->clickAreaHeight) - { - checkBox->state = CHECKBOX_PRESSED; - } - - if (mouse.lastX != mouse.x || mouse.lastY != mouse.y) - { - mouse.lastX = mouse.x; - mouse.lastY = mouse.y; - - drawCheckBox(mouse.lastUsedObjectID); - } -} - -bool testCheckBoxMouseDown(void) -{ - uint16_t start, end; - checkBox_t *checkBox; - - if (editor.ui.sysReqShown) - { - // if a system request is open, only test the first three checkboxes (reserved) - start = 0; - end = 1; - } - else - { - start = 1; - end = NUM_CHECKBOXES; - } - - for (uint16_t i = start; i < end; i++) - { - checkBox = &checkBoxes[i]; - if (!checkBox->visible) - continue; - - if (mouse.x >= checkBox->x && mouse.x < checkBox->x+checkBox->clickAreaWidth && - mouse.y >= checkBox->y && mouse.y < checkBox->y+checkBox->clickAreaHeight) - { - mouse.lastUsedObjectID = i; - mouse.lastUsedObjectType = OBJECT_CHECKBOX; - checkBox->state = CHECKBOX_PRESSED; - drawCheckBox(mouse.lastUsedObjectID); - return true; - } - } - - return false; -} - -void testCheckBoxMouseRelease(void) -{ - checkBox_t *checkBox; - - if (mouse.lastUsedObjectType != OBJECT_CHECKBOX || mouse.lastUsedObjectID == OBJECT_ID_NONE) - return; - - assert(mouse.lastUsedObjectID < NUM_CHECKBOXES); - checkBox = &checkBoxes[mouse.lastUsedObjectID]; - if (!checkBox->visible) - return; - - if (mouse.x >= checkBox->x && mouse.x < checkBox->x+checkBox->clickAreaWidth && - mouse.y >= checkBox->y && mouse.y < checkBox->y+checkBox->clickAreaHeight) - { - checkBox->checked ^= 1; - - checkBox->state = CHECKBOX_UNPRESSED; - drawCheckBox(mouse.lastUsedObjectID); - - if (checkBox->callbackFunc != NULL) - checkBox->callbackFunc(); - } -} - -const uint8_t checkMarkGraphics[CHECKMARK_W * CHECKMARK_H] = -{ - PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, - PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, - PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, - PAL_BUTTONS, PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, PAL_BUTTONS, - PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BCKGRND, - PAL_BCKGRND, PAL_BUTTONS, PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, - PAL_BUTTONS, PAL_BUTTONS, PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, - PAL_BUTTONS, PAL_BUTTONS, PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, - PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, - PAL_BUTTONS, PAL_BUTTONS, PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, - PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, - PAL_BUTTONS, PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, PAL_BUTTONS, - PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS -}; - -const uint8_t accidentalFlat[5 * 6] = -{ - PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, - PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, - PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, - PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, - PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, - PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS -}; - -const uint8_t accidentalSharp[5 * 6] = -{ - PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, - PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, - PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, - PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, PAL_BCKGRND, PAL_BCKGRND, - PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, PAL_BCKGRND, PAL_BCKGRND, - PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS -}; +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include "ft2_header.h" +#include "ft2_gui.h" +#include "ft2_config.h" +#include "ft2_sample_ed.h" +#include "ft2_nibbles.h" +#include "ft2_inst_ed.h" +#include "ft2_pattern_ed.h" +#include "ft2_trim.h" +#include "ft2_mouse.h" +#include "ft2_edit.h" + +checkBox_t checkBoxes[NUM_CHECKBOXES] = +{ + // ------ RESERVED CHECKBOX ------ + { 0 }, + + /* + ** -- STRUCT INFO: -- + ** x = x position + ** y = y position + ** w = clickable width space, relative to x + ** h = clickable height space, relative to y + ** funcOnUp = function to call when released + */ + + // ------ NIBBLES CHECKBOXES ------ + //x, y, w, h, funcOnUp + { 3, 133, 70, 12, nibblesToggleSurround }, + { 3, 146, 40, 12, nibblesToggleGrid }, + { 3, 159, 45, 12, nibblesToggleWrap }, + + // ------ ADVANCED EDIT CHECKBOXES ------ + //x, y, w, h, funcOnUp + { 113, 94, 105, 12, toggleCopyMaskEnable }, + { 237, 107, 13, 12, toggleCopyMask0 }, + { 237, 120, 13, 12, toggleCopyMask1 }, + { 237, 133, 13, 12, toggleCopyMask2 }, + { 237, 146, 13, 12, toggleCopyMask3 }, + { 237, 159, 13, 12, toggleCopyMask4 }, + { 256, 107, 13, 12, togglePasteMask0 }, + { 256, 120, 13, 12, togglePasteMask1 }, + { 256, 133, 13, 12, togglePasteMask2 }, + { 256, 146, 13, 12, togglePasteMask3 }, + { 256, 159, 13, 12, togglePasteMask4 }, + { 275, 107, 13, 12, toggleTranspMask0 }, + { 275, 120, 13, 12, toggleTranspMask1 }, + { 275, 133, 13, 12, toggleTranspMask2 }, + { 275, 146, 13, 12, toggleTranspMask3 }, + { 275, 159, 13, 12, toggleTranspMask4 }, + + // ------ INSTRUMENT EDITOR CHECKBOXES ------ + //x, y, w, h, funcOnUp + { 3, 175, 118, 12, cbVEnv }, + { 341, 192, 64, 12, cbVEnvSus }, + { 341, 217, 70, 12, cbVEnvLoop }, + { 3, 262, 123, 12, cbPEnv }, + { 341, 279, 64, 12, cbPEnvSus }, + { 341, 304, 70, 12, cbPEnvLoop }, + + // ------ INSTRUMENT EDITOR EXTENSION CHECKBOXES ------ + //x, y, w, h, funcOnUp + { 3, 112, 148, 12, cbInstMidiEnable }, + { 172, 112, 103, 12, cbInstMuteComputer }, + + // ------ TRIM SCREEN CHECKBOXES ------ + //x, y, w, h, funcOnUp + { 3, 107, 113, 12, cbTrimUnusedPatt }, + { 3, 120, 132, 12, cbTrimUnusedInst }, + { 3, 133, 110, 12, cbTrimUnusedSamp }, + { 3, 146, 115, 12, cbTrimUnusedChans }, + { 3, 159, 130, 12, cbTrimUnusedSmpData }, + { 139, 94, 149, 12, cbTrimSmpsTo8Bit }, + + // ------ CONFIG CHECKBOXES ------ + //x, y, w, h, funcOnUp + { 3, 91, 76, 12, cbToggleAutoSaveConfig }, + { 389, 132, 90, 12, cbConfigInterpolation }, + { 389, 145, 107, 12, cbConfigVolRamp }, + { 389, 158 , 84, 12, cbConfigDither }, + { 113, 14, 108, 12, cbConfigPattStretch }, + { 113, 27, 117, 12, cbConfigHexCount }, + { 113, 40, 81, 12, cbConfigAccidential }, + { 113, 53, 92, 12, cbConfigShowZeroes }, + { 113, 66, 81, 12, cbConfigFramework }, + { 113, 79, 128, 12, cbConfigLineColors }, + { 113, 92, 126, 12, cbConfigChanNums }, + { 255, 14, 136, 12, cbConfigShowVolCol }, + { 255, 158, 111, 12, cbSoftwareMouse }, + // --------------------------------- + { 212, 2, 150, 12, cbSampCutToBuff }, + { 212, 15, 153, 12, cbPattCutToBuff }, + { 212, 28, 159, 12, cbKillNotesAtStop }, + { 212, 41, 149, 12, cbFileOverwriteWarn }, + { 212, 69, 130, 12, cbMultiChanRec }, + { 212, 82, 157, 12, cbMultiChanKeyJazz }, + { 212, 95, 114, 12, cbMultiChanEdit }, + { 212, 108, 143, 12, cbRecKeyOff }, + { 212, 121, 89, 12, cbQuantization }, + { 212, 134, 180, 25, cbChangePattLenInsDel }, + { 212, 159, 187, 12, cbMIDIAllowPC }, + { 411, 93, 83, 12, cbMIDIEnable }, + { 530, 106, 29, 12, cbMIDIRecAllChn }, + { 411, 119, 121, 12, cbMIDIRecTransp }, + { 411, 132, 109, 12, cbMIDIRecVelocity }, + { 411, 145, 124, 12, cbMIDIRecAftert }, + { 113, 115, 74, 12, cbVsyncOff }, + { 113, 128, 78, 12, cbFullScreen }, + { 113, 141, 78, 12, cbPixelFilter } +}; + +// these are defined at the bottom of this file +extern const uint8_t checkMarkGraphics[CHECKMARK_W * CHECKMARK_H]; +extern const uint8_t accidentalFlat[5 * 6]; +extern const uint8_t accidentalSharp[5 * 6]; + +void drawCheckBox(uint16_t checkBoxID) +{ + uint8_t state; + uint16_t x, y, w, h; + checkBox_t *checkBox; + const uint8_t *srcPtr; + + assert(checkBoxID < NUM_CHECKBOXES); + checkBox = &checkBoxes[checkBoxID]; + if (!checkBox->visible) + return; + + state = checkBox->state; + + x = checkBox->x; + y = checkBox->y; + w = CHECKBOX_W; + h = CHECKBOX_H; + + // fill button background + fillRect(x + 1, y + 1, w - 2, h - 2, PAL_BUTTONS); + + // draw outer border + hLine(x, y, w, PAL_BCKGRND); + hLine(x, y + h - 1, w, PAL_BCKGRND); + vLine(x, y, h, PAL_BCKGRND); + vLine(x + w - 1, y, h, PAL_BCKGRND); + + // draw inner borders + if (state == CHECKBOX_UNPRESSED) + { + // top left corner inner border + hLine(x + 1, y + 1, w - 3, PAL_BUTTON1); + vLine(x + 1, y + 2, h - 4, PAL_BUTTON1); + + // bottom right corner inner border + hLine(x + 1 - 0, y + h - 2, w - 2, PAL_BUTTON2); + vLine(x + w - 2, y + 1 - 0, h - 3, PAL_BUTTON2); + } + else + { + // top left corner inner border + hLine(x + 1, y + 1, w - 2, PAL_BUTTON2); + vLine(x + 1, y + 2, h - 3, PAL_BUTTON2); + } + + // for the special "Accidental" check button in Config Layout + srcPtr = (config.ptnAcc == 1) ? accidentalSharp : accidentalFlat; + + // draw check mark (if checked) + if (checkBox->checked) + { + if (checkBoxID == CB_CONF_ACCIDENTAL) + { + if (state == CHECKBOX_PRESSED) + blitFast(x + 5, y + 4, srcPtr, 5, 6); + else + blitFast(x + 4, y + 3, srcPtr, 5, 6); + } + else + { + if (state == CHECKBOX_PRESSED) + blitFast(x + 3, y + 4, checkMarkGraphics, CHECKMARK_W, CHECKMARK_H); + else + blitFast(x + 2, y + 3, checkMarkGraphics, CHECKMARK_W, CHECKMARK_H); + } + } + else + { + if (checkBoxID == CB_CONF_ACCIDENTAL) + { + if (state == CHECKBOX_PRESSED) + blitFast(x + 5, y + 4, srcPtr, 5, 6); + else + blitFast(x + 4, y + 3, srcPtr, 5, 6); + } + } +} + +void showCheckBox(uint16_t checkBoxID) +{ + assert(checkBoxID < NUM_CHECKBOXES); + checkBoxes[checkBoxID].visible = true; + drawCheckBox(checkBoxID); +} + +void hideCheckBox(uint16_t checkBoxID) +{ + assert(checkBoxID < NUM_CHECKBOXES); + checkBoxes[checkBoxID].state = 0; + checkBoxes[checkBoxID].visible = false; +} + +void handleCheckBoxesWhileMouseDown(void) +{ + checkBox_t *checkBox; + + assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_CHECKBOXES); + checkBox = &checkBoxes[mouse.lastUsedObjectID]; + if (!checkBox->visible) + return; + + checkBox->state = CHECKBOX_UNPRESSED; + if (mouse.x >= checkBox->x && mouse.x < checkBox->x+checkBox->clickAreaWidth && + mouse.y >= checkBox->y && mouse.y < checkBox->y+checkBox->clickAreaHeight) + { + checkBox->state = CHECKBOX_PRESSED; + } + + if (mouse.lastX != mouse.x || mouse.lastY != mouse.y) + { + mouse.lastX = mouse.x; + mouse.lastY = mouse.y; + + drawCheckBox(mouse.lastUsedObjectID); + } +} + +bool testCheckBoxMouseDown(void) +{ + uint16_t start, end; + checkBox_t *checkBox; + + if (editor.ui.sysReqShown) + { + // if a system request is open, only test the first three checkboxes (reserved) + start = 0; + end = 1; + } + else + { + start = 1; + end = NUM_CHECKBOXES; + } + + for (uint16_t i = start; i < end; i++) + { + checkBox = &checkBoxes[i]; + if (!checkBox->visible) + continue; + + if (mouse.x >= checkBox->x && mouse.x < checkBox->x+checkBox->clickAreaWidth && + mouse.y >= checkBox->y && mouse.y < checkBox->y+checkBox->clickAreaHeight) + { + mouse.lastUsedObjectID = i; + mouse.lastUsedObjectType = OBJECT_CHECKBOX; + checkBox->state = CHECKBOX_PRESSED; + drawCheckBox(mouse.lastUsedObjectID); + return true; + } + } + + return false; +} + +void testCheckBoxMouseRelease(void) +{ + checkBox_t *checkBox; + + if (mouse.lastUsedObjectType != OBJECT_CHECKBOX || mouse.lastUsedObjectID == OBJECT_ID_NONE) + return; + + assert(mouse.lastUsedObjectID < NUM_CHECKBOXES); + checkBox = &checkBoxes[mouse.lastUsedObjectID]; + if (!checkBox->visible) + return; + + if (mouse.x >= checkBox->x && mouse.x < checkBox->x+checkBox->clickAreaWidth && + mouse.y >= checkBox->y && mouse.y < checkBox->y+checkBox->clickAreaHeight) + { + checkBox->checked ^= 1; + + checkBox->state = CHECKBOX_UNPRESSED; + drawCheckBox(mouse.lastUsedObjectID); + + if (checkBox->callbackFunc != NULL) + checkBox->callbackFunc(); + } +} + +const uint8_t checkMarkGraphics[CHECKMARK_W * CHECKMARK_H] = +{ + PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, + PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, + PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, + PAL_BUTTONS, PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, PAL_BUTTONS, + PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BCKGRND, + PAL_BCKGRND, PAL_BUTTONS, PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, + PAL_BUTTONS, PAL_BUTTONS, PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, + PAL_BUTTONS, PAL_BUTTONS, PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, + PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, + PAL_BUTTONS, PAL_BUTTONS, PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, + PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, + PAL_BUTTONS, PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, PAL_BUTTONS, + PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS +}; + +const uint8_t accidentalFlat[5 * 6] = +{ + PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, + PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, + PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, + PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, + PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, + PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS, PAL_BCKGRND, PAL_BUTTONS +}; + +const uint8_t accidentalSharp[5 * 6] = +{ + PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, + PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, PAL_BUTTONS, PAL_BUTTONS, + PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, + PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, PAL_BCKGRND, PAL_BCKGRND, + PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS, PAL_BCKGRND, PAL_BCKGRND, + PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BCKGRND, PAL_BUTTONS +}; diff --git a/src/ft2_checkboxes.h b/src/ft2_checkboxes.h index 32d06aa..feae9b5 100644 --- a/src/ft2_checkboxes.h +++ b/src/ft2_checkboxes.h @@ -1,123 +1,123 @@ -#pragma once - -#include -#include - -enum // CHECKBOXES -{ - CB_RES_1, // reserved - - // NIBBLES - CB_NIBBLES_SURROUND, - CB_NIBBLES_GRID, - CB_NIBBLES_WRAP, - - // ADVANCED EDIT - CB_ENABLE_MASKING, - CB_COPY_MASK_0, - CB_COPY_MASK_1, - CB_COPY_MASK_2, - CB_COPY_MASK_3, - CB_COPY_MASK_4, - CB_PASTE_MASK_0, - CB_PASTE_MASK_1, - CB_PASTE_MASK_2, - CB_PASTE_MASK_3, - CB_PASTE_MASK_4, - CB_TRANSP_MASK_0, - CB_TRANSP_MASK_1, - CB_TRANSP_MASK_2, - CB_TRANSP_MASK_3, - CB_TRANSP_MASK_4, - - // INSTRUMENT EDITOR - CB_INST_VENV, - CB_INST_VENV_SUS, - CB_INST_VENV_LOOP, - CB_INST_PENV, - CB_INST_PENV_SUS, - CB_INST_PENV_LOOP, - - // INSTRUMENT EDITOR EXTENSION - CB_INST_EXT_MIDI, - CB_INST_EXT_MUTE, - - // TRIM - CB_TRIM_PATT, - CB_TRIM_INST, - CB_TRIM_SAMP, - CB_TRIM_CHAN, - CB_TRIM_SMPD, - CB_TRIM_CONV, - - // CONFIG - CB_CONF_AUTOSAVE, - - // CONFIG AUDIO - CB_CONF_INTERPOLATION, - CB_CONF_VOL_RAMP, - CB_CONF_DITHER, - - // CONFIG LAYOUT - CB_CONF_PATTSTRETCH, - CB_CONF_HEXCOUNT, - CB_CONF_ACCIDENTAL, - CB_CONF_SHOWZEROES, - CB_CONF_FRAMEWORK, - CB_CONF_LINECOLORS, - CB_CONF_CHANNUMS, - CB_CONF_SHOW_VOLCOL, - CB_CONF_HARDWARE_MOUSE, - - // CONFIG MISCELLANEOUS - CB_CONF_SAMP_CUT_TO_BUF, - CB_CONF_PATT_CUT_TO_BUF, - CB_CONF_KILL_NOTES_AT_STOP, - CB_CONF_FILE_OVERWRITE_WARN, - CB_CONF_MULTICHAN_REC, - CB_CONF_MULTICHAN_JAZZ, - CB_CONF_MULTICHAN_EDIT, - CB_CONF_REC_KEYOFF, - CB_CONF_QUANTIZATION, - CB_CONF_CHANGE_PATTLEN_INS_DEL, - CB_CONF_MIDI_ALLOW_PC, - CB_CONF_MIDI_ENABLE, - CB_CONF_MIDI_REC_ALL, - CB_CONF_MIDI_REC_TRANS, - CB_CONF_MIDI_REC_VELOC, - CB_CONF_MIDI_REC_AFTERTOUCH, - CB_CONF_FORCE_VSYNC_OFF, - CB_CONF_START_IN_FULLSCREEN, - CB_CONF_FILTERING, - - NUM_CHECKBOXES -}; - -enum -{ - CHECKBOX_UNPRESSED = 0, - CHECKBOX_PRESSED = 1, - CHECKBOX_UNCHECKED = 0, - CHECKBOX_CHECKED = 1 -}; - -#define CHECKBOX_W 13 -#define CHECKBOX_H 12 -#define CHECKMARK_W 9 -#define CHECKMARK_H 7 -#define CHECKBOX_STATES 3 - -typedef struct checkBox_t // DO NOT TOUCH! -{ - uint16_t x, y, clickAreaWidth, clickAreaHeight; - void (*callbackFunc)(void); - uint8_t state; - bool checked, visible; -} checkBox_t; - -void drawCheckBox(uint16_t checkBoxID); -void showCheckBox(uint16_t checkBoxID); -void hideCheckBox(uint16_t checkBoxID); -void handleCheckBoxesWhileMouseDown(void); -bool testCheckBoxMouseDown(void); -void testCheckBoxMouseRelease(void); +#pragma once + +#include +#include + +enum // CHECKBOXES +{ + CB_RES_1, // reserved + + // NIBBLES + CB_NIBBLES_SURROUND, + CB_NIBBLES_GRID, + CB_NIBBLES_WRAP, + + // ADVANCED EDIT + CB_ENABLE_MASKING, + CB_COPY_MASK_0, + CB_COPY_MASK_1, + CB_COPY_MASK_2, + CB_COPY_MASK_3, + CB_COPY_MASK_4, + CB_PASTE_MASK_0, + CB_PASTE_MASK_1, + CB_PASTE_MASK_2, + CB_PASTE_MASK_3, + CB_PASTE_MASK_4, + CB_TRANSP_MASK_0, + CB_TRANSP_MASK_1, + CB_TRANSP_MASK_2, + CB_TRANSP_MASK_3, + CB_TRANSP_MASK_4, + + // INSTRUMENT EDITOR + CB_INST_VENV, + CB_INST_VENV_SUS, + CB_INST_VENV_LOOP, + CB_INST_PENV, + CB_INST_PENV_SUS, + CB_INST_PENV_LOOP, + + // INSTRUMENT EDITOR EXTENSION + CB_INST_EXT_MIDI, + CB_INST_EXT_MUTE, + + // TRIM + CB_TRIM_PATT, + CB_TRIM_INST, + CB_TRIM_SAMP, + CB_TRIM_CHAN, + CB_TRIM_SMPD, + CB_TRIM_CONV, + + // CONFIG + CB_CONF_AUTOSAVE, + + // CONFIG AUDIO + CB_CONF_INTERPOLATION, + CB_CONF_VOL_RAMP, + CB_CONF_DITHER, + + // CONFIG LAYOUT + CB_CONF_PATTSTRETCH, + CB_CONF_HEXCOUNT, + CB_CONF_ACCIDENTAL, + CB_CONF_SHOWZEROES, + CB_CONF_FRAMEWORK, + CB_CONF_LINECOLORS, + CB_CONF_CHANNUMS, + CB_CONF_SHOW_VOLCOL, + CB_CONF_SOFTWARE_MOUSE, + + // CONFIG MISCELLANEOUS + CB_CONF_SAMP_CUT_TO_BUF, + CB_CONF_PATT_CUT_TO_BUF, + CB_CONF_KILL_NOTES_AT_STOP, + CB_CONF_FILE_OVERWRITE_WARN, + CB_CONF_MULTICHAN_REC, + CB_CONF_MULTICHAN_JAZZ, + CB_CONF_MULTICHAN_EDIT, + CB_CONF_REC_KEYOFF, + CB_CONF_QUANTIZATION, + CB_CONF_CHANGE_PATTLEN_INS_DEL, + CB_CONF_MIDI_ALLOW_PC, + CB_CONF_MIDI_ENABLE, + CB_CONF_MIDI_REC_ALL, + CB_CONF_MIDI_REC_TRANS, + CB_CONF_MIDI_REC_VELOC, + CB_CONF_MIDI_REC_AFTERTOUCH, + CB_CONF_FORCE_VSYNC_OFF, + CB_CONF_START_IN_FULLSCREEN, + CB_CONF_FILTERING, + + NUM_CHECKBOXES +}; + +enum +{ + CHECKBOX_UNPRESSED = 0, + CHECKBOX_PRESSED = 1, + CHECKBOX_UNCHECKED = 0, + CHECKBOX_CHECKED = 1 +}; + +#define CHECKBOX_W 13 +#define CHECKBOX_H 12 +#define CHECKMARK_W 9 +#define CHECKMARK_H 7 +#define CHECKBOX_STATES 3 + +typedef struct checkBox_t // DO NOT TOUCH! +{ + uint16_t x, y, clickAreaWidth, clickAreaHeight; + void (*callbackFunc)(void); + uint8_t state; + bool checked, visible; +} checkBox_t; + +void drawCheckBox(uint16_t checkBoxID); +void showCheckBox(uint16_t checkBoxID); +void hideCheckBox(uint16_t checkBoxID); +void handleCheckBoxesWhileMouseDown(void); +bool testCheckBoxMouseDown(void); +void testCheckBoxMouseRelease(void); diff --git a/src/ft2_config.c b/src/ft2_config.c index c742e0b..5521b04 100644 --- a/src/ft2_config.c +++ b/src/ft2_config.c @@ -1,2216 +1,2222 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include -#ifdef _WIN32 -#define _WIN32_IE 0x0500 -#define WIN32_MEAN_AND_LEAN -#include -#include -#include -#else -#include -#include -#endif -#include "ft2_header.h" -#include "ft2_video.h" -#include "ft2_audio.h" -#include "ft2_config.h" -#include "ft2_gui.h" -#include "ft2_pattern_ed.h" -#include "ft2_mouse.h" -#include "ft2_wav_renderer.h" -#include "ft2_audioselector.h" -#include "ft2_midi.h" -#include "ft2_gfxdata.h" -#include "ft2_palette.h" - -// defined at the bottom of this file -extern const uint8_t defConfigData[CONFIG_FILE_SIZE]; - -// globals -config_t config; -config_t *defConfig = (config_t *)defConfigData; - -// hide POSIX warnings -#ifdef _MSC_VER -#pragma warning(disable: 4996) -#endif - -uint8_t configBuffer[CONFIG_FILE_SIZE]; - -static void xorConfigBuffer(uint8_t *ptr8) -{ - for (int32_t i = 0; i < CONFIG_FILE_SIZE; i++) - ptr8[i] ^= (uint8_t)(i * 7); -} - -static int32_t calcChecksum(uint8_t *p, uint16_t len) // for nibbles highscore data -{ - uint16_t data; - uint32_t checksum; - - if (len == 0) - return 0; - - data = 0; - checksum = 0; - - do - { - data = ((data | *p++) + len) ^ len; - checksum += data; - data <<= 8; - } - while (--len != 0); - - return checksum; -} - -static void loadConfigFromBuffer(uint8_t defaults) -{ - int32_t i, checksum; - - lockMixerCallback(); - - memcpy(&config, configBuffer, CONFIG_FILE_SIZE); - -#ifdef __APPLE__ - if (defaults) - config.audioFreq = 44100; -#else - (void)defaults; // prevent warning -#endif - - // if Nibbles highscore table checksum is incorrect, load default highscore table instead - checksum = calcChecksum((uint8_t *)&config.NI_HighScore, sizeof (config.NI_HighScore)); - if (config.NI_HighScoreChecksum != checksum) - { - memcpy(&config.NI_HighScore, &defConfigData[636], sizeof (config.NI_HighScore)); - for (i = 0; i < 10; i++) - { - config.NI_HighScore[i].name[21] = '\0'; - if (config.NI_HighScore[i].nameLen > 21) - config.NI_HighScore[i].nameLen = 21; - } - } - - // clamp user palette values - for (i = 0; i < 16; i++) - { - config.userPal->r = palMax(config.userPal->r); - config.userPal->g = palMax(config.userPal->g); - config.userPal->b = palMax(config.userPal->b); - } - - // copy over user palette - memcpy(palTable[11], config.userPal, sizeof (pal16) * 16); - - // sanitize certain values - - config.modulesPath[80-1] = '\0'; - config.instrPath[80-1] = '\0'; - config.samplesPath[80-1] = '\0'; - config.patternsPath[80-1] = '\0'; - config.tracksPath[80-1] = '\0'; - - config.boostLevel = CLAMP(config.boostLevel, 1, 32); - config.masterVol = CLAMP(config.masterVol, 0, 256); - config.ptnMaxChannels = CLAMP(config.ptnMaxChannels, 0, 3); - config.ptnFont = CLAMP(config.ptnFont, 0, 3); - config.mouseType = CLAMP(config.mouseType, 0, 3); - config.cfg_StdPalNr = CLAMP(config.cfg_StdPalNr, 0, 11); - config.cfg_SortPriority = CLAMP(config.cfg_SortPriority, 0, 1); - config.NI_AntPlayers = CLAMP(config.NI_AntPlayers, 0, 1); - config.NI_Speed = CLAMP(config.NI_Speed, 0, 3); - config.recMIDIVolSens = CLAMP(config.recMIDIVolSens, 0, 200); - config.recMIDIChn = CLAMP(config.recMIDIChn, 1, 16); - - if (config.recTrueInsert > 1) - config.recTrueInsert = 1; - - if (config.mouseAnimType != 0 && config.mouseAnimType != 2) - config.mouseAnimType = 0; - - if (config.recQuantRes != 1 && config.recQuantRes != 2 && config.recQuantRes != 4 && - config.recQuantRes != 8 && config.recQuantRes != 16) - { - config.recQuantRes = 16; - } - - if (config.audioFreq != 44100 && config.audioFreq != 48000 && config.audioFreq != 96000) - { - // set default -#ifdef __APPLE__ - config.audioFreq = 44100; -#else - config.audioFreq = 48000; -#endif - } - - if (config.specialFlags == 64) // default value from FT2 (this was ptnDefaultLen byte #1) - set defaults - config.specialFlags = BUFFSIZE_1024 | BITDEPTH_16; - - if (config.windowFlags == 0) // default value from FT2 (this was ptnDefaultLen byte #2) - set defaults - config.windowFlags = WINSIZE_AUTO; - - // audio bit depth - remove 24-bit flag if both are enabled - if ((config.specialFlags & BITDEPTH_16) && (config.specialFlags & BITDEPTH_24)) - config.specialFlags &= ~BITDEPTH_24; - - if (audio.dev != 0) - setNewAudioSettings(); - - audioSetInterpolation(config.interpolation ? true : false); - audioSetVolRamp((config.specialFlags & NO_VOLRAMP_FLAG) ? false : true); - setAudioAmp(config.boostLevel, config.masterVol, config.specialFlags & BITDEPTH_24); - setMouseShape(config.mouseType); - changeLogoType(config.id_FastLogo); - changeBadgeType(config.id_TritonProd); - editor.ui.maxVisibleChannels = (uint8_t)(2 + ((config.ptnMaxChannels + 1) * 2)); - setPal16(palTable[config.cfg_StdPalNr], true); - - unlockMixerCallback(); -} - -static void configDrawAmp(void) -{ - char str[8]; - sprintf(str, "%02d", config.boostLevel); - textOutFixed(607, 120, PAL_FORGRND, PAL_DESKTOP, str); -} - -static void setDefaultConfigSettings(void) -{ - memcpy(configBuffer, defConfigData, CONFIG_FILE_SIZE); - loadConfigFromBuffer(true); -} - -void resetConfig(void) -{ - uint8_t oldWindowFlags; - - if (okBox(2, "System request", "Are you sure you want to completely reset your FT2 configuration?") != 1) - return; - - oldWindowFlags = config.windowFlags; - - setDefaultConfigSettings(); - setToDefaultAudioOutputDevice(); - setToDefaultAudioInputDevice(); - - saveConfig(false); - - // redraw new changes - showTopScreen(false); - showBottomScreen(); - - setWindowSizeFromConfig(true); - - // handle pixel filter change - if ((oldWindowFlags & FILTERING) != (config.windowFlags & FILTERING)) - { - recreateTexture(); - if (video.fullscreen) - { - leaveFullScreen(); - enterFullscreen(); - } - } - - if (config.specialFlags2 & HARDWARE_MOUSE) - SDL_ShowCursor(SDL_TRUE); - else - SDL_ShowCursor(SDL_FALSE); -} - -bool loadConfig(bool showErrorFlag) -{ - size_t fileSize; - FILE *in; - - // this routine can be called at any time, so make sure we free these first... - - if (audio.currOutputDevice != NULL) - { - free(audio.currOutputDevice); - audio.currOutputDevice = NULL; - } - - if (audio.currInputDevice != NULL) - { - free(audio.currInputDevice); - audio.currInputDevice = NULL; - } - - // now we can get the audio devices from audiodev.ini - - audio.currOutputDevice = getAudioOutputDeviceFromConfig(); - audio.currInputDevice = getAudioInputDeviceFromConfig(); - - if (midi.initThreadDone) - { - setMidiInputDeviceFromConfig(); - if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_MIDI_INPUT) - drawMidiInputList(); - } - - if (editor.configFileLocation == NULL) - { - if (showErrorFlag) - okBox(0, "System message", "Error opening config file for reading!"); - - return false; - } - - in = UNICHAR_FOPEN(editor.configFileLocation, "rb"); - if (in == NULL) - { - if (showErrorFlag) - okBox(0, "System message", "Error opening config file for reading!"); - - return false; - } - - fseek(in, 0, SEEK_END); - fileSize = (int32_t)ftell(in); - rewind(in); - - if (fileSize > CONFIG_FILE_SIZE) - { - fclose(in); - if (showErrorFlag) - okBox(0, "System message", "Error loading config: the config file is not valid!"); - - return false; - } - - // not a valid FT2 config file (FT2.CFG filesize varies depending on version) - if (fileSize < 1732 || fileSize > CONFIG_FILE_SIZE) - { - fclose(in); - if (showErrorFlag) - okBox(0, "System message", "Error loading config: the config file is not valid!"); - - return false; - } - - if (fileSize < CONFIG_FILE_SIZE) - memset(configBuffer, 0, CONFIG_FILE_SIZE); - - // read to config buffer and close file handle - if (fread(configBuffer, fileSize, 1, in) != 1) - { - fclose(in); - if (showErrorFlag) - okBox(0, "System message", "Error opening config file for reading!"); - - return false; - } - - fclose(in); - - // decrypt config buffer - xorConfigBuffer(configBuffer); - - if (memcmp(&configBuffer[0], CFG_ID_STR, 35) != 0) - { - if (showErrorFlag) - okBox(0, "System message", "Error loading config: the config file is not valid!"); - - return false; - } - - loadConfigFromBuffer(false); - return true; -} - -void loadConfig2(void) // called by "Load config" button -{ - uint8_t oldWindowFlags; - - oldWindowFlags = config.windowFlags; - - loadConfig(CONFIG_SHOW_ERRORS); - - // redraw new changes - showTopScreen(false); - showBottomScreen(); - - // handle pixel filter change - if ((oldWindowFlags & FILTERING) != (config.windowFlags & FILTERING)) - { - recreateTexture(); - if (video.fullscreen) - { - leaveFullScreen(); - enterFullscreen(); - } - } - - if (config.specialFlags2 & HARDWARE_MOUSE) - SDL_ShowCursor(SDL_TRUE); - else - SDL_ShowCursor(SDL_FALSE); -} - -bool saveConfig(bool showErrorFlag) -{ - FILE *out; - - if (editor.configFileLocation == NULL) - { - if (showErrorFlag) - okBox(0, "System message", "General I/O error during saving! Is the file in use?"); - - return false; - } - - saveAudioDevicesToConfig(audio.currOutputDevice, audio.currInputDevice); - saveMidiInputDeviceToConfig(); - - out = UNICHAR_FOPEN(editor.configFileLocation, "wb"); - if (out == NULL) - { - if (showErrorFlag) - okBox(0, "System message", "General I/O error during saving! Is the file in use?"); - - return false; - } - - config.NI_HighScoreChecksum = calcChecksum((uint8_t *)config.NI_HighScore, sizeof (config.NI_HighScore)); - - // set default path lengths (Pascal strings) - config.modulesPathLen = (uint8_t)strlen(config.modulesPath); - config.instrPathLen = (uint8_t)strlen(config.instrPath); - config.samplesPathLen = (uint8_t)strlen(config.samplesPath); - config.patternsPathLen = (uint8_t)strlen(config.patternsPath); - config.tracksPathLen = (uint8_t)strlen(config.tracksPath); - - // copy over user palette - memcpy(config.userPal, palTable[11], sizeof (pal16) * 16); - - memcpy(configBuffer, &config, CONFIG_FILE_SIZE); - - // encrypt config buffer - xorConfigBuffer(configBuffer); - - // write config buffer and close file handle - if (fwrite(configBuffer, 1, CONFIG_FILE_SIZE, out) != CONFIG_FILE_SIZE) - { - fclose(out); - - if (showErrorFlag) - okBox(0, "System message", "General I/O error during saving! Is the file in use?"); - - return false; - } - - fclose(out); - return true; -} - -void saveConfig2(void) // called by "Save config" button -{ - saveConfig(CONFIG_SHOW_ERRORS); -} - -static UNICHAR *getFullAudDevConfigPath(void) // kinda hackish -{ - UNICHAR *filePath; - int32_t ft2ConfPathLen, stringOffset, audiodevDotIniStrLen, ft2DotCfgStrLen; - - if (editor.configFileLocation == NULL) - return NULL; - - ft2ConfPathLen = (int32_t)UNICHAR_STRLEN(editor.configFileLocation); - -#ifdef _WIN32 - audiodevDotIniStrLen = (int32_t)UNICHAR_STRLEN(L"audiodev.ini"); - ft2DotCfgStrLen = (int32_t)UNICHAR_STRLEN(L"FT2.CFG"); -#else - audiodevDotIniStrLen = (int32_t)UNICHAR_STRLEN("audiodev.ini"); - ft2DotCfgStrLen = (int32_t)UNICHAR_STRLEN("FT2.CFG"); -#endif - - filePath = (UNICHAR *)calloc(ft2ConfPathLen + audiodevDotIniStrLen + 2, sizeof (UNICHAR)); - - UNICHAR_STRCPY(filePath, editor.configFileLocation); - - stringOffset = ft2ConfPathLen - ft2DotCfgStrLen; - filePath[stringOffset+0] = '\0'; - filePath[stringOffset+1] = '\0'; - -#ifdef _WIN32 - UNICHAR_STRCAT(filePath, L"audiodev.ini"); -#else - UNICHAR_STRCAT(filePath, "audiodev.ini"); -#endif - - return filePath; -} - -static UNICHAR *getFullMidiDevConfigPath(void) // kinda hackish -{ - UNICHAR *filePath; - int32_t ft2ConfPathLen, stringOffset, mididevDotIniStrLen, ft2DotCfgStrLen; - - if (editor.configFileLocation == NULL) - return NULL; - - ft2ConfPathLen = (int32_t)UNICHAR_STRLEN(editor.configFileLocation); - -#ifdef _WIN32 - mididevDotIniStrLen = (int32_t)UNICHAR_STRLEN(L"mididev.ini"); - ft2DotCfgStrLen = (int32_t)UNICHAR_STRLEN(L"FT2.CFG"); -#else - mididevDotIniStrLen = (int32_t)UNICHAR_STRLEN("mididev.ini"); - ft2DotCfgStrLen = (int32_t)UNICHAR_STRLEN("FT2.CFG"); -#endif - - filePath = (UNICHAR *)calloc(ft2ConfPathLen + mididevDotIniStrLen + 2, sizeof (UNICHAR)); - - UNICHAR_STRCPY(filePath, editor.configFileLocation); - - stringOffset = ft2ConfPathLen - ft2DotCfgStrLen; - filePath[stringOffset+0] = '\0'; - filePath[stringOffset+1] = '\0'; - -#ifdef _WIN32 - UNICHAR_STRCAT(filePath, L"mididev.ini"); -#else - UNICHAR_STRCAT(filePath, "mididev.ini"); -#endif - - return filePath; -} - -static void setConfigFileLocation(void) // kinda hackish -{ - int32_t result, ft2DotCfgStrLen; - FILE *f; - - // Windows -#ifdef _WIN32 - UNICHAR *tmpPath, *oldPath; - - ft2DotCfgStrLen = (int32_t)UNICHAR_STRLEN(L"FT2.CFG"); - - oldPath = (UNICHAR *)calloc(PATH_MAX + 8 + 2, sizeof (UNICHAR)); - tmpPath = (UNICHAR *)calloc(PATH_MAX + 8 + 2, sizeof (UNICHAR)); - editor.configFileLocation = (UNICHAR *)calloc(PATH_MAX + ft2DotCfgStrLen + 2, sizeof (UNICHAR)); - - if (oldPath == NULL || tmpPath == NULL || editor.configFileLocation == NULL) - { - if (oldPath != NULL) free(oldPath); - if (tmpPath != NULL) free(tmpPath); - if (editor.configFileLocation != NULL) free(editor.configFileLocation); - - editor.configFileLocation = NULL; - showErrorMsgBox("Error: Couldn't set config file location. You can't load/save the config!"); - return; - } - - if (GetCurrentDirectoryW(PATH_MAX - ft2DotCfgStrLen - 1, oldPath) == 0) - { - free(oldPath); - free(tmpPath); - free(editor.configFileLocation); - - editor.configFileLocation = NULL; - showErrorMsgBox("Error: Couldn't set config file location. You can't load/save the config!"); - return; - } - - UNICHAR_STRCPY(editor.configFileLocation, oldPath); - if ((f = fopen("FT2.CFG", "rb")) == NULL) - { - result = SHGetFolderPathW(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT, tmpPath); - if (result == S_OK) - { - if (SetCurrentDirectoryW(tmpPath) != 0) - { - result = chdir("FT2 clone"); - if (result != 0) - { - _mkdir("FT2 clone"); - result = chdir("FT2 clone"); - } - - if (result == 0) - GetCurrentDirectoryW(PATH_MAX - ft2DotCfgStrLen - 1, editor.configFileLocation); // we can, set it - } - } - } - else - { - fclose(f); - } - - free(tmpPath); - SetCurrentDirectoryW(oldPath); - free(oldPath); - - UNICHAR_STRCAT(editor.configFileLocation, L"\\FT2.CFG"); - - // OS X / macOS -#elif defined __APPLE__ - ft2DotCfgStrLen = (int32_t)UNICHAR_STRLEN("FT2.CFG"); - - editor.configFileLocation = (UNICHAR *)calloc(PATH_MAX + ft2DotCfgStrLen + 2, sizeof (UNICHAR)); - if (editor.configFileLocation == NULL) - { - showErrorMsgBox("Error: Couldn't set config file location. You can't load/save the config!"); - return; - } - - if (getcwd(editor.configFileLocation, PATH_MAX - ft2DotCfgStrLen - 1) == NULL) - { - free(editor.configFileLocation); - editor.configFileLocation = NULL; - showErrorMsgBox("Error: Couldn't set config file location. You can't load/save the config!"); - return; - } - - if ((f = fopen("FT2.CFG", "rb")) == NULL) - { - if (chdir(getenv("HOME")) == 0) - { - result = chdir("Library/Application Support"); - if (result == 0) - { - result = chdir("FT2 clone"); - if (result != 0) - { - mkdir("FT2 clone", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); - result = chdir("FT2 clone"); - } - - if (result == 0) - getcwd(editor.configFileLocation, PATH_MAX - ft2DotCfgStrLen - 1); - } - } - } - else - { - fclose(f); - } - - strcat(editor.configFileLocation, "/FT2.CFG"); - - // Linux etc -#else - ft2DotCfgStrLen = (int32_t)UNICHAR_STRLEN("FT2.CFG"); - - editor.configFileLocation = (UNICHAR *)calloc(PATH_MAX + ft2DotCfgStrLen + 2, sizeof (UNICHAR)); - if (editor.configFileLocation == NULL) - { - showErrorMsgBox("Error: Couldn't set config file location. You can't load/save the config!"); - return; - } - - if (getcwd(editor.configFileLocation, PATH_MAX - ft2DotCfgStrLen - 1) == NULL) - { - free(editor.configFileLocation); - editor.configFileLocation = NULL; - showErrorMsgBox("Error: Couldn't set config file location. You can't load/save the config!"); - return; - } - - if ((f = fopen("FT2.CFG", "rb")) == NULL) - { - if (chdir(getenv("HOME")) == 0) - { - result = chdir(".config"); - if (result != 0) - { - mkdir(".config", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); - result = chdir(".config"); - } - - if (result == 0) - { - result = chdir("FT2 clone"); - if (result != 0) - { - mkdir("FT2 clone", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); - result = chdir("FT2 clone"); - } - - if (result == 0) - getcwd(editor.configFileLocation, PATH_MAX - ft2DotCfgStrLen - 1); - } - } - } - else - { - fclose(f); - } - - strcat(editor.configFileLocation, "/FT2.CFG"); -#endif - - editor.midiConfigFileLocation = getFullMidiDevConfigPath(); - editor.audioDevConfigFileLocation = getFullAudDevConfigPath(); -} - -void loadConfigOrSetDefaults(void) -{ - size_t fileSize; - FILE *in; - - setConfigFileLocation(); - - if (editor.configFileLocation == NULL) - { - setDefaultConfigSettings(); - return; - } - - in = UNICHAR_FOPEN(editor.configFileLocation, "rb"); - if (in == NULL) - { - setDefaultConfigSettings(); - return; - } - - fseek(in, 0, SEEK_END); - fileSize = ftell(in); - rewind(in); - - // not a valid FT2 config file (FT2.CFG filesize varies depending on version) - if (fileSize < 1732 || fileSize > CONFIG_FILE_SIZE) - { - fclose(in); - setDefaultConfigSettings(); - showErrorMsgBox("The configuration file (FT2.CFG) was corrupt, default settings were loaded."); - return; - } - - if (fileSize < CONFIG_FILE_SIZE) - memset(configBuffer, 0, CONFIG_FILE_SIZE); - - if (fread(configBuffer, fileSize, 1, in) != 1) - { - fclose(in); - setDefaultConfigSettings(); - showErrorMsgBox("I/O error while reading FT2.CFG, default settings were loaded."); - return; - } - - fclose(in); - - // decrypt config buffer - xorConfigBuffer(configBuffer); - - if (memcmp(&configBuffer[0], CFG_ID_STR, 35) != 0) - { - setDefaultConfigSettings(); - showErrorMsgBox("The configuration file (FT2.CFG) was corrupt, default settings were loaded."); - return; - } - - loadConfigFromBuffer(false); -} - -static void drawQuantValue(void) -{ - char str[8]; - sprintf(str, "%02d", config.recQuantRes); - textOutFixed(354, 123, PAL_FORGRND, PAL_DESKTOP, str); -} - -static void drawMIDIChanValue(void) -{ - char str[8]; - sprintf(str, "%02d", config.recMIDIChn); - textOutFixed(578, 109, PAL_FORGRND, PAL_DESKTOP, str); -} - -static void drawMIDITransp(void) -{ - char sign; - int8_t val; - - fillRect(571, 123, 20, 8, PAL_DESKTOP); - - sign = (config.recMIDITranspVal < 0) ? '-' : '+'; - - val = (int8_t)(ABS(config.recMIDITranspVal)); - if (val >= 10) - { - charOut(571, 123, PAL_FORGRND, sign); - charOut(578, 123, PAL_FORGRND, '0' + ((val / 10) % 10)); - charOut(585, 123, PAL_FORGRND, '0' + (val % 10)); - } - else - { - if (val > 0) - charOut(578, 123, PAL_FORGRND, sign); - - charOut(585, 123, PAL_FORGRND, '0' + (val % 10)); - } -} - -static void drawMIDISens(void) -{ - char str[8]; - sprintf(str, "%03d", config.recMIDIVolSens); - textOutFixed(525, 160, PAL_FORGRND, PAL_DESKTOP, str); -} - -static void setConfigRadioButtonStates(void) -{ - uint16_t tmpID; - - uncheckRadioButtonGroup(RB_GROUP_CONFIG_SELECT); - switch (editor.currConfigScreen) - { - default: - case CONFIG_SCREEN_IO_DEVICES: tmpID = RB_CONFIG_IO_DEVICES; break; - case CONFIG_SCREEN_LAYOUT: tmpID = RB_CONFIG_LAYOUT; break; - case CONFIG_SCREEN_MISCELLANEOUS: tmpID = RB_CONFIG_MISCELLANEOUS; break; - case CONFIG_SCREEN_MIDI_INPUT: tmpID = RB_CONFIG_MIDI_INPUT; break; - } - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - showRadioButtonGroup(RB_GROUP_CONFIG_SELECT); -} - -void setConfigIORadioButtonStates(void) // accessed by other .c files -{ - uint16_t tmpID; - - // AUDIO BUFFER SIZE - uncheckRadioButtonGroup(RB_GROUP_CONFIG_SOUND_BUFF_SIZE); - - tmpID = RB_CONFIG_SBS_1024; - if (config.specialFlags & BUFFSIZE_512) tmpID = RB_CONFIG_SBS_512; - else if (config.specialFlags & BUFFSIZE_2048) tmpID = RB_CONFIG_SBS_2048; - else if (config.specialFlags & BUFFSIZE_4096) tmpID = RB_CONFIG_SBS_4096; - - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - // AUDIO BIT DEPTH - uncheckRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_BIT_DEPTH); - - tmpID = RB_CONFIG_AUDIO_16BIT; - if (config.specialFlags & BITDEPTH_24) - tmpID = RB_CONFIG_AUDIO_24BIT; - - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - // AUDIO FREQUENCY - uncheckRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_FREQ); - switch (config.audioFreq) - { -#ifdef __APPLE__ - default: case 44100: tmpID = RB_CONFIG_AUDIO_44KHZ; break; - case 48000: tmpID = RB_CONFIG_AUDIO_48KHZ; break; -#else - case 44100: tmpID = RB_CONFIG_AUDIO_44KHZ; break; - default: case 48000: tmpID = RB_CONFIG_AUDIO_48KHZ; break; -#endif - case 96000: tmpID = RB_CONFIG_AUDIO_96KHZ; break; - } - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - // FREQUENCY TABLE - uncheckRadioButtonGroup(RB_GROUP_CONFIG_FREQ_TABLE); - tmpID = audio.linearFreqTable ? RB_CONFIG_FREQ_LINEAR : RB_CONFIG_FREQ_AMIGA; - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - // show result - - showRadioButtonGroup(RB_GROUP_CONFIG_SOUND_BUFF_SIZE); - showRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_BIT_DEPTH); - showRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_FREQ); - showRadioButtonGroup(RB_GROUP_CONFIG_FREQ_TABLE); -} - -static void setConfigIOCheckButtonStates(void) -{ - checkBoxes[CB_CONF_INTERPOLATION].checked = config.interpolation; - checkBoxes[CB_CONF_VOL_RAMP].checked = (config.specialFlags & NO_VOLRAMP_FLAG) ? false : true; - checkBoxes[CB_CONF_DITHER].checked = (config.specialFlags & BITDEPTH_24) ? false : config.specialFlags2 & DITHERED_AUDIO; - - showCheckBox(CB_CONF_INTERPOLATION); - showCheckBox(CB_CONF_VOL_RAMP); - showCheckBox(CB_CONF_DITHER); -} - -static void setConfigLayoutCheckButtonStates(void) -{ - checkBoxes[CB_CONF_PATTSTRETCH].checked = config.ptnUnpressed; - checkBoxes[CB_CONF_HEXCOUNT].checked = config.ptnHex; - checkBoxes[CB_CONF_ACCIDENTAL].checked = config.ptnAcc ? true : false; - checkBoxes[CB_CONF_SHOWZEROES].checked = config.ptnInstrZero; - checkBoxes[CB_CONF_FRAMEWORK].checked = config.ptnFrmWrk; - checkBoxes[CB_CONF_LINECOLORS].checked = config.ptnLineLight; - checkBoxes[CB_CONF_CHANNUMS].checked = config.ptnChnNumbers; - checkBoxes[CB_CONF_SHOW_VOLCOL].checked = config.ptnS3M; - checkBoxes[CB_CONF_HARDWARE_MOUSE].checked = (config.specialFlags2 & HARDWARE_MOUSE) ? true : false; - - showCheckBox(CB_CONF_PATTSTRETCH); - showCheckBox(CB_CONF_HEXCOUNT); - showCheckBox(CB_CONF_ACCIDENTAL); - showCheckBox(CB_CONF_SHOWZEROES); - showCheckBox(CB_CONF_FRAMEWORK); - showCheckBox(CB_CONF_LINECOLORS); - showCheckBox(CB_CONF_CHANNUMS); - showCheckBox(CB_CONF_SHOW_VOLCOL); - showCheckBox(CB_CONF_HARDWARE_MOUSE); -} - -static void setConfigLayoutRadioButtonStates(void) -{ - uint16_t tmpID; - - // MOUSE SHAPE - uncheckRadioButtonGroup(RB_GROUP_CONFIG_MOUSE); - switch (config.mouseType) - { - default: - case MOUSE_IDLE_SHAPE_NICE: tmpID = RB_CONFIG_MOUSE_NICE; break; - case MOUSE_IDLE_SHAPE_UGLY: tmpID = RB_CONFIG_MOUSE_UGLY; break; - case MOUSE_IDLE_SHAPE_AWFUL: tmpID = RB_CONFIG_MOUSE_AWFUL; break; - case MOUSE_IDLE_SHAPE_USEABLE: tmpID = RB_CONFIG_MOUSE_USEABLE; break; - } - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - // MOUSE BUSY SHAPE - uncheckRadioButtonGroup(RB_GROUP_CONFIG_MOUSE_BUSY); - switch (config.mouseAnimType) - { - default: - case MOUSE_BUSY_SHAPE_CLOCK: tmpID = RB_CONFIG_MOUSE_BUSY_CLOCK; break; - case MOUSE_BUSY_SHAPE_GLASS: tmpID = RB_CONFIG_MOUSE_BUSY_GLASS; break; - } - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - // SCOPE STYLE - uncheckRadioButtonGroup(RB_GROUP_CONFIG_SCOPE); - tmpID = RB_CONFIG_SCOPE_NORMAL; - if (config.specialFlags & LINED_SCOPES) tmpID = RB_CONFIG_SCOPE_LINED; - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - switch (config.mouseType) - { - default: - case MOUSE_IDLE_SHAPE_NICE: tmpID = RB_CONFIG_MOUSE_NICE; break; - case MOUSE_IDLE_SHAPE_UGLY: tmpID = RB_CONFIG_MOUSE_UGLY; break; - case MOUSE_IDLE_SHAPE_AWFUL: tmpID = RB_CONFIG_MOUSE_AWFUL; break; - case MOUSE_IDLE_SHAPE_USEABLE: tmpID = RB_CONFIG_MOUSE_USEABLE; break; - } - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - // MAX VISIBLE CHANNELS - uncheckRadioButtonGroup(RB_GROUP_CONFIG_PATTERN_CHANS); - switch (config.ptnMaxChannels) - { - default: - case MAX_CHANS_SHOWN_4: tmpID = RB_CONFIG_MAXCHAN_4; break; - case MAX_CHANS_SHOWN_6: tmpID = RB_CONFIG_MAXCHAN_6; break; - case MAX_CHANS_SHOWN_8: tmpID = RB_CONFIG_MAXCHAN_8; break; - case MAX_CHANS_SHOWN_12: tmpID = RB_CONFIG_MAXCHAN_12; break; - } - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - // PATTERN FONT - uncheckRadioButtonGroup(RB_GROUP_CONFIG_FONT); - switch (config.ptnFont) - { - default: - case PATT_FONT_CAPITALS: tmpID = RB_CONFIG_FONT_CAPITALS; break; - case PATT_FONT_LOWERCASE: tmpID = RB_CONFIG_FONT_LOWERCASE; break; - case PATT_FONT_FUTURE: tmpID = RB_CONFIG_FONT_FUTURE; break; - case PATT_FONT_BOLD: tmpID = RB_CONFIG_FONT_BOLD; break; - } - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - // PALETTE ENTRIES - uncheckRadioButtonGroup(RB_GROUP_CONFIG_PAL_ENTRIES); - radioButtons[RB_CONFIG_PAL_PATTERNTEXT + cfg_ColorNr].state = RADIOBUTTON_CHECKED; - showRadioButtonGroup(RB_GROUP_CONFIG_PAL_ENTRIES); - - // PALETTE PRESET - uncheckRadioButtonGroup(RB_GROUP_CONFIG_PAL_PRESET); - switch (config.cfg_StdPalNr) - { - default: - case PAL_ARCTIC: tmpID = RB_CONFIG_PAL_ARCTIC; break; - case PAL_AURORA_BOREALIS: tmpID = RB_CONFIG_PAL_AURORA_BOREALIS; break; - case PAL_BLUES: tmpID = RB_CONFIG_PAL_BLUES; break; - case PAL_GOLD: tmpID = RB_CONFIG_PAL_GOLD; break; - case PAL_HEAVY_METAL: tmpID = RB_CONFIG_PAL_HEAVY_METAL; break; - case PAL_JUNGLE: tmpID = RB_CONFIG_PAL_JUNGLE; break; - case PAL_LITHE_DARK: tmpID = RB_CONFIG_PAL_LITHE_DARK; break; - case PAL_ROSE: tmpID = RB_CONFIG_PAL_ROSE; break; - case PAL_SPACE_PIGS: tmpID = RB_CONFIG_PAL_SPACE_PIGS; break; - case PAL_VIOLENT: tmpID = RB_CONFIG_PAL_VIOLENT; break; - case PAL_WHY_COLORS: tmpID = RB_CONFIG_PAL_WHY_COLORS; break; - case PAL_USER_DEFINED: tmpID = RB_CONFIG_PAL_USER_DEFINED; break; - } - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - // show result - - showRadioButtonGroup(RB_GROUP_CONFIG_MOUSE); - showRadioButtonGroup(RB_GROUP_CONFIG_MOUSE_BUSY); - showRadioButtonGroup(RB_GROUP_CONFIG_SCOPE); - showRadioButtonGroup(RB_GROUP_CONFIG_PATTERN_CHANS); - showRadioButtonGroup(RB_GROUP_CONFIG_FONT); - showRadioButtonGroup(RB_GROUP_CONFIG_PAL_PRESET); -} - -static void setConfigMiscCheckButtonStates(void) -{ - checkBoxes[CB_CONF_SAMP_CUT_TO_BUF].checked = config.smpCutToBuffer; - checkBoxes[CB_CONF_PATT_CUT_TO_BUF].checked = config.ptnCutToBuffer; - checkBoxes[CB_CONF_KILL_NOTES_AT_STOP].checked = config.killNotesOnStopPlay; - checkBoxes[CB_CONF_FILE_OVERWRITE_WARN].checked = config.cfg_OverwriteWarning; - checkBoxes[CB_CONF_MULTICHAN_REC].checked = config.multiRec; - checkBoxes[CB_CONF_MULTICHAN_JAZZ].checked = config.multiKeyJazz; - checkBoxes[CB_CONF_MULTICHAN_EDIT].checked = config.multiEdit; - checkBoxes[CB_CONF_REC_KEYOFF].checked = config.recRelease; - checkBoxes[CB_CONF_QUANTIZATION].checked = config.recQuant; - checkBoxes[CB_CONF_CHANGE_PATTLEN_INS_DEL].checked = config.recTrueInsert; - checkBoxes[CB_CONF_MIDI_ALLOW_PC].checked = config.recMIDIAllowPC; - checkBoxes[CB_CONF_MIDI_ENABLE].checked = midi.enable; - checkBoxes[CB_CONF_MIDI_REC_ALL].checked = config.recMIDIAllChn; - checkBoxes[CB_CONF_MIDI_REC_TRANS].checked = config.recMIDITransp; - checkBoxes[CB_CONF_MIDI_REC_VELOC].checked = config.recMIDIVelosity; - checkBoxes[CB_CONF_MIDI_REC_AFTERTOUCH].checked = config.recMIDIAftert; - checkBoxes[CB_CONF_FORCE_VSYNC_OFF].checked = (config.windowFlags & FORCE_VSYNC_OFF) ? true : false; - checkBoxes[CB_CONF_START_IN_FULLSCREEN].checked = (config.windowFlags & START_IN_FULLSCR) ? true : false; - checkBoxes[CB_CONF_FILTERING].checked = (config.windowFlags & FILTERING) ? true : false; - - showCheckBox(CB_CONF_SAMP_CUT_TO_BUF); - showCheckBox(CB_CONF_PATT_CUT_TO_BUF); - showCheckBox(CB_CONF_KILL_NOTES_AT_STOP); - showCheckBox(CB_CONF_FILE_OVERWRITE_WARN); - showCheckBox(CB_CONF_MULTICHAN_REC); - showCheckBox(CB_CONF_MULTICHAN_JAZZ); - showCheckBox(CB_CONF_MULTICHAN_EDIT); - showCheckBox(CB_CONF_REC_KEYOFF); - showCheckBox(CB_CONF_QUANTIZATION); - showCheckBox(CB_CONF_CHANGE_PATTLEN_INS_DEL); - showCheckBox(CB_CONF_MIDI_ALLOW_PC); - showCheckBox(CB_CONF_MIDI_ENABLE); - showCheckBox(CB_CONF_MIDI_REC_ALL); - showCheckBox(CB_CONF_MIDI_REC_TRANS); - showCheckBox(CB_CONF_MIDI_REC_VELOC); - showCheckBox(CB_CONF_MIDI_REC_AFTERTOUCH); - showCheckBox(CB_CONF_FORCE_VSYNC_OFF); - showCheckBox(CB_CONF_START_IN_FULLSCREEN); - showCheckBox(CB_CONF_FILTERING); -} - -static void setConfigMiscRadioButtonStates(void) -{ - uint16_t tmpID; - - // FILE SORTING - uncheckRadioButtonGroup(RB_GROUP_CONFIG_FILESORT); - switch (config.cfg_SortPriority) - { - default: - case FILESORT_EXT: tmpID = RB_CONFIG_FILESORT_EXT; break; - case FILESORT_NAME: tmpID = RB_CONFIG_FILESORT_NAME; break; - } - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - // WINDOW SIZE - uncheckRadioButtonGroup(RB_GROUP_CONFIG_WIN_SIZE); - - if (config.windowFlags & WINSIZE_AUTO) tmpID = RB_CONFIG_WIN_SIZE_AUTO; - else if (config.windowFlags & WINSIZE_1X) tmpID = RB_CONFIG_WIN_SIZE_1X; - else if (config.windowFlags & WINSIZE_2X) tmpID = RB_CONFIG_WIN_SIZE_2X; - else if (config.windowFlags & WINSIZE_3X) tmpID = RB_CONFIG_WIN_SIZE_3X; - else if (config.windowFlags & WINSIZE_4X) tmpID = RB_CONFIG_WIN_SIZE_4X; - - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - // show result - - showRadioButtonGroup(RB_GROUP_CONFIG_FILESORT); - showRadioButtonGroup(RB_GROUP_CONFIG_WIN_SIZE); -} - -void showConfigScreen(void) -{ - if (editor.ui.extended) - exitPatternEditorExtended(); - - hideTopScreen(); - editor.ui.configScreenShown = true; - - drawFramework(0, 0, 110, 173, FRAMEWORK_TYPE1); - - setConfigRadioButtonStates(); - - checkBoxes[CB_CONF_AUTOSAVE].checked = config.cfg_AutoSave; - showCheckBox(CB_CONF_AUTOSAVE); - - showPushButton(PB_CONFIG_RESET); - showPushButton(PB_CONFIG_LOAD); - showPushButton(PB_CONFIG_SAVE); - showPushButton(PB_CONFIG_EXIT); - - textOutShadow(5, 4, PAL_FORGRND, PAL_DSKTOP2, "Configuration:"); - textOutShadow(22, 20, PAL_FORGRND, PAL_DSKTOP2, "I/O Devices"); - textOutShadow(22, 36, PAL_FORGRND, PAL_DSKTOP2, "Layout"); - textOutShadow(22, 52, PAL_FORGRND, PAL_DSKTOP2, "Miscellaneous"); - textOutShadow(22, 68, PAL_FORGRND, PAL_DSKTOP2, "MIDI input"); - - textOutShadow(19, 92, PAL_FORGRND, PAL_DSKTOP2, "Auto save"); - - switch (editor.currConfigScreen) - { - default: - case CONFIG_SCREEN_IO_DEVICES: - { - drawFramework(110, 0, 276, 87, FRAMEWORK_TYPE1); - drawFramework(110, 87, 276, 86, FRAMEWORK_TYPE1); - - drawFramework(386, 0, 119, 73, FRAMEWORK_TYPE1); - drawFramework(386, 73, 119, 44, FRAMEWORK_TYPE1); - drawFramework(386, 117, 119, 56, FRAMEWORK_TYPE1); - - drawFramework(505, 0, 127, 73, FRAMEWORK_TYPE1); - drawFramework(505, 117, 127, 56, FRAMEWORK_TYPE1); - drawFramework(505, 73, 127, 44, FRAMEWORK_TYPE1); - - drawFramework(112, 16, AUDIO_SELECTORS_BOX_WIDTH+4, 69, FRAMEWORK_TYPE2); - drawFramework(112, 103, AUDIO_SELECTORS_BOX_WIDTH+4, 68, FRAMEWORK_TYPE2); - - drawAudioOutputList(); - drawAudioInputList(); - - if (audio.rescanAudioDevicesSupported) - showPushButton(PB_CONFIG_AUDIO_RESCAN); - - showPushButton(PB_CONFIG_AUDIO_OUTPUT_DOWN); - showPushButton(PB_CONFIG_AUDIO_OUTPUT_UP); - showPushButton(PB_CONFIG_AUDIO_INPUT_DOWN); - showPushButton(PB_CONFIG_AUDIO_INPUT_UP); - showPushButton(PB_CONFIG_AMP_DOWN); - showPushButton(PB_CONFIG_AMP_UP); - showPushButton(PB_CONFIG_MASTVOL_DOWN); - showPushButton(PB_CONFIG_MASTVOL_UP); - - textOutShadow(114, 4, PAL_FORGRND, PAL_DSKTOP2, "Audio output devices:"); - textOutShadow(114, 91, PAL_FORGRND, PAL_DSKTOP2, "Audio input devices (sampling):"); - - textOutShadow(390, 3, PAL_FORGRND, PAL_DSKTOP2, "Audio buffer size:"); - textOutShadow(406, 17, PAL_FORGRND, PAL_DSKTOP2, "Small"); - textOutShadow(406, 31, PAL_FORGRND, PAL_DSKTOP2, "Medium (default)"); - textOutShadow(406, 45, PAL_FORGRND, PAL_DSKTOP2, "Large"); - textOutShadow(406, 59, PAL_FORGRND, PAL_DSKTOP2, "Very large"); - - textOutShadow(390, 76, PAL_FORGRND, PAL_DSKTOP2, "Audio bit depth:"); - textOutShadow(406, 90, PAL_FORGRND, PAL_DSKTOP2, "16-bit (default)"); - textOutShadow(406, 104, PAL_FORGRND, PAL_DSKTOP2, "24-bit float"); - - textOutShadow(390, 120, PAL_FORGRND, PAL_DSKTOP2, "Mixing device ctrl.:"); - textOutShadow(406, 134, PAL_FORGRND, PAL_DSKTOP2, "Interpolation"); - textOutShadow(406, 147, PAL_FORGRND, PAL_DSKTOP2, "Volume ramping"); - textOutShadow(406, 160, PAL_FORGRND, PAL_DSKTOP2, "1.5-bit dither"); - - textOutShadow(509, 3, PAL_FORGRND, PAL_DSKTOP2, "Mixing frequency:"); -#ifdef __APPLE__ - textOutShadow(525, 17, PAL_FORGRND, PAL_DSKTOP2, "44100Hz (default)"); - textOutShadow(525, 31, PAL_FORGRND, PAL_DSKTOP2, "48000Hz"); -#else - textOutShadow(525, 17, PAL_FORGRND, PAL_DSKTOP2, "44100Hz"); - textOutShadow(525, 31, PAL_FORGRND, PAL_DSKTOP2, "48000Hz (default)"); -#endif - textOutShadow(525, 45, PAL_FORGRND, PAL_DSKTOP2, "96000Hz"); - - textOutShadow(509, 76, PAL_FORGRND, PAL_DSKTOP2, "Frequency table:"); - textOutShadow(525, 90, PAL_FORGRND, PAL_DSKTOP2, "Amiga freq.-table"); - textOutShadow(525, 104, PAL_FORGRND, PAL_DSKTOP2, "Linear freq.-table"); - - textOutShadow(509, 120, PAL_FORGRND, PAL_DSKTOP2, "Amplification:"); - charOutShadow(621, 120, PAL_FORGRND, PAL_DSKTOP2, 'X'); - textOutShadow(509, 148, PAL_FORGRND, PAL_DSKTOP2, "Master volume:"); - - setConfigIORadioButtonStates(); - setConfigIOCheckButtonStates(); - - configDrawAmp(); - - setScrollBarPos(SB_AMP_SCROLL, config.boostLevel - 1, false); - setScrollBarPos(SB_MASTERVOL_SCROLL, config.masterVol, false); - - showScrollBar(SB_AUDIO_INPUT_SCROLL); - showScrollBar(SB_AUDIO_OUTPUT_SCROLL); - showScrollBar(SB_AMP_SCROLL); - showScrollBar(SB_MASTERVOL_SCROLL); - } - break; - - case CONFIG_SCREEN_LAYOUT: - { - drawFramework(110, 0, 142, 106, FRAMEWORK_TYPE1); - drawFramework(252, 0, 142, 98, FRAMEWORK_TYPE1); - drawFramework(394, 0, 238, 86, FRAMEWORK_TYPE1); - drawFramework(110, 106, 142, 67, FRAMEWORK_TYPE1); - drawFramework(252, 98, 142, 45, FRAMEWORK_TYPE1); - drawFramework(394, 86, 238, 87, FRAMEWORK_TYPE1); - - drawFramework(252, 143, 142, 30, FRAMEWORK_TYPE1); - - textOutShadow(114, 109, PAL_FORGRND, PAL_DSKTOP2, "Mouse shape:"); - textOutShadow(130, 121, PAL_FORGRND, PAL_DSKTOP2, "Nice"); - textOutShadow(194, 121, PAL_FORGRND, PAL_DSKTOP2, "Ugly"); - textOutShadow(130, 135, PAL_FORGRND, PAL_DSKTOP2, "Awful"); - textOutShadow(194, 135, PAL_FORGRND, PAL_DSKTOP2, "Useable"); - textOutShadow(114, 148, PAL_FORGRND, PAL_DSKTOP2, "Mouse busy shape:"); - textOutShadow(130, 160, PAL_FORGRND, PAL_DSKTOP2, "Vogue"); - textOutShadow(194, 160, PAL_FORGRND, PAL_DSKTOP2, "Mr. H"); - - textOutShadow(114, 3, PAL_FORGRND, PAL_DSKTOP2, "Pattern layout:"); - textOutShadow(130, 16, PAL_FORGRND, PAL_DSKTOP2, "Pattern stretch"); - textOutShadow(130, 29, PAL_FORGRND, PAL_DSKTOP2, "Hex count"); - textOutShadow(130, 42, PAL_FORGRND, PAL_DSKTOP2, "Accidential"); - textOutShadow(130, 55, PAL_FORGRND, PAL_DSKTOP2, "Show zeroes"); - textOutShadow(130, 68, PAL_FORGRND, PAL_DSKTOP2, "Framework"); - textOutShadow(130, 81, PAL_FORGRND, PAL_DSKTOP2, "Line number colors"); - textOutShadow(130, 94, PAL_FORGRND, PAL_DSKTOP2, "Channel numbering"); - - textOutShadow(256, 3, PAL_FORGRND, PAL_DSKTOP2, "Pattern modes:"); - textOutShadow(271, 16, PAL_FORGRND, PAL_DSKTOP2, "Show volume column"); - textOutShadow(256, 30, PAL_FORGRND, PAL_DSKTOP2, "Maximum visible chn.:"); - textOutShadow(272, 43, PAL_FORGRND, PAL_DSKTOP2, "4 channels"); - textOutShadow(272, 57, PAL_FORGRND, PAL_DSKTOP2, "6 channels"); - textOutShadow(272, 71, PAL_FORGRND, PAL_DSKTOP2, "8 channels"); - textOutShadow(272, 85, PAL_FORGRND, PAL_DSKTOP2, "12 channels"); - - textOutShadow(257, 101, PAL_FORGRND, PAL_DSKTOP2, "Pattern font:"); - textOutShadow(272, 115, PAL_FORGRND, PAL_DSKTOP2, "Capitals"); - textOutShadow(338, 114, PAL_FORGRND, PAL_DSKTOP2, "Lower-c."); - textOutShadow(272, 130, PAL_FORGRND, PAL_DSKTOP2, "Future"); - textOutShadow(338, 129, PAL_FORGRND, PAL_DSKTOP2, "Bold"); - - textOutShadow(256, 146, PAL_FORGRND, PAL_DSKTOP2, "Scopes:"); - textOutShadow(319, 146, PAL_FORGRND, PAL_DSKTOP2, "Std."); - textOutShadow(360, 146, PAL_FORGRND, PAL_DSKTOP2, "Lined"); - - textOutShadow(272, 160, PAL_FORGRND, PAL_DSKTOP2, "Hardware mouse"); - - textOutShadow(414, 3, PAL_FORGRND, PAL_DSKTOP2, "Pattern text"); - textOutShadow(414, 17, PAL_FORGRND, PAL_DSKTOP2, "Block mark"); - textOutShadow(414, 31, PAL_FORGRND, PAL_DSKTOP2, "Text on block"); - textOutShadow(414, 45, PAL_FORGRND, PAL_DSKTOP2, "Mouse"); - textOutShadow(414, 59, PAL_FORGRND, PAL_DSKTOP2, "Desktop"); - textOutShadow(414, 73, PAL_FORGRND, PAL_DSKTOP2, "Buttons"); - - textOutShadow(414, 90, PAL_FORGRND, PAL_DSKTOP2, "Arctic"); - textOutShadow(528, 90, PAL_FORGRND, PAL_DSKTOP2, "LiTHe dark"); - textOutShadow(414, 104, PAL_FORGRND, PAL_DSKTOP2, "Aurora Borealis"); - textOutShadow(528, 104, PAL_FORGRND, PAL_DSKTOP2, "Rose"); - textOutShadow(414, 118, PAL_FORGRND, PAL_DSKTOP2, "Blues"); - textOutShadow(528, 118, PAL_FORGRND, PAL_DSKTOP2, "Space Pigs"); - textOutShadow(414, 132, PAL_FORGRND, PAL_DSKTOP2, "Gold"); - textOutShadow(528, 132, PAL_FORGRND, PAL_DSKTOP2, "Violent"); - textOutShadow(414, 146, PAL_FORGRND, PAL_DSKTOP2, "Heavy Metal"); - textOutShadow(528, 146, PAL_FORGRND, PAL_DSKTOP2, "Why colors ?"); - textOutShadow(414, 160, PAL_FORGRND, PAL_DSKTOP2, "Jungle"); - textOutShadow(528, 160, PAL_FORGRND, PAL_DSKTOP2, "User defined"); - - showPaletteEditor(); - - setConfigLayoutCheckButtonStates(); - setConfigLayoutRadioButtonStates(); - } - break; - - case CONFIG_SCREEN_MISCELLANEOUS: - { - drawFramework(110, 0, 99, 43, FRAMEWORK_TYPE1); - drawFramework(209, 0, 199, 55, FRAMEWORK_TYPE1); - drawFramework(408, 0, 224, 91, FRAMEWORK_TYPE1); - - drawFramework(110, 43, 99, 57, FRAMEWORK_TYPE1); - drawFramework(209, 55, 199, 118, FRAMEWORK_TYPE1); - drawFramework(408, 91, 224, 82, FRAMEWORK_TYPE1); - - drawFramework(110, 100, 99, 73, FRAMEWORK_TYPE1); - - // text boxes - drawFramework(485, 15, 145, 14, FRAMEWORK_TYPE2); - drawFramework(485, 30, 145, 14, FRAMEWORK_TYPE2); - drawFramework(485, 45, 145, 14, FRAMEWORK_TYPE2); - drawFramework(485, 60, 145, 14, FRAMEWORK_TYPE2); - drawFramework(485, 75, 145, 14, FRAMEWORK_TYPE2); - - textOutShadow(114, 3, PAL_FORGRND, PAL_DSKTOP2, "Dir. sorting pri.:"); - textOutShadow(130, 16, PAL_FORGRND, PAL_DSKTOP2, "Ext."); - textOutShadow(130, 30, PAL_FORGRND, PAL_DSKTOP2, "Name"); - - textOutShadow(228, 4, PAL_FORGRND, PAL_DSKTOP2, "Sample cut-to-buffer"); - textOutShadow(228, 17, PAL_FORGRND, PAL_DSKTOP2, "Pattern cut-to-buffer"); - textOutShadow(228, 30, PAL_FORGRND, PAL_DSKTOP2, "Kill notes at music stop"); - textOutShadow(228, 43, PAL_FORGRND, PAL_DSKTOP2, "File-overwrite warning"); - - textOutShadow(464, 3, PAL_FORGRND, PAL_DSKTOP2, "Default directories:"); - textOutShadow(413, 17, PAL_FORGRND, PAL_DSKTOP2, "Modules"); - textOutShadow(413, 32, PAL_FORGRND, PAL_DSKTOP2, "Instruments"); - textOutShadow(413, 47, PAL_FORGRND, PAL_DSKTOP2, "Samples"); - textOutShadow(413, 62, PAL_FORGRND, PAL_DSKTOP2, "Patterns"); - textOutShadow(413, 77, PAL_FORGRND, PAL_DSKTOP2, "Tracks"); - - textOutShadow(114, 46, PAL_FORGRND, PAL_DSKTOP2, "Window size:"); - textOutShadow(130, 59, PAL_FORGRND, PAL_DSKTOP2, "Auto fit"); - textOutShadow(130, 73, PAL_FORGRND, PAL_DSKTOP2, "1x"); - textOutShadow(172, 73, PAL_FORGRND, PAL_DSKTOP2, "3x"); - textOutShadow(130, 87, PAL_FORGRND, PAL_DSKTOP2, "2x"); - textOutShadow(172, 87, PAL_FORGRND, PAL_DSKTOP2, "4x"); - textOutShadow(114, 103, PAL_FORGRND, PAL_DSKTOP2, "Video settings:"); - textOutShadow(130, 117, PAL_FORGRND, PAL_DSKTOP2, "VSync off"); - textOutShadow(130, 130, PAL_FORGRND, PAL_DSKTOP2, "Fullscreen"); - textOutShadow(130, 143, PAL_FORGRND, PAL_DSKTOP2, "Pixel filter"); - - textOutShadow(213, 58, PAL_FORGRND, PAL_DSKTOP2, "Rec./Edit/Play:"); - textOutShadow(228, 71, PAL_FORGRND, PAL_DSKTOP2, "Multichannel record"); - textOutShadow(228, 84, PAL_FORGRND, PAL_DSKTOP2, "Multichannel \"keyjazz\""); - textOutShadow(228, 97, PAL_FORGRND, PAL_DSKTOP2, "Multichannel edit"); - textOutShadow(228, 110, PAL_FORGRND, PAL_DSKTOP2, "Record keyrelease notes"); - textOutShadow(228, 123, PAL_FORGRND, PAL_DSKTOP2, "Quantisize"); - textOutShadow(338, 123, PAL_FORGRND, PAL_DSKTOP2, "1/"); - textOutShadow(228, 136, PAL_FORGRND, PAL_DSKTOP2, "Change pattern length when"); - textOutShadow(228, 147, PAL_FORGRND, PAL_DSKTOP2, "inserting/deleting line."); - textOutShadow(228, 161, PAL_FORGRND, PAL_DSKTOP2, "Allow MIDI-in program change"); - - textOutShadow(428, 95, PAL_FORGRND, PAL_DSKTOP2, "MIDI Enable"); - textOutShadow(412, 108, PAL_FORGRND, PAL_DSKTOP2, "Record MIDI-chn."); - charOutShadow(523, 108, PAL_FORGRND, PAL_DSKTOP2, '('); - textOutShadow(546, 108, PAL_FORGRND, PAL_DSKTOP2, "All )"); - textOutShadow(428, 121, PAL_FORGRND, PAL_DSKTOP2, "Record transpose"); - textOutShadow(428, 134, PAL_FORGRND, PAL_DSKTOP2, "Record velosity"); - textOutShadow(428, 147, PAL_FORGRND, PAL_DSKTOP2, "Record aftertouch"); - textOutShadow(412, 160, PAL_FORGRND, PAL_DSKTOP2, "Vel./A.t. Senstvty."); - charOutShadow(547, 160, PAL_FORGRND, PAL_DSKTOP2, '%'); - - setConfigMiscCheckButtonStates(); - setConfigMiscRadioButtonStates(); - - drawQuantValue(); - drawMIDIChanValue(); - drawMIDITransp(); - drawMIDISens(); - - showPushButton(PB_CONFIG_TOGGLE_FULLSCREEN); - showPushButton(PB_CONFIG_QUANTIZE_UP); - showPushButton(PB_CONFIG_QUANTIZE_DOWN); - showPushButton(PB_CONFIG_MIDICHN_UP); - showPushButton(PB_CONFIG_MIDICHN_DOWN); - showPushButton(PB_CONFIG_MIDITRANS_UP); - showPushButton(PB_CONFIG_MIDITRANS_DOWN); - showPushButton(PB_CONFIG_MIDISENS_DOWN); - showPushButton(PB_CONFIG_MIDISENS_UP); - - showTextBox(TB_CONF_DEF_MODS_DIR); - showTextBox(TB_CONF_DEF_INSTRS_DIR); - showTextBox(TB_CONF_DEF_SAMPS_DIR); - showTextBox(TB_CONF_DEF_PATTS_DIR); - showTextBox(TB_CONF_DEF_TRACKS_DIR); - drawTextBox(TB_CONF_DEF_MODS_DIR); - drawTextBox(TB_CONF_DEF_INSTRS_DIR); - drawTextBox(TB_CONF_DEF_SAMPS_DIR); - drawTextBox(TB_CONF_DEF_PATTS_DIR); - drawTextBox(TB_CONF_DEF_TRACKS_DIR); - - setScrollBarPos(SB_MIDI_SENS, config.recMIDIVolSens, false); - showScrollBar(SB_MIDI_SENS); - } - break; - - case CONFIG_SCREEN_MIDI_INPUT: - { - drawFramework(110, 0, 394, 173, FRAMEWORK_TYPE1); - drawFramework(112, 2, 369, 169, FRAMEWORK_TYPE2); - drawFramework(504, 0, 128, 173, FRAMEWORK_TYPE1); - - textOutShadow(528, 112, PAL_FORGRND, PAL_DSKTOP2, "Input Devices"); - - blitFast(517, 51, midiLogo, 103, 55); - - showPushButton(PB_CONFIG_MIDI_INPUT_DOWN); - showPushButton(PB_CONFIG_MIDI_INPUT_UP); - - rescanMidiInputDevices(); - drawMidiInputList(); - - showScrollBar(SB_MIDI_INPUT_SCROLL); - } - break; - } -} - -void hideConfigScreen(void) -{ - // CONFIG LEFT SIDE - hideRadioButtonGroup(RB_GROUP_CONFIG_SELECT); - hideCheckBox(CB_CONF_AUTOSAVE); - hidePushButton(PB_CONFIG_RESET); - hidePushButton(PB_CONFIG_LOAD); - hidePushButton(PB_CONFIG_SAVE); - hidePushButton(PB_CONFIG_EXIT); - - // CONFIG AUDIO - hideRadioButtonGroup(RB_GROUP_CONFIG_SOUND_BUFF_SIZE); - hideRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_BIT_DEPTH); - hideRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_FREQ); - hideRadioButtonGroup(RB_GROUP_CONFIG_FREQ_TABLE); - hideCheckBox(CB_CONF_INTERPOLATION); - hideCheckBox(CB_CONF_VOL_RAMP); - hideCheckBox(CB_CONF_DITHER); - hidePushButton(PB_CONFIG_AUDIO_RESCAN); - hidePushButton(PB_CONFIG_AUDIO_OUTPUT_DOWN); - hidePushButton(PB_CONFIG_AUDIO_OUTPUT_UP); - hidePushButton(PB_CONFIG_AUDIO_INPUT_DOWN); - hidePushButton(PB_CONFIG_AUDIO_INPUT_UP); - hidePushButton(PB_CONFIG_AMP_DOWN); - hidePushButton(PB_CONFIG_AMP_UP); - hidePushButton(PB_CONFIG_MASTVOL_DOWN); - hidePushButton(PB_CONFIG_MASTVOL_UP); - hideScrollBar(SB_AUDIO_INPUT_SCROLL); - hideScrollBar(SB_AUDIO_OUTPUT_SCROLL); - hideScrollBar(SB_AMP_SCROLL); - hideScrollBar(SB_MASTERVOL_SCROLL); - - // CONFIG LAYOUT - hideRadioButtonGroup(RB_GROUP_CONFIG_MOUSE); - hideRadioButtonGroup(RB_GROUP_CONFIG_MOUSE_BUSY); - hideRadioButtonGroup(RB_GROUP_CONFIG_SCOPE); - hideRadioButtonGroup(RB_GROUP_CONFIG_PATTERN_CHANS); - hideRadioButtonGroup(RB_GROUP_CONFIG_FONT); - hideRadioButtonGroup(RB_GROUP_CONFIG_PAL_ENTRIES); - hideRadioButtonGroup(RB_GROUP_CONFIG_PAL_PRESET); - hideCheckBox(CB_CONF_PATTSTRETCH); - hideCheckBox(CB_CONF_HEXCOUNT); - hideCheckBox(CB_CONF_ACCIDENTAL); - hideCheckBox(CB_CONF_SHOWZEROES); - hideCheckBox(CB_CONF_FRAMEWORK); - hideCheckBox(CB_CONF_LINECOLORS); - hideCheckBox(CB_CONF_CHANNUMS); - hideCheckBox(CB_CONF_SHOW_VOLCOL); - hideCheckBox(CB_CONF_HARDWARE_MOUSE); - hidePushButton(PB_CONFIG_PAL_R_DOWN); - hidePushButton(PB_CONFIG_PAL_R_UP); - hidePushButton(PB_CONFIG_PAL_G_DOWN); - hidePushButton(PB_CONFIG_PAL_G_UP); - hidePushButton(PB_CONFIG_PAL_B_DOWN); - hidePushButton(PB_CONFIG_PAL_B_UP); - hidePushButton(PB_CONFIG_PAL_CONT_DOWN); - hidePushButton(PB_CONFIG_PAL_CONT_UP); - hideScrollBar(SB_PAL_R); - hideScrollBar(SB_PAL_G); - hideScrollBar(SB_PAL_B); - hideScrollBar(SB_PAL_CONTRAST); - - // CONFIG MISCELLANEOUS - hideRadioButtonGroup(RB_GROUP_CONFIG_FILESORT); - hideRadioButtonGroup(RB_GROUP_CONFIG_WIN_SIZE); - hidePushButton(PB_CONFIG_TOGGLE_FULLSCREEN); - hidePushButton(PB_CONFIG_QUANTIZE_UP); - hidePushButton(PB_CONFIG_QUANTIZE_DOWN); - hidePushButton(PB_CONFIG_MIDICHN_UP); - hidePushButton(PB_CONFIG_MIDICHN_DOWN); - hidePushButton(PB_CONFIG_MIDITRANS_UP); - hidePushButton(PB_CONFIG_MIDITRANS_DOWN); - hidePushButton(PB_CONFIG_MIDISENS_DOWN); - hidePushButton(PB_CONFIG_MIDISENS_UP); - hideCheckBox(CB_CONF_FORCE_VSYNC_OFF); - hideCheckBox(CB_CONF_START_IN_FULLSCREEN); - hideCheckBox(CB_CONF_FILTERING); - hideCheckBox(CB_CONF_SAMP_CUT_TO_BUF); - hideCheckBox(CB_CONF_PATT_CUT_TO_BUF); - hideCheckBox(CB_CONF_KILL_NOTES_AT_STOP); - hideCheckBox(CB_CONF_FILE_OVERWRITE_WARN); - hideCheckBox(CB_CONF_MULTICHAN_REC); - hideCheckBox(CB_CONF_MULTICHAN_JAZZ); - hideCheckBox(CB_CONF_MULTICHAN_EDIT); - hideCheckBox(CB_CONF_REC_KEYOFF); - hideCheckBox(CB_CONF_QUANTIZATION); - hideCheckBox(CB_CONF_CHANGE_PATTLEN_INS_DEL); - hideCheckBox(CB_CONF_MIDI_ALLOW_PC); - hideCheckBox(CB_CONF_MIDI_ENABLE); - hideCheckBox(CB_CONF_MIDI_REC_ALL); - hideCheckBox(CB_CONF_MIDI_REC_TRANS); - hideCheckBox(CB_CONF_MIDI_REC_VELOC); - hideCheckBox(CB_CONF_MIDI_REC_AFTERTOUCH); - hideTextBox(TB_CONF_DEF_MODS_DIR); - hideTextBox(TB_CONF_DEF_INSTRS_DIR); - hideTextBox(TB_CONF_DEF_SAMPS_DIR); - hideTextBox(TB_CONF_DEF_PATTS_DIR); - hideTextBox(TB_CONF_DEF_TRACKS_DIR); - hideScrollBar(SB_MIDI_SENS); - - // CONFIG MIDI - hidePushButton(PB_CONFIG_MIDI_INPUT_DOWN); - hidePushButton(PB_CONFIG_MIDI_INPUT_UP); - hideScrollBar(SB_MIDI_INPUT_SCROLL); - - editor.ui.configScreenShown = false; -} - -void exitConfigScreen(void) -{ - hideConfigScreen(); - showTopScreen(true); -} - -// CONFIG AUDIO - -void configToggleS3MLoadWarning(void) -{ - config.dontShowAgainFlags ^= DONT_SHOW_S3M_LOAD_WARNING_FLAG; -} - -void configToggleNotYetAppliedWarning(void) -{ - config.dontShowAgainFlags ^= DONT_SHOW_NOT_YET_APPLIED_WARNING_FLAG; -} - -void rbConfigIODevices(void) -{ - checkRadioButton(RB_CONFIG_IO_DEVICES); - editor.currConfigScreen = CONFIG_SCREEN_IO_DEVICES; - - hideConfigScreen(); - showConfigScreen(); -} - -void rbConfigLayout(void) -{ - checkRadioButton(RB_CONFIG_LAYOUT); - editor.currConfigScreen = CONFIG_SCREEN_LAYOUT; - - hideConfigScreen(); - showConfigScreen(); -} - -void rbConfigMiscellaneous(void) -{ - checkRadioButton(RB_CONFIG_MISCELLANEOUS); - editor.currConfigScreen = CONFIG_SCREEN_MISCELLANEOUS; - - hideConfigScreen(); - showConfigScreen(); -} - -void rbConfigMidiInput(void) -{ - checkRadioButton(RB_CONFIG_MIDI_INPUT); - editor.currConfigScreen = CONFIG_SCREEN_MIDI_INPUT; - - hideConfigScreen(); - showConfigScreen(); -} - -void rbConfigSbs512(void) -{ - config.specialFlags &= ~(BUFFSIZE_1024 + BUFFSIZE_2048 + BUFFSIZE_4096); - config.specialFlags |= BUFFSIZE_512; - - setNewAudioSettings(); -} - -void rbConfigSbs1024(void) -{ - config.specialFlags &= ~(BUFFSIZE_512 + BUFFSIZE_2048 + BUFFSIZE_4096); - config.specialFlags |= BUFFSIZE_1024; - - setNewAudioSettings(); -} - -void rbConfigSbs2048(void) -{ - config.specialFlags &= ~(BUFFSIZE_512 + BUFFSIZE_1024 + BUFFSIZE_4096); - config.specialFlags |= BUFFSIZE_2048; - - setNewAudioSettings(); -} - -void rbConfigSbs4096(void) -{ - config.specialFlags &= ~(BUFFSIZE_512 + BUFFSIZE_1024 + BUFFSIZE_2048); - config.specialFlags |= BUFFSIZE_4096; - - setNewAudioSettings(); -} - -void rbConfigAudio16bit(void) -{ - config.specialFlags &= ~BITDEPTH_24; - config.specialFlags |= BITDEPTH_16; - - setNewAudioSettings(); -} - -void rbConfigAudio24bit(void) -{ - config.specialFlags &= ~BITDEPTH_16; - config.specialFlags |= BITDEPTH_24; - - config.specialFlags2 &= ~DITHERED_AUDIO; // no dither in "24-bit float" mode - - checkBoxes[CB_CONF_DITHER].checked = false; - if (editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES) - drawCheckBox(CB_CONF_DITHER); - - setNewAudioSettings(); -} - -void rbConfigAudio44kHz(void) -{ - config.audioFreq = 44100; - setNewAudioSettings(); -} - -void rbConfigAudio48kHz(void) -{ - config.audioFreq = 48000; - setNewAudioSettings(); -} - -void rbConfigAudio96kHz(void) -{ - config.audioFreq = 96000; - setNewAudioSettings(); -} - -void rbConfigFreqTableAmiga(void) -{ - lockMixerCallback(); - setFrqTab(false); - unlockMixerCallback(); -} - -void rbConfigFreqTableLinear(void) -{ - lockMixerCallback(); - setFrqTab(true); - unlockMixerCallback(); -} - -void cbToggleAutoSaveConfig(void) -{ - config.cfg_AutoSave ^= 1; -} - -void cbConfigInterpolation(void) -{ - config.interpolation ^= 1; - audioSetInterpolation(config.interpolation); -} - -void cbConfigVolRamp(void) -{ - config.specialFlags ^= NO_VOLRAMP_FLAG; - audioSetVolRamp((config.specialFlags & NO_VOLRAMP_FLAG) ? false : true); -} - -void cbConfigDither(void) -{ - if (config.specialFlags & BITDEPTH_24) // no dither in float mode, force off - { - config.specialFlags2 &= ~DITHERED_AUDIO; - - checkBoxes[CB_CONF_DITHER].checked = false; - if (editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES) - drawCheckBox(CB_CONF_DITHER); - } - else - { - config.specialFlags2 ^= DITHERED_AUDIO; - updateSendAudSamplesRoutine(true); - } -} - -// CONFIG LAYOUT - -static void redrawPatternEditor(void) // called after changing some pattern editor settings in config -{ - // if the cursor was on the volume column while we turned volume column off, move it to effect type slot - if (!config.ptnS3M && (editor.cursor.object == CURSOR_VOL1 || editor.cursor.object == CURSOR_VOL2)) - editor.cursor.object = CURSOR_EFX0; - - updateChanNums(); - editor.ui.updatePatternEditor = true; -} - -void cbConfigPattStretch(void) -{ - config.ptnUnpressed ^= 1; - redrawPatternEditor(); -} - -void cbConfigHexCount(void) -{ - config.ptnHex ^= 1; - redrawPatternEditor(); -} - -void cbConfigAccidential(void) -{ - config.ptnAcc ^= 1; - showCheckBox(CB_CONF_ACCIDENTAL); - redrawPatternEditor(); -} - -void cbConfigShowZeroes(void) -{ - config.ptnInstrZero ^= 1; - redrawPatternEditor(); -} - -void cbConfigFramework(void) -{ - config.ptnFrmWrk ^= 1; - redrawPatternEditor(); -} - -void cbConfigLineColors(void) -{ - config.ptnLineLight ^= 1; - redrawPatternEditor(); -} - -void cbConfigChanNums(void) -{ - config.ptnChnNumbers ^= 1; - redrawPatternEditor(); -} - -void cbConfigShowVolCol(void) -{ - config.ptnS3M ^= 1; - redrawPatternEditor(); -} - -void cbHardwareMouse(void) -{ - config.specialFlags2 ^= HARDWARE_MOUSE; - - if (config.specialFlags2 & HARDWARE_MOUSE) - SDL_ShowCursor(true); - else - SDL_ShowCursor(false); -} - -void rbConfigMouseNice(void) -{ - config.mouseType = MOUSE_IDLE_SHAPE_NICE; - checkRadioButton(RB_CONFIG_MOUSE_NICE); - setMouseShape(config.mouseType); -} - -void rbConfigMouseUgly(void) -{ - config.mouseType = MOUSE_IDLE_SHAPE_UGLY; - checkRadioButton(RB_CONFIG_MOUSE_UGLY); - setMouseShape(config.mouseType); -} - -void rbConfigMouseAwful(void) -{ - config.mouseType = MOUSE_IDLE_SHAPE_AWFUL; - checkRadioButton(RB_CONFIG_MOUSE_AWFUL); - setMouseShape(config.mouseType); -} - -void rbConfigMouseUseable(void) -{ - config.mouseType = MOUSE_IDLE_SHAPE_USEABLE; - checkRadioButton(RB_CONFIG_MOUSE_USEABLE); - setMouseShape(config.mouseType); -} - -void rbConfigMouseBusyVogue(void) -{ - config.mouseAnimType = MOUSE_BUSY_SHAPE_GLASS; - checkRadioButton(RB_CONFIG_MOUSE_BUSY_GLASS); - resetMouseBusyAnimation(); -} - -void rbConfigMouseBusyMrH(void) -{ - config.mouseAnimType = MOUSE_BUSY_SHAPE_CLOCK; - checkRadioButton(RB_CONFIG_MOUSE_BUSY_CLOCK); - resetMouseBusyAnimation(); -} - -void rbConfigScopeStandard(void) -{ - config.specialFlags &= ~LINED_SCOPES; - checkRadioButton(RB_CONFIG_SCOPE_NORMAL); -} - -void rbConfigScopeLined(void) -{ - config.specialFlags |= LINED_SCOPES; - checkRadioButton(RB_CONFIG_SCOPE_LINED); -} - -void rbConfigPatt4Chans(void) -{ - config.ptnMaxChannels = MAX_CHANS_SHOWN_4; - checkRadioButton(RB_CONFIG_MAXCHAN_4); - editor.ui.maxVisibleChannels = 2 + (((uint8_t)config.ptnMaxChannels + 1) * 2); - redrawPatternEditor(); -} - -void rbConfigPatt6Chans(void) -{ - config.ptnMaxChannels = MAX_CHANS_SHOWN_6; - checkRadioButton(RB_CONFIG_MAXCHAN_6); - editor.ui.maxVisibleChannels = 2 + (((uint8_t)config.ptnMaxChannels + 1) * 2); - redrawPatternEditor(); -} - -void rbConfigPatt8Chans(void) -{ - config.ptnMaxChannels = MAX_CHANS_SHOWN_8; - checkRadioButton(RB_CONFIG_MAXCHAN_8); - editor.ui.maxVisibleChannels = 2 + (((uint8_t)config.ptnMaxChannels + 1) * 2); - redrawPatternEditor(); -} - -void rbConfigPatt12Chans(void) -{ - config.ptnMaxChannels = MAX_CHANS_SHOWN_12; - checkRadioButton(RB_CONFIG_MAXCHAN_12); - editor.ui.maxVisibleChannels = 2 + (((uint8_t)config.ptnMaxChannels + 1) * 2); - redrawPatternEditor(); -} - -void rbConfigFontCapitals(void) -{ - config.ptnFont = PATT_FONT_CAPITALS; - checkRadioButton(RB_CONFIG_FONT_CAPITALS); - redrawPatternEditor(); -} - -void rbConfigFontLowerCase(void) -{ - config.ptnFont = PATT_FONT_LOWERCASE; - checkRadioButton(RB_CONFIG_FONT_LOWERCASE); - redrawPatternEditor(); -} - -void rbConfigFontFuture(void) -{ - config.ptnFont = PATT_FONT_FUTURE; - checkRadioButton(RB_CONFIG_FONT_FUTURE); - redrawPatternEditor(); -} - -void rbConfigFontBold(void) -{ - config.ptnFont = PATT_FONT_BOLD; - checkRadioButton(RB_CONFIG_FONT_BOLD); - redrawPatternEditor(); -} - -void rbFileSortExt(void) -{ - config.cfg_SortPriority = FILESORT_EXT; - checkRadioButton(RB_CONFIG_FILESORT_EXT); - editor.diskOpReadOnOpen = true; -} - -void rbFileSortName(void) -{ - config.cfg_SortPriority = FILESORT_NAME; - checkRadioButton(RB_CONFIG_FILESORT_NAME); - editor.diskOpReadOnOpen = true; -} - -void rbWinSizeAuto(void) -{ - if (video.fullscreen) - { - okBox(0, "System message", "You can't change the window size while in fullscreen mode!"); - return; - } - - config.windowFlags &= ~(WINSIZE_1X + WINSIZE_2X + WINSIZE_3X + WINSIZE_4X); - config.windowFlags |= WINSIZE_AUTO; - setWindowSizeFromConfig(true); - checkRadioButton(RB_CONFIG_WIN_SIZE_AUTO); -} - -void rbWinSize1x(void) -{ - if (video.fullscreen) - { - okBox(0, "System message", "You can't change the window size while in fullscreen mode!"); - return; - } - - config.windowFlags &= ~(WINSIZE_AUTO + WINSIZE_2X + WINSIZE_3X + WINSIZE_4X); - config.windowFlags |= WINSIZE_1X; - setWindowSizeFromConfig(true); - checkRadioButton(RB_CONFIG_WIN_SIZE_1X); -} - -void rbWinSize2x(void) -{ - if (video.fullscreen) - { - okBox(0, "System message", "You can't change the window size while in fullscreen mode!"); - return; - } - - config.windowFlags &= ~(WINSIZE_AUTO + WINSIZE_1X + WINSIZE_3X + WINSIZE_4X); - config.windowFlags |= WINSIZE_2X; - setWindowSizeFromConfig(true); - checkRadioButton(RB_CONFIG_WIN_SIZE_2X); -} - -void rbWinSize3x(void) -{ - if (video.fullscreen) - { - okBox(0, "System message", "You can't change the window size while in fullscreen mode!"); - return; - } - - config.windowFlags &= ~(WINSIZE_AUTO + WINSIZE_1X + WINSIZE_2X + WINSIZE_4X); - config.windowFlags |= WINSIZE_3X; - setWindowSizeFromConfig(true); - checkRadioButton(RB_CONFIG_WIN_SIZE_3X); -} - -void rbWinSize4x(void) -{ - if (video.fullscreen) - { - okBox(0, "System message", "You can't change the window size while in fullscreen mode!"); - return; - } - - config.windowFlags &= ~(WINSIZE_AUTO + WINSIZE_1X + WINSIZE_2X + WINSIZE_3X); - config.windowFlags |= WINSIZE_4X; - setWindowSizeFromConfig(true); - checkRadioButton(RB_CONFIG_WIN_SIZE_4X); -} - -void cbSampCutToBuff(void) -{ - config.smpCutToBuffer ^= 1; -} - -void cbPattCutToBuff(void) -{ - config.ptnCutToBuffer ^= 1; -} - -void cbKillNotesAtStop(void) -{ - config.killNotesOnStopPlay ^= 1; -} - -void cbFileOverwriteWarn(void) -{ - config.cfg_OverwriteWarning ^= 1; -} - -void cbMultiChanRec(void) -{ - config.multiRec ^= 1; -} - -void cbMultiChanKeyJazz(void) -{ - config.multiKeyJazz ^= 1; -} - -void cbMultiChanEdit(void) -{ - config.multiEdit ^= 1; -} - -void cbRecKeyOff(void) -{ - config.recRelease ^= 1; -} - -void cbQuantisize(void) -{ - config.recQuant ^= 1; -} - -void cbChangePattLenInsDel(void) -{ - config.recTrueInsert ^= 1; -} - -void cbMIDIAllowPC(void) -{ - config.recMIDIAllowPC ^= 1; -} - -void cbMIDIEnable(void) -{ - midi.enable ^= 1; -} - -void cbMIDIRecTransp(void) -{ - config.recMIDITransp ^= 1; -} - -void cbMIDIRecAllChn(void) -{ - config.recMIDIAllChn ^= 1; -} - -void cbMIDIRecVelosity(void) -{ - config.recMIDIVelosity ^= 1; -} - -void cbMIDIRecAftert(void) -{ - config.recMIDIAftert ^= 1; -} - -void cbVsyncOff(void) -{ - config.windowFlags ^= FORCE_VSYNC_OFF; - - if (!(config.dontShowAgainFlags & DONT_SHOW_NOT_YET_APPLIED_WARNING_FLAG)) - okBox(7, "System message", "This setting is not applied until you close and reopen the program."); -} - -void cbFullScreen(void) -{ - config.windowFlags ^= START_IN_FULLSCR; - - if (!(config.dontShowAgainFlags & DONT_SHOW_NOT_YET_APPLIED_WARNING_FLAG)) - okBox(7, "System message", "This setting is not applied until you close and reopen the program."); -} - -void cbPixelFilter(void) -{ - config.windowFlags ^= FILTERING; - recreateTexture(); - - if (video.fullscreen) - { - leaveFullScreen(); - enterFullscreen(); - } -} - -void configQuantizeUp(void) -{ - if (config.recQuantRes <= 8) - { - config.recQuantRes *= 2; - drawQuantValue(); - } -} - -void configQuantizeDown(void) -{ - if (config.recQuantRes > 1) - { - config.recQuantRes /= 2; - drawQuantValue(); - } -} - -void configMIDIChnUp(void) -{ - config.recMIDIChn++; - config.recMIDIChn = ((config.recMIDIChn - 1) & 15) + 1; - - drawMIDIChanValue(); -} - -void configMIDIChnDown(void) -{ - config.recMIDIChn--; - config.recMIDIChn = (((uint16_t)(config.recMIDIChn - 1)) & 15) + 1; - - drawMIDIChanValue(); -} - -void configMIDITransUp(void) -{ - if (config.recMIDITranspVal < 72) - { - config.recMIDITranspVal++; - drawMIDITransp(); - } -} - -void configMIDITransDown(void) -{ - if (config.recMIDITranspVal > -72) - { - config.recMIDITranspVal--; - drawMIDITransp(); - } -} - -void configMIDISensDown(void) -{ - scrollBarScrollLeft(SB_MIDI_SENS, 1); -} - -void configMIDISensUp(void) -{ - scrollBarScrollRight(SB_MIDI_SENS, 1); -} - -void sbMIDISens(uint32_t pos) -{ - if (config.recMIDIVolSens != (int16_t)pos) - { - config.recMIDIVolSens = (int16_t)pos; - drawMIDISens(); - } -} - -void sbAmp(uint32_t pos) -{ - if (config.boostLevel != (int8_t)pos + 1) - { - config.boostLevel = (int8_t)pos + 1; - setAudioAmp(config.boostLevel, config.masterVol, config.specialFlags & BITDEPTH_24); - configDrawAmp(); - updateWavRendererSettings(); - } -} - -void configAmpDown(void) -{ - scrollBarScrollLeft(SB_AMP_SCROLL, 1); -} - -void configAmpUp(void) -{ - scrollBarScrollRight(SB_AMP_SCROLL, 1); -} - -void sbMasterVol(uint32_t pos) -{ - if (config.masterVol != (int16_t)pos) - { - config.masterVol = (int16_t)pos; - setAudioAmp(config.boostLevel, config.masterVol, config.specialFlags & BITDEPTH_24); - } -} - -void configMasterVolDown(void) -{ - scrollBarScrollLeft(SB_MASTERVOL_SCROLL, 1); -} - -void configMasterVolUp(void) -{ - scrollBarScrollRight(SB_MASTERVOL_SCROLL, 1); -} - -// default FT2 clone FT2.CFG (unencrypted) -const uint8_t defConfigData[CONFIG_FILE_SIZE] = -{ - 0x46,0x61,0x73,0x74,0x54,0x72,0x61,0x63,0x6B,0x65,0x72,0x20,0x32,0x2E,0x30,0x20,0x63,0x6F,0x6E,0x66, - 0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x1A,0x01,0x01,0x80,0xBB,0x00, - 0x00,0xFF,0x00,0x00,0x01,0xDC,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0xFF,0x00,0x20,0x02,0x01,0x00, - 0x05,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x01,0x01,0x01,0x04,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x24,0x2F,0x3F,0x09,0x09,0x10,0x3F,0x3F,0x3F,0x13,0x18,0x26,0x3F,0x3F,0x3F,0x27,0x27, - 0x27,0x00,0x00,0x00,0x08,0x0A,0x0F,0x20,0x29,0x3F,0x0F,0x0F,0x0F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F, - 0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x01,0x0A,0x10,0x0A,0xE0,0x08,0xC0,0x08,0x40,0x08,0x20,0x08, - 0xF1,0x04,0xF2,0x04,0x81,0x04,0x82,0x04,0x20,0x30,0x40,0x50,0x61,0x62,0x71,0x72,0x91,0x92,0xF8,0x03, - 0x2D,0x88,0x18,0x00,0x66,0x88,0x18,0x00,0x00,0x01,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x01,0x01,0x10,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x64,0x00,0x01,0x01, - 0x01,0x01,0x12,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0x00,0x01,0x60,0x00,0x05,0x56,0x6F,0x67, - 0x75,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x02,0x16,0x05,0x4D,0x72,0x2E,0x20,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x17,0x04,0x4C,0x6F,0x6F,0x74,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x07, - 0x0A,0x4C,0x69,0x7A,0x61,0x72,0x64,0x6B,0x69,0x6E,0x67,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x06,0x03,0x41,0x6C,0x74,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x05,0x03,0x55,0x62,0x65, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x04,0x00,0x04,0x06,0x4E,0x69,0x6B,0x6C,0x61,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x03,0x05,0x4A,0x65,0x6E,0x73,0x61,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x02, - 0x05,0x54,0x6F,0x62,0x62,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x01,0x08,0x4B,0x61,0x72,0x6F,0x6C,0x69,0x6E,0x61,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x02,0x00, - 0x00,0x00,0x00,0x99,0xE2,0x27,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x30, - 0x00,0x04,0x00,0x40,0x00,0x08,0x00,0x2C,0x00,0x0E,0x00,0x08,0x00,0x18,0x00,0x16,0x00,0x20,0x00,0x08, - 0x00,0x3C,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x5A,0x00,0x00,0x00,0x64,0x00,0x00, - 0x00,0x6E,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x0A,0x00,0x28,0x00,0x1E,0x00,0x18,0x00,0x32,0x00,0x20, - 0x00,0x3C,0x00,0x20,0x00,0x46,0x00,0x20,0x00,0x50,0x00,0x20,0x00,0x5A,0x00,0x20,0x00,0x64,0x00,0x20, - 0x00,0x6E,0x00,0x20,0x00,0x78,0x00,0x20,0x00,0x82,0x00,0x20,0x00,0x00,0x00,0x30,0x00,0x04,0x00,0x40, - 0x00,0x08,0x00,0x2C,0x00,0x0E,0x00,0x08,0x00,0x18,0x00,0x16,0x00,0x20,0x00,0x08,0x00,0x3C,0x00,0x00, - 0x00,0x46,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x5A,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x6E,0x00,0x00, - 0x00,0x00,0x00,0x20,0x00,0x0A,0x00,0x28,0x00,0x1E,0x00,0x18,0x00,0x32,0x00,0x20,0x00,0x3C,0x00,0x20, - 0x00,0x46,0x00,0x20,0x00,0x50,0x00,0x20,0x00,0x5A,0x00,0x20,0x00,0x64,0x00,0x20,0x00,0x6E,0x00,0x20, - 0x00,0x78,0x00,0x20,0x00,0x82,0x00,0x20,0x00,0x00,0x00,0x30,0x00,0x04,0x00,0x40,0x00,0x08,0x00,0x2C, - 0x00,0x0E,0x00,0x08,0x00,0x18,0x00,0x16,0x00,0x20,0x00,0x08,0x00,0x3C,0x00,0x00,0x00,0x46,0x00,0x00, - 0x00,0x50,0x00,0x00,0x00,0x5A,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0x00,0x00,0x20, - 0x00,0x0A,0x00,0x28,0x00,0x1E,0x00,0x18,0x00,0x32,0x00,0x20,0x00,0x3C,0x00,0x20,0x00,0x46,0x00,0x20, - 0x00,0x50,0x00,0x20,0x00,0x5A,0x00,0x20,0x00,0x64,0x00,0x20,0x00,0x6E,0x00,0x20,0x00,0x78,0x00,0x20, - 0x00,0x82,0x00,0x20,0x00,0x00,0x00,0x30,0x00,0x04,0x00,0x40,0x00,0x08,0x00,0x2C,0x00,0x0E,0x00,0x08, - 0x00,0x18,0x00,0x16,0x00,0x20,0x00,0x08,0x00,0x3C,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x50,0x00,0x00, - 0x00,0x5A,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x0A,0x00,0x28, - 0x00,0x1E,0x00,0x18,0x00,0x32,0x00,0x20,0x00,0x3C,0x00,0x20,0x00,0x46,0x00,0x20,0x00,0x50,0x00,0x20, - 0x00,0x5A,0x00,0x20,0x00,0x64,0x00,0x20,0x00,0x6E,0x00,0x20,0x00,0x78,0x00,0x20,0x00,0x82,0x00,0x20, - 0x00,0x00,0x00,0x30,0x00,0x04,0x00,0x40,0x00,0x08,0x00,0x2C,0x00,0x0E,0x00,0x08,0x00,0x18,0x00,0x16, - 0x00,0x20,0x00,0x08,0x00,0x3C,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x5A,0x00,0x00, - 0x00,0x64,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x0A,0x00,0x28,0x00,0x1E,0x00,0x18, - 0x00,0x32,0x00,0x20,0x00,0x3C,0x00,0x20,0x00,0x46,0x00,0x20,0x00,0x50,0x00,0x20,0x00,0x5A,0x00,0x20, - 0x00,0x64,0x00,0x20,0x00,0x6E,0x00,0x20,0x00,0x78,0x00,0x20,0x00,0x82,0x00,0x20,0x00,0x00,0x00,0x30, - 0x00,0x04,0x00,0x40,0x00,0x08,0x00,0x2C,0x00,0x0E,0x00,0x08,0x00,0x18,0x00,0x16,0x00,0x20,0x00,0x08, - 0x00,0x3C,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x5A,0x00,0x00,0x00,0x64,0x00,0x00, - 0x00,0x6E,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x0A,0x00,0x28,0x00,0x1E,0x00,0x18,0x00,0x32,0x00,0x20, - 0x00,0x3C,0x00,0x20,0x00,0x46,0x00,0x20,0x00,0x50,0x00,0x20,0x00,0x5A,0x00,0x20,0x00,0x64,0x00,0x20, - 0x00,0x6E,0x00,0x20,0x00,0x78,0x00,0x20,0x00,0x82,0x00,0x20,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06, - 0x00,0x06,0x00,0x06,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x03,0x00,0x03, - 0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x05, - 0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02, - 0x00,0x02,0x00,0x02,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x05,0x00,0x05, - 0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC8,0x00,0x03,0x00,0x40,0x1F,0x40, - 0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40, - 0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x01,0x00,0x00,0x08,0x00,0x00,0x00 -}; +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include +#ifdef _WIN32 +#define _WIN32_IE 0x0500 +#define WIN32_MEAN_AND_LEAN +#include +#include +#include +#else +#include +#include +#endif +#include "ft2_header.h" +#include "ft2_video.h" +#include "ft2_audio.h" +#include "ft2_config.h" +#include "ft2_gui.h" +#include "ft2_pattern_ed.h" +#include "ft2_mouse.h" +#include "ft2_wav_renderer.h" +#include "ft2_sampling.h" +#include "ft2_audioselector.h" +#include "ft2_midi.h" +#include "ft2_gfxdata.h" +#include "ft2_palette.h" +#include "ft2_pattern_draw.h" +#include "ft2_tables.h" + +// globals +config_t config; +config_t *defConfig = (config_t *)defConfigData; + +// hide POSIX warnings +#ifdef _MSC_VER +#pragma warning(disable: 4996) +#endif + +uint8_t configBuffer[CONFIG_FILE_SIZE]; + +static void xorConfigBuffer(uint8_t *ptr8) +{ + for (int32_t i = 0; i < CONFIG_FILE_SIZE; i++) + ptr8[i] ^= (uint8_t)(i * 7); +} + +static int32_t calcChecksum(uint8_t *p, uint16_t len) // for nibbles highscore data +{ + uint16_t data; + uint32_t checksum; + + if (len == 0) + return 0; + + data = 0; + checksum = 0; + + do + { + data = ((data | *p++) + len) ^ len; + checksum += data; + data <<= 8; + } + while (--len != 0); + + return checksum; +} + +static void loadConfigFromBuffer(uint8_t defaults) +{ + int32_t i, checksum; + + lockMixerCallback(); + + memcpy(&config, configBuffer, CONFIG_FILE_SIZE); + +#ifdef __APPLE__ + if (defaults) + config.audioFreq = 44100; +#else + (void)defaults; // prevent warning +#endif + + // if Nibbles highscore table checksum is incorrect, load default highscore table instead + checksum = calcChecksum((uint8_t *)&config.NI_HighScore, sizeof (config.NI_HighScore)); + if (config.NI_HighScoreChecksum != checksum) + { + memcpy(&config.NI_HighScore, &defConfigData[636], sizeof (config.NI_HighScore)); + for (i = 0; i < 10; i++) + { + config.NI_HighScore[i].name[21] = '\0'; + if (config.NI_HighScore[i].nameLen > 21) + config.NI_HighScore[i].nameLen = 21; + } + } + + // clamp user palette values + for (i = 0; i < 16; i++) + { + config.userPal->r = palMax(config.userPal->r); + config.userPal->g = palMax(config.userPal->g); + config.userPal->b = palMax(config.userPal->b); + } + + // copy over user palette + memcpy(palTable[11], config.userPal, sizeof (pal16) * 16); + + // sanitize certain values + + config.modulesPath[80-1] = '\0'; + config.instrPath[80-1] = '\0'; + config.samplesPath[80-1] = '\0'; + config.patternsPath[80-1] = '\0'; + config.tracksPath[80-1] = '\0'; + + config.boostLevel = CLAMP(config.boostLevel, 1, 32); + config.masterVol = CLAMP(config.masterVol, 0, 256); + config.ptnMaxChannels = CLAMP(config.ptnMaxChannels, 0, 3); + config.ptnFont = CLAMP(config.ptnFont, 0, 3); + config.mouseType = CLAMP(config.mouseType, 0, 3); + config.cfg_StdPalNr = CLAMP(config.cfg_StdPalNr, 0, 11); + config.cfg_SortPriority = CLAMP(config.cfg_SortPriority, 0, 1); + config.NI_AntPlayers = CLAMP(config.NI_AntPlayers, 0, 1); + config.NI_Speed = CLAMP(config.NI_Speed, 0, 3); + config.recMIDIVolSens = CLAMP(config.recMIDIVolSens, 0, 200); + config.recMIDIChn = CLAMP(config.recMIDIChn, 1, 16); + + if (config.recTrueInsert > 1) + config.recTrueInsert = 1; + + if (config.mouseAnimType != 0 && config.mouseAnimType != 2) + config.mouseAnimType = 0; + + if (config.recQuantRes != 1 && config.recQuantRes != 2 && config.recQuantRes != 4 && + config.recQuantRes != 8 && config.recQuantRes != 16) + { + config.recQuantRes = 16; + } + + if (config.audioFreq != 44100 && config.audioFreq != 48000 && config.audioFreq != 96000) + { + // set default +#ifdef __APPLE__ + config.audioFreq = 44100; +#else + config.audioFreq = 48000; +#endif + } + + if (config.audioInputFreq <= 1) // default value from FT2 (this was cdr_Sync) - set defaults + { +#ifdef __APPLE__ + config.audioInputFreq = INPUT_FREQ_44KHZ; +#else + config.audioInputFreq = INPUT_FREQ_48KHZ; +#endif + } + + if (config.specialFlags == 64) // default value from FT2 (this was ptnDefaultLen byte #1) - set defaults + config.specialFlags = BUFFSIZE_1024 | BITDEPTH_16; + + if (config.specialFlags & 64) // deprecated BUFFSIZE_4096 ("Very large") setting + { + // set to current highest setting ("Large" aka. 2048) + config.specialFlags &= ~(BUFFSIZE_1024 + 64); + config.specialFlags |= BUFFSIZE_2048; + } + + if (config.windowFlags == 0) // default value from FT2 (this was ptnDefaultLen byte #2) - set defaults + config.windowFlags = WINSIZE_AUTO; + + // audio bit depth - remove 24-bit flag if both are enabled + if ((config.specialFlags & BITDEPTH_16) && (config.specialFlags & BITDEPTH_24)) + config.specialFlags &= ~BITDEPTH_24; + + if (audio.dev != 0) + setNewAudioSettings(); + + audioSetInterpolation(config.interpolation ? true : false); + audioSetVolRamp((config.specialFlags & NO_VOLRAMP_FLAG) ? false : true); + setAudioAmp(config.boostLevel, config.masterVol, config.specialFlags & BITDEPTH_24); + setMouseShape(config.mouseType); + changeLogoType(config.id_FastLogo); + changeBadgeType(config.id_TritonProd); + editor.ui.maxVisibleChannels = (uint8_t)(2 + ((config.ptnMaxChannels + 1) * 2)); + setPal16(palTable[config.cfg_StdPalNr], true); + updatePattFontPtrs(); + + unlockMixerCallback(); +} + +static void configDrawAmp(void) +{ + char str[8]; + sprintf(str, "%02d", config.boostLevel); + textOutFixed(607, 120, PAL_FORGRND, PAL_DESKTOP, str); +} + +static void setDefaultConfigSettings(void) +{ + memcpy(configBuffer, defConfigData, CONFIG_FILE_SIZE); + loadConfigFromBuffer(true); +} + +void resetConfig(void) +{ + uint8_t oldWindowFlags; + + if (okBox(2, "System request", "Are you sure you want to completely reset your FT2 configuration?") != 1) + return; + + oldWindowFlags = config.windowFlags; + + setDefaultConfigSettings(); + setToDefaultAudioOutputDevice(); + setToDefaultAudioInputDevice(); + + saveConfig(false); + + // redraw new changes + showTopScreen(false); + showBottomScreen(); + + setWindowSizeFromConfig(true); + + // handle pixel filter change + if ((oldWindowFlags & FILTERING) != (config.windowFlags & FILTERING)) + { + recreateTexture(); + if (video.fullscreen) + { + leaveFullScreen(); + enterFullscreen(); + } + } + + if (config.specialFlags2 & HARDWARE_MOUSE) + SDL_ShowCursor(SDL_TRUE); + else + SDL_ShowCursor(SDL_FALSE); +} + +bool loadConfig(bool showErrorFlag) +{ + size_t fileSize; + FILE *in; + + // this routine can be called at any time, so make sure we free these first... + + if (audio.currOutputDevice != NULL) + { + free(audio.currOutputDevice); + audio.currOutputDevice = NULL; + } + + if (audio.currInputDevice != NULL) + { + free(audio.currInputDevice); + audio.currInputDevice = NULL; + } + + // now we can get the audio devices from audiodev.ini + + audio.currOutputDevice = getAudioOutputDeviceFromConfig(); + audio.currInputDevice = getAudioInputDeviceFromConfig(); + +#ifdef HAS_MIDI + if (midi.initThreadDone) + { + setMidiInputDeviceFromConfig(); + if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_MIDI_INPUT) + drawMidiInputList(); + } +#endif + + if (editor.configFileLocation == NULL) + { + if (showErrorFlag) + okBox(0, "System message", "Error opening config file for reading!"); + + return false; + } + + in = UNICHAR_FOPEN(editor.configFileLocation, "rb"); + if (in == NULL) + { + if (showErrorFlag) + okBox(0, "System message", "Error opening config file for reading!"); + + return false; + } + + fseek(in, 0, SEEK_END); + fileSize = (int32_t)ftell(in); + rewind(in); + + if (fileSize > CONFIG_FILE_SIZE) + { + fclose(in); + if (showErrorFlag) + okBox(0, "System message", "Error loading config: the config file is not valid!"); + + return false; + } + + // not a valid FT2 config file (FT2.CFG filesize varies depending on version) + if (fileSize < 1732 || fileSize > CONFIG_FILE_SIZE) + { + fclose(in); + if (showErrorFlag) + okBox(0, "System message", "Error loading config: the config file is not valid!"); + + return false; + } + + if (fileSize < CONFIG_FILE_SIZE) + memset(configBuffer, 0, CONFIG_FILE_SIZE); + + // read to config buffer and close file handle + if (fread(configBuffer, fileSize, 1, in) != 1) + { + fclose(in); + if (showErrorFlag) + okBox(0, "System message", "Error opening config file for reading!"); + + return false; + } + + fclose(in); + + // decrypt config buffer + xorConfigBuffer(configBuffer); + + if (memcmp(&configBuffer[0], CFG_ID_STR, 35) != 0) + { + if (showErrorFlag) + okBox(0, "System message", "Error loading config: the config file is not valid!"); + + return false; + } + + loadConfigFromBuffer(false); + return true; +} + +void loadConfig2(void) // called by "Load config" button +{ + uint8_t oldWindowFlags; + + oldWindowFlags = config.windowFlags; + + loadConfig(CONFIG_SHOW_ERRORS); + + // redraw new changes + showTopScreen(false); + showBottomScreen(); + + // handle pixel filter change + if ((oldWindowFlags & FILTERING) != (config.windowFlags & FILTERING)) + { + recreateTexture(); + if (video.fullscreen) + { + leaveFullScreen(); + enterFullscreen(); + } + } + + if (config.specialFlags2 & HARDWARE_MOUSE) + SDL_ShowCursor(SDL_TRUE); + else + SDL_ShowCursor(SDL_FALSE); +} + +bool saveConfig(bool showErrorFlag) +{ + FILE *out; + + if (editor.configFileLocation == NULL) + { + if (showErrorFlag) + okBox(0, "System message", "General I/O error during saving! Is the file in use?"); + + return false; + } + + saveAudioDevicesToConfig(audio.currOutputDevice, audio.currInputDevice); + +#ifdef HAS_MIDI + saveMidiInputDeviceToConfig(); +#endif + + out = UNICHAR_FOPEN(editor.configFileLocation, "wb"); + if (out == NULL) + { + if (showErrorFlag) + okBox(0, "System message", "General I/O error during saving! Is the file in use?"); + + return false; + } + + config.NI_HighScoreChecksum = calcChecksum((uint8_t *)config.NI_HighScore, sizeof (config.NI_HighScore)); + + // set default path lengths (Pascal strings) + config.modulesPathLen = (uint8_t)strlen(config.modulesPath); + config.instrPathLen = (uint8_t)strlen(config.instrPath); + config.samplesPathLen = (uint8_t)strlen(config.samplesPath); + config.patternsPathLen = (uint8_t)strlen(config.patternsPath); + config.tracksPathLen = (uint8_t)strlen(config.tracksPath); + + // copy over user palette + memcpy(config.userPal, palTable[11], sizeof (pal16) * 16); + + memcpy(configBuffer, &config, CONFIG_FILE_SIZE); + + // encrypt config buffer + xorConfigBuffer(configBuffer); + + // write config buffer and close file handle + if (fwrite(configBuffer, 1, CONFIG_FILE_SIZE, out) != CONFIG_FILE_SIZE) + { + fclose(out); + + if (showErrorFlag) + okBox(0, "System message", "General I/O error during saving! Is the file in use?"); + + return false; + } + + fclose(out); + return true; +} + +void saveConfig2(void) // called by "Save config" button +{ + saveConfig(CONFIG_SHOW_ERRORS); +} + +static UNICHAR *getFullAudDevConfigPath(void) // kinda hackish +{ + UNICHAR *filePath; + int32_t ft2ConfPathLen, stringOffset, audiodevDotIniStrLen, ft2DotCfgStrLen; + + if (editor.configFileLocation == NULL) + return NULL; + + ft2ConfPathLen = (int32_t)UNICHAR_STRLEN(editor.configFileLocation); + +#ifdef _WIN32 + audiodevDotIniStrLen = (int32_t)UNICHAR_STRLEN(L"audiodev.ini"); + ft2DotCfgStrLen = (int32_t)UNICHAR_STRLEN(L"FT2.CFG"); +#else + audiodevDotIniStrLen = (int32_t)UNICHAR_STRLEN("audiodev.ini"); + ft2DotCfgStrLen = (int32_t)UNICHAR_STRLEN("FT2.CFG"); +#endif + + filePath = (UNICHAR *)calloc(ft2ConfPathLen + audiodevDotIniStrLen + 2, sizeof (UNICHAR)); + + UNICHAR_STRCPY(filePath, editor.configFileLocation); + + stringOffset = ft2ConfPathLen - ft2DotCfgStrLen; + filePath[stringOffset+0] = '\0'; + filePath[stringOffset+1] = '\0'; + +#ifdef _WIN32 + UNICHAR_STRCAT(filePath, L"audiodev.ini"); +#else + UNICHAR_STRCAT(filePath, "audiodev.ini"); +#endif + + return filePath; +} + +static UNICHAR *getFullMidiDevConfigPath(void) // kinda hackish +{ + UNICHAR *filePath; + int32_t ft2ConfPathLen, stringOffset, mididevDotIniStrLen, ft2DotCfgStrLen; + + if (editor.configFileLocation == NULL) + return NULL; + + ft2ConfPathLen = (int32_t)UNICHAR_STRLEN(editor.configFileLocation); + +#ifdef _WIN32 + mididevDotIniStrLen = (int32_t)UNICHAR_STRLEN(L"mididev.ini"); + ft2DotCfgStrLen = (int32_t)UNICHAR_STRLEN(L"FT2.CFG"); +#else + mididevDotIniStrLen = (int32_t)UNICHAR_STRLEN("mididev.ini"); + ft2DotCfgStrLen = (int32_t)UNICHAR_STRLEN("FT2.CFG"); +#endif + + filePath = (UNICHAR *)calloc(ft2ConfPathLen + mididevDotIniStrLen + 2, sizeof (UNICHAR)); + + UNICHAR_STRCPY(filePath, editor.configFileLocation); + + stringOffset = ft2ConfPathLen - ft2DotCfgStrLen; + filePath[stringOffset+0] = '\0'; + filePath[stringOffset+1] = '\0'; + +#ifdef _WIN32 + UNICHAR_STRCAT(filePath, L"mididev.ini"); +#else + UNICHAR_STRCAT(filePath, "mididev.ini"); +#endif + + return filePath; +} + +static void setConfigFileLocation(void) // kinda hackish +{ + int32_t result, ft2DotCfgStrLen; + FILE *f; + + // Windows +#ifdef _WIN32 + UNICHAR *tmpPath, *oldPath; + + ft2DotCfgStrLen = (int32_t)UNICHAR_STRLEN(L"FT2.CFG"); + + oldPath = (UNICHAR *)calloc(PATH_MAX + 8 + 2, sizeof (UNICHAR)); + tmpPath = (UNICHAR *)calloc(PATH_MAX + 8 + 2, sizeof (UNICHAR)); + editor.configFileLocation = (UNICHAR *)calloc(PATH_MAX + ft2DotCfgStrLen + 2, sizeof (UNICHAR)); + + if (oldPath == NULL || tmpPath == NULL || editor.configFileLocation == NULL) + { + if (oldPath != NULL) free(oldPath); + if (tmpPath != NULL) free(tmpPath); + if (editor.configFileLocation != NULL) free(editor.configFileLocation); + + editor.configFileLocation = NULL; + showErrorMsgBox("Error: Couldn't set config file location. You can't load/save the config!"); + return; + } + + if (GetCurrentDirectoryW(PATH_MAX - ft2DotCfgStrLen - 1, oldPath) == 0) + { + free(oldPath); + free(tmpPath); + free(editor.configFileLocation); + + editor.configFileLocation = NULL; + showErrorMsgBox("Error: Couldn't set config file location. You can't load/save the config!"); + return; + } + + UNICHAR_STRCPY(editor.configFileLocation, oldPath); + if ((f = fopen("FT2.CFG", "rb")) == NULL) + { + result = SHGetFolderPathW(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT, tmpPath); + if (result == S_OK) + { + if (SetCurrentDirectoryW(tmpPath) != 0) + { + result = chdir("FT2 clone"); + if (result != 0) + { + _mkdir("FT2 clone"); + result = chdir("FT2 clone"); + } + + if (result == 0) + GetCurrentDirectoryW(PATH_MAX - ft2DotCfgStrLen - 1, editor.configFileLocation); // we can, set it + } + } + } + else + { + fclose(f); + } + + free(tmpPath); + SetCurrentDirectoryW(oldPath); + free(oldPath); + + UNICHAR_STRCAT(editor.configFileLocation, L"\\FT2.CFG"); + + // OS X / macOS +#elif defined __APPLE__ + ft2DotCfgStrLen = (int32_t)UNICHAR_STRLEN("FT2.CFG"); + + editor.configFileLocation = (UNICHAR *)calloc(PATH_MAX + ft2DotCfgStrLen + 2, sizeof (UNICHAR)); + if (editor.configFileLocation == NULL) + { + showErrorMsgBox("Error: Couldn't set config file location. You can't load/save the config!"); + return; + } + + if (getcwd(editor.configFileLocation, PATH_MAX - ft2DotCfgStrLen - 1) == NULL) + { + free(editor.configFileLocation); + editor.configFileLocation = NULL; + showErrorMsgBox("Error: Couldn't set config file location. You can't load/save the config!"); + return; + } + + if ((f = fopen("FT2.CFG", "rb")) == NULL) + { + if (chdir(getenv("HOME")) == 0) + { + result = chdir("Library/Application Support"); + if (result == 0) + { + result = chdir("FT2 clone"); + if (result != 0) + { + mkdir("FT2 clone", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); + result = chdir("FT2 clone"); + } + + if (result == 0) + getcwd(editor.configFileLocation, PATH_MAX - ft2DotCfgStrLen - 1); + } + } + } + else + { + fclose(f); + } + + strcat(editor.configFileLocation, "/FT2.CFG"); + + // Linux etc +#else + ft2DotCfgStrLen = (int32_t)UNICHAR_STRLEN("FT2.CFG"); + + editor.configFileLocation = (UNICHAR *)calloc(PATH_MAX + ft2DotCfgStrLen + 2, sizeof (UNICHAR)); + if (editor.configFileLocation == NULL) + { + showErrorMsgBox("Error: Couldn't set config file location. You can't load/save the config!"); + return; + } + + if (getcwd(editor.configFileLocation, PATH_MAX - ft2DotCfgStrLen - 1) == NULL) + { + free(editor.configFileLocation); + editor.configFileLocation = NULL; + showErrorMsgBox("Error: Couldn't set config file location. You can't load/save the config!"); + return; + } + + if ((f = fopen("FT2.CFG", "rb")) == NULL) + { + if (chdir(getenv("HOME")) == 0) + { + result = chdir(".config"); + if (result != 0) + { + mkdir(".config", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); + result = chdir(".config"); + } + + if (result == 0) + { + result = chdir("FT2 clone"); + if (result != 0) + { + mkdir("FT2 clone", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); + result = chdir("FT2 clone"); + } + + if (result == 0) + getcwd(editor.configFileLocation, PATH_MAX - ft2DotCfgStrLen - 1); + } + } + } + else + { + fclose(f); + } + + strcat(editor.configFileLocation, "/FT2.CFG"); +#endif + + editor.midiConfigFileLocation = getFullMidiDevConfigPath(); + editor.audioDevConfigFileLocation = getFullAudDevConfigPath(); +} + +void loadConfigOrSetDefaults(void) +{ + size_t fileSize; + FILE *in; + + setConfigFileLocation(); + + if (editor.configFileLocation == NULL) + { + setDefaultConfigSettings(); + return; + } + + in = UNICHAR_FOPEN(editor.configFileLocation, "rb"); + if (in == NULL) + { + setDefaultConfigSettings(); + return; + } + + fseek(in, 0, SEEK_END); + fileSize = ftell(in); + rewind(in); + + // not a valid FT2 config file (FT2.CFG filesize varies depending on version) + if (fileSize < 1732 || fileSize > CONFIG_FILE_SIZE) + { + fclose(in); + setDefaultConfigSettings(); + showErrorMsgBox("The configuration file (FT2.CFG) was corrupt, default settings were loaded."); + return; + } + + if (fileSize < CONFIG_FILE_SIZE) + memset(configBuffer, 0, CONFIG_FILE_SIZE); + + if (fread(configBuffer, fileSize, 1, in) != 1) + { + fclose(in); + setDefaultConfigSettings(); + showErrorMsgBox("I/O error while reading FT2.CFG, default settings were loaded."); + return; + } + + fclose(in); + + // decrypt config buffer + xorConfigBuffer(configBuffer); + + if (memcmp(&configBuffer[0], CFG_ID_STR, 35) != 0) + { + setDefaultConfigSettings(); + showErrorMsgBox("The configuration file (FT2.CFG) was corrupt, default settings were loaded."); + return; + } + + loadConfigFromBuffer(false); +} + +static void drawQuantValue(void) +{ + char str[8]; + sprintf(str, "%02d", config.recQuantRes); + textOutFixed(354, 123, PAL_FORGRND, PAL_DESKTOP, str); +} + +static void drawMIDIChanValue(void) +{ + char str[8]; + sprintf(str, "%02d", config.recMIDIChn); + textOutFixed(578, 109, PAL_FORGRND, PAL_DESKTOP, str); +} + +static void drawMIDITransp(void) +{ + char sign; + int8_t val; + + fillRect(571, 123, 20, 8, PAL_DESKTOP); + + sign = (config.recMIDITranspVal < 0) ? '-' : '+'; + + val = (int8_t)(ABS(config.recMIDITranspVal)); + if (val >= 10) + { + charOut(571, 123, PAL_FORGRND, sign); + charOut(578, 123, PAL_FORGRND, '0' + ((val / 10) % 10)); + charOut(585, 123, PAL_FORGRND, '0' + (val % 10)); + } + else + { + if (val > 0) + charOut(578, 123, PAL_FORGRND, sign); + + charOut(585, 123, PAL_FORGRND, '0' + (val % 10)); + } +} + +static void drawMIDISens(void) +{ + char str[8]; + sprintf(str, "%03d", config.recMIDIVolSens); + textOutFixed(525, 160, PAL_FORGRND, PAL_DESKTOP, str); +} + +static void setConfigRadioButtonStates(void) +{ + uint16_t tmpID; + + uncheckRadioButtonGroup(RB_GROUP_CONFIG_SELECT); + switch (editor.currConfigScreen) + { + default: + case CONFIG_SCREEN_IO_DEVICES: tmpID = RB_CONFIG_IO_DEVICES; break; + case CONFIG_SCREEN_LAYOUT: tmpID = RB_CONFIG_LAYOUT; break; + case CONFIG_SCREEN_MISCELLANEOUS: tmpID = RB_CONFIG_MISCELLANEOUS; break; +#ifdef HAS_MIDI + case CONFIG_SCREEN_MIDI_INPUT: tmpID = RB_CONFIG_MIDI_INPUT; break; +#endif + } + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + showRadioButtonGroup(RB_GROUP_CONFIG_SELECT); +} + +void setConfigIORadioButtonStates(void) // accessed by other .c files +{ + uint16_t tmpID; + + // AUDIO BUFFER SIZE + uncheckRadioButtonGroup(RB_GROUP_CONFIG_SOUND_BUFF_SIZE); + + tmpID = RB_CONFIG_SBS_1024; + if (config.specialFlags & BUFFSIZE_512) + tmpID = RB_CONFIG_SBS_512; + else if (config.specialFlags & BUFFSIZE_2048) + tmpID = RB_CONFIG_SBS_2048; + + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + // AUDIO BIT DEPTH + uncheckRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_BIT_DEPTH); + + tmpID = RB_CONFIG_AUDIO_16BIT; + if (config.specialFlags & BITDEPTH_24) + tmpID = RB_CONFIG_AUDIO_24BIT; + + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + // AUDIO FREQUENCY + uncheckRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_FREQ); + switch (config.audioFreq) + { +#ifdef __APPLE__ + default: case 44100: tmpID = RB_CONFIG_AUDIO_44KHZ; break; + case 48000: tmpID = RB_CONFIG_AUDIO_48KHZ; break; +#else + case 44100: tmpID = RB_CONFIG_AUDIO_44KHZ; break; + default: case 48000: tmpID = RB_CONFIG_AUDIO_48KHZ; break; +#endif + case 96000: tmpID = RB_CONFIG_AUDIO_96KHZ; break; + } + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + // AUDIO INPUT FREQUENCY + uncheckRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_INPUT_FREQ); + switch (config.audioInputFreq) + { +#ifdef __APPLE__ + default: case INPUT_FREQ_44KHZ: tmpID = RB_CONFIG_AUDIO_INPUT_44KHZ; break; + case INPUT_FREQ_48KHZ: tmpID = RB_CONFIG_AUDIO_INPUT_48KHZ; break; +#else + case INPUT_FREQ_44KHZ: tmpID = RB_CONFIG_AUDIO_INPUT_44KHZ; break; + default: case INPUT_FREQ_48KHZ: tmpID = RB_CONFIG_AUDIO_INPUT_48KHZ; break; +#endif + case INPUT_FREQ_96KHZ: tmpID = RB_CONFIG_AUDIO_INPUT_96KHZ; break; + } + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + // FREQUENCY TABLE + uncheckRadioButtonGroup(RB_GROUP_CONFIG_FREQ_TABLE); + tmpID = audio.linearFreqTable ? RB_CONFIG_FREQ_LINEAR : RB_CONFIG_FREQ_AMIGA; + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + // show result + + showRadioButtonGroup(RB_GROUP_CONFIG_SOUND_BUFF_SIZE); + showRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_BIT_DEPTH); + showRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_FREQ); + showRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_INPUT_FREQ); + showRadioButtonGroup(RB_GROUP_CONFIG_FREQ_TABLE); +} + +static void setConfigIOCheckButtonStates(void) +{ + checkBoxes[CB_CONF_INTERPOLATION].checked = config.interpolation; + checkBoxes[CB_CONF_VOL_RAMP].checked = (config.specialFlags & NO_VOLRAMP_FLAG) ? false : true; + checkBoxes[CB_CONF_DITHER].checked = (config.specialFlags & BITDEPTH_24) ? false : config.specialFlags2 & DITHERED_AUDIO; + + showCheckBox(CB_CONF_INTERPOLATION); + showCheckBox(CB_CONF_VOL_RAMP); + showCheckBox(CB_CONF_DITHER); +} + +static void setConfigLayoutCheckButtonStates(void) +{ + checkBoxes[CB_CONF_PATTSTRETCH].checked = config.ptnUnpressed; + checkBoxes[CB_CONF_HEXCOUNT].checked = config.ptnHex; + checkBoxes[CB_CONF_ACCIDENTAL].checked = config.ptnAcc ? true : false; + checkBoxes[CB_CONF_SHOWZEROES].checked = config.ptnInstrZero; + checkBoxes[CB_CONF_FRAMEWORK].checked = config.ptnFrmWrk; + checkBoxes[CB_CONF_LINECOLORS].checked = config.ptnLineLight; + checkBoxes[CB_CONF_CHANNUMS].checked = config.ptnChnNumbers; + checkBoxes[CB_CONF_SHOW_VOLCOL].checked = config.ptnS3M; + checkBoxes[CB_CONF_SOFTWARE_MOUSE].checked = (config.specialFlags2 & HARDWARE_MOUSE) ? false : true; + + showCheckBox(CB_CONF_PATTSTRETCH); + showCheckBox(CB_CONF_HEXCOUNT); + showCheckBox(CB_CONF_ACCIDENTAL); + showCheckBox(CB_CONF_SHOWZEROES); + showCheckBox(CB_CONF_FRAMEWORK); + showCheckBox(CB_CONF_LINECOLORS); + showCheckBox(CB_CONF_CHANNUMS); + showCheckBox(CB_CONF_SHOW_VOLCOL); + showCheckBox(CB_CONF_SOFTWARE_MOUSE); +} + +static void setConfigLayoutRadioButtonStates(void) +{ + uint16_t tmpID; + + // MOUSE SHAPE + uncheckRadioButtonGroup(RB_GROUP_CONFIG_MOUSE); + switch (config.mouseType) + { + default: + case MOUSE_IDLE_SHAPE_NICE: tmpID = RB_CONFIG_MOUSE_NICE; break; + case MOUSE_IDLE_SHAPE_UGLY: tmpID = RB_CONFIG_MOUSE_UGLY; break; + case MOUSE_IDLE_SHAPE_AWFUL: tmpID = RB_CONFIG_MOUSE_AWFUL; break; + case MOUSE_IDLE_SHAPE_USABLE: tmpID = RB_CONFIG_MOUSE_USABLE; break; + } + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + // MOUSE BUSY SHAPE + uncheckRadioButtonGroup(RB_GROUP_CONFIG_MOUSE_BUSY); + switch (config.mouseAnimType) + { + default: + case MOUSE_BUSY_SHAPE_CLOCK: tmpID = RB_CONFIG_MOUSE_BUSY_CLOCK; break; + case MOUSE_BUSY_SHAPE_GLASS: tmpID = RB_CONFIG_MOUSE_BUSY_GLASS; break; + } + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + // SCOPE STYLE + uncheckRadioButtonGroup(RB_GROUP_CONFIG_SCOPE); + tmpID = RB_CONFIG_SCOPE_NORMAL; + if (config.specialFlags & LINED_SCOPES) tmpID = RB_CONFIG_SCOPE_LINED; + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + switch (config.mouseType) + { + default: + case MOUSE_IDLE_SHAPE_NICE: tmpID = RB_CONFIG_MOUSE_NICE; break; + case MOUSE_IDLE_SHAPE_UGLY: tmpID = RB_CONFIG_MOUSE_UGLY; break; + case MOUSE_IDLE_SHAPE_AWFUL: tmpID = RB_CONFIG_MOUSE_AWFUL; break; + case MOUSE_IDLE_SHAPE_USABLE: tmpID = RB_CONFIG_MOUSE_USABLE; break; + } + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + // MAX VISIBLE CHANNELS + uncheckRadioButtonGroup(RB_GROUP_CONFIG_PATTERN_CHANS); + switch (config.ptnMaxChannels) + { + default: + case MAX_CHANS_SHOWN_4: tmpID = RB_CONFIG_MAXCHAN_4; break; + case MAX_CHANS_SHOWN_6: tmpID = RB_CONFIG_MAXCHAN_6; break; + case MAX_CHANS_SHOWN_8: tmpID = RB_CONFIG_MAXCHAN_8; break; + case MAX_CHANS_SHOWN_12: tmpID = RB_CONFIG_MAXCHAN_12; break; + } + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + // PATTERN FONT + uncheckRadioButtonGroup(RB_GROUP_CONFIG_FONT); + switch (config.ptnFont) + { + default: + case PATT_FONT_CAPITALS: tmpID = RB_CONFIG_FONT_CAPITALS; break; + case PATT_FONT_LOWERCASE: tmpID = RB_CONFIG_FONT_LOWERCASE; break; + case PATT_FONT_FUTURE: tmpID = RB_CONFIG_FONT_FUTURE; break; + case PATT_FONT_BOLD: tmpID = RB_CONFIG_FONT_BOLD; break; + } + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + // PALETTE ENTRIES + uncheckRadioButtonGroup(RB_GROUP_CONFIG_PAL_ENTRIES); + radioButtons[RB_CONFIG_PAL_PATTERNTEXT + cfg_ColorNr].state = RADIOBUTTON_CHECKED; + showRadioButtonGroup(RB_GROUP_CONFIG_PAL_ENTRIES); + + // PALETTE PRESET + uncheckRadioButtonGroup(RB_GROUP_CONFIG_PAL_PRESET); + switch (config.cfg_StdPalNr) + { + default: + case PAL_ARCTIC: tmpID = RB_CONFIG_PAL_ARCTIC; break; + case PAL_AURORA_BOREALIS: tmpID = RB_CONFIG_PAL_AURORA_BOREALIS; break; + case PAL_BLUES: tmpID = RB_CONFIG_PAL_BLUES; break; + case PAL_GOLD: tmpID = RB_CONFIG_PAL_GOLD; break; + case PAL_HEAVY_METAL: tmpID = RB_CONFIG_PAL_HEAVY_METAL; break; + case PAL_JUNGLE: tmpID = RB_CONFIG_PAL_JUNGLE; break; + case PAL_LITHE_DARK: tmpID = RB_CONFIG_PAL_LITHE_DARK; break; + case PAL_ROSE: tmpID = RB_CONFIG_PAL_ROSE; break; + case PAL_SPACE_PIGS: tmpID = RB_CONFIG_PAL_SPACE_PIGS; break; + case PAL_VIOLENT: tmpID = RB_CONFIG_PAL_VIOLENT; break; + case PAL_WHY_COLORS: tmpID = RB_CONFIG_PAL_WHY_COLORS; break; + case PAL_USER_DEFINED: tmpID = RB_CONFIG_PAL_USER_DEFINED; break; + } + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + // show result + + showRadioButtonGroup(RB_GROUP_CONFIG_MOUSE); + showRadioButtonGroup(RB_GROUP_CONFIG_MOUSE_BUSY); + showRadioButtonGroup(RB_GROUP_CONFIG_SCOPE); + showRadioButtonGroup(RB_GROUP_CONFIG_PATTERN_CHANS); + showRadioButtonGroup(RB_GROUP_CONFIG_FONT); + showRadioButtonGroup(RB_GROUP_CONFIG_PAL_PRESET); +} + +static void setConfigMiscCheckButtonStates(void) +{ + checkBoxes[CB_CONF_SAMP_CUT_TO_BUF].checked = config.smpCutToBuffer; + checkBoxes[CB_CONF_PATT_CUT_TO_BUF].checked = config.ptnCutToBuffer; + checkBoxes[CB_CONF_KILL_NOTES_AT_STOP].checked = config.killNotesOnStopPlay; + checkBoxes[CB_CONF_FILE_OVERWRITE_WARN].checked = config.cfg_OverwriteWarning; + checkBoxes[CB_CONF_MULTICHAN_REC].checked = config.multiRec; + checkBoxes[CB_CONF_MULTICHAN_JAZZ].checked = config.multiKeyJazz; + checkBoxes[CB_CONF_MULTICHAN_EDIT].checked = config.multiEdit; + checkBoxes[CB_CONF_REC_KEYOFF].checked = config.recRelease; + checkBoxes[CB_CONF_QUANTIZATION].checked = config.recQuant; + checkBoxes[CB_CONF_CHANGE_PATTLEN_INS_DEL].checked = config.recTrueInsert; + checkBoxes[CB_CONF_MIDI_ALLOW_PC].checked = config.recMIDIAllowPC; +#ifdef HAS_MIDI + checkBoxes[CB_CONF_MIDI_ENABLE].checked = midi.enable; +#else + checkBoxes[CB_CONF_MIDI_ENABLE].checked = false; +#endif + checkBoxes[CB_CONF_MIDI_REC_ALL].checked = config.recMIDIAllChn; + checkBoxes[CB_CONF_MIDI_REC_TRANS].checked = config.recMIDITransp; + checkBoxes[CB_CONF_MIDI_REC_VELOC].checked = config.recMIDIVelocity; + checkBoxes[CB_CONF_MIDI_REC_AFTERTOUCH].checked = config.recMIDIAftert; + checkBoxes[CB_CONF_FORCE_VSYNC_OFF].checked = (config.windowFlags & FORCE_VSYNC_OFF) ? true : false; + checkBoxes[CB_CONF_START_IN_FULLSCREEN].checked = (config.windowFlags & START_IN_FULLSCR) ? true : false; + checkBoxes[CB_CONF_FILTERING].checked = (config.windowFlags & FILTERING) ? true : false; + + showCheckBox(CB_CONF_SAMP_CUT_TO_BUF); + showCheckBox(CB_CONF_PATT_CUT_TO_BUF); + showCheckBox(CB_CONF_KILL_NOTES_AT_STOP); + showCheckBox(CB_CONF_FILE_OVERWRITE_WARN); + showCheckBox(CB_CONF_MULTICHAN_REC); + showCheckBox(CB_CONF_MULTICHAN_JAZZ); + showCheckBox(CB_CONF_MULTICHAN_EDIT); + showCheckBox(CB_CONF_REC_KEYOFF); + showCheckBox(CB_CONF_QUANTIZATION); + showCheckBox(CB_CONF_CHANGE_PATTLEN_INS_DEL); + showCheckBox(CB_CONF_MIDI_ALLOW_PC); + showCheckBox(CB_CONF_MIDI_ENABLE); + showCheckBox(CB_CONF_MIDI_REC_ALL); + showCheckBox(CB_CONF_MIDI_REC_TRANS); + showCheckBox(CB_CONF_MIDI_REC_VELOC); + showCheckBox(CB_CONF_MIDI_REC_AFTERTOUCH); + showCheckBox(CB_CONF_FORCE_VSYNC_OFF); + showCheckBox(CB_CONF_START_IN_FULLSCREEN); + showCheckBox(CB_CONF_FILTERING); +} + +static void setConfigMiscRadioButtonStates(void) +{ + uint16_t tmpID; + + // FILE SORTING + uncheckRadioButtonGroup(RB_GROUP_CONFIG_FILESORT); + switch (config.cfg_SortPriority) + { + default: + case FILESORT_EXT: tmpID = RB_CONFIG_FILESORT_EXT; break; + case FILESORT_NAME: tmpID = RB_CONFIG_FILESORT_NAME; break; + } + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + // WINDOW SIZE + uncheckRadioButtonGroup(RB_GROUP_CONFIG_WIN_SIZE); + + if (config.windowFlags & WINSIZE_AUTO) tmpID = RB_CONFIG_WIN_SIZE_AUTO; + else if (config.windowFlags & WINSIZE_1X) tmpID = RB_CONFIG_WIN_SIZE_1X; + else if (config.windowFlags & WINSIZE_2X) tmpID = RB_CONFIG_WIN_SIZE_2X; + else if (config.windowFlags & WINSIZE_3X) tmpID = RB_CONFIG_WIN_SIZE_3X; + else if (config.windowFlags & WINSIZE_4X) tmpID = RB_CONFIG_WIN_SIZE_4X; + + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + // show result + + showRadioButtonGroup(RB_GROUP_CONFIG_FILESORT); + showRadioButtonGroup(RB_GROUP_CONFIG_WIN_SIZE); +} + +void showConfigScreen(void) +{ + if (editor.ui.extended) + exitPatternEditorExtended(); + + hideTopScreen(); + editor.ui.configScreenShown = true; + + drawFramework(0, 0, 110, 173, FRAMEWORK_TYPE1); + + setConfigRadioButtonStates(); + + checkBoxes[CB_CONF_AUTOSAVE].checked = config.cfg_AutoSave; + showCheckBox(CB_CONF_AUTOSAVE); + + showPushButton(PB_CONFIG_RESET); + showPushButton(PB_CONFIG_LOAD); + showPushButton(PB_CONFIG_SAVE); + showPushButton(PB_CONFIG_EXIT); + + textOutShadow(5, 4, PAL_FORGRND, PAL_DSKTOP2, "Configuration:"); + textOutShadow(22, 20, PAL_FORGRND, PAL_DSKTOP2, "I/O devices"); + textOutShadow(22, 36, PAL_FORGRND, PAL_DSKTOP2, "Layout"); + textOutShadow(22, 52, PAL_FORGRND, PAL_DSKTOP2, "Miscellaneous"); +#ifdef HAS_MIDI + textOutShadow(22, 68, PAL_FORGRND, PAL_DSKTOP2, "MIDI input"); +#endif + textOutShadow(19, 92, PAL_FORGRND, PAL_DSKTOP2, "Auto save"); + + switch (editor.currConfigScreen) + { + default: + case CONFIG_SCREEN_IO_DEVICES: + { + drawFramework(110, 0, 276, 87, FRAMEWORK_TYPE1); + drawFramework(110, 87, 276, 86, FRAMEWORK_TYPE1); + + drawFramework(386, 0, 119, 73, FRAMEWORK_TYPE1); + drawFramework(386, 73, 119, 44, FRAMEWORK_TYPE1); + drawFramework(386, 117, 119, 56, FRAMEWORK_TYPE1); + + drawFramework(505, 0, 127, 73, FRAMEWORK_TYPE1); + drawFramework(505, 117, 127, 56, FRAMEWORK_TYPE1); + drawFramework(505, 73, 127, 44, FRAMEWORK_TYPE1); + + drawFramework(112, 16, AUDIO_SELECTORS_BOX_WIDTH+4, 69, FRAMEWORK_TYPE2); + drawFramework(112, 103, AUDIO_SELECTORS_BOX_WIDTH+4, 47, FRAMEWORK_TYPE2); + + drawAudioOutputList(); + drawAudioInputList(); + + if (audio.rescanAudioDevicesSupported) + showPushButton(PB_CONFIG_AUDIO_RESCAN); + + showPushButton(PB_CONFIG_AUDIO_OUTPUT_DOWN); + showPushButton(PB_CONFIG_AUDIO_OUTPUT_UP); + showPushButton(PB_CONFIG_AUDIO_INPUT_DOWN); + showPushButton(PB_CONFIG_AUDIO_INPUT_UP); + showPushButton(PB_CONFIG_AMP_DOWN); + showPushButton(PB_CONFIG_AMP_UP); + showPushButton(PB_CONFIG_MASTVOL_DOWN); + showPushButton(PB_CONFIG_MASTVOL_UP); + + textOutShadow(114, 4, PAL_FORGRND, PAL_DSKTOP2, "Audio output devices:"); + textOutShadow(114, 91, PAL_FORGRND, PAL_DSKTOP2, "Audio input devices (sampling):"); + + textOutShadow(114, 157, PAL_FORGRND, PAL_DSKTOP2, "Input rate:"); + textOutShadow(194, 157, PAL_FORGRND, PAL_DSKTOP2, "44.1kHz"); + textOutShadow(265, 157, PAL_FORGRND, PAL_DSKTOP2, "48.0kHz"); + textOutShadow(336, 157, PAL_FORGRND, PAL_DSKTOP2, "96.0kHz"); + + textOutShadow(390, 3, PAL_FORGRND, PAL_DSKTOP2, "Audio buffer size:"); + textOutShadow(406, 17, PAL_FORGRND, PAL_DSKTOP2, "Small"); + textOutShadow(406, 31, PAL_FORGRND, PAL_DSKTOP2, "Medium (default)"); + textOutShadow(406, 45, PAL_FORGRND, PAL_DSKTOP2, "Large"); + + textOutShadow(390, 76, PAL_FORGRND, PAL_DSKTOP2, "Audio bit depth:"); + textOutShadow(406, 90, PAL_FORGRND, PAL_DSKTOP2, "16-bit (default)"); + textOutShadow(406, 104, PAL_FORGRND, PAL_DSKTOP2, "24-bit float"); + + textOutShadow(390, 120, PAL_FORGRND, PAL_DSKTOP2, "Mixing device ctrl.:"); + textOutShadow(406, 134, PAL_FORGRND, PAL_DSKTOP2, "Interpolation"); + textOutShadow(406, 147, PAL_FORGRND, PAL_DSKTOP2, "Volume ramping"); + textOutShadow(406, 160, PAL_FORGRND, PAL_DSKTOP2, "1-bit dither"); + + textOutShadow(509, 3, PAL_FORGRND, PAL_DSKTOP2, "Mixing frequency:"); +#ifdef __APPLE__ + textOutShadow(525, 17, PAL_FORGRND, PAL_DSKTOP2, "44100Hz (default)"); + textOutShadow(525, 31, PAL_FORGRND, PAL_DSKTOP2, "48000Hz"); +#else + textOutShadow(525, 17, PAL_FORGRND, PAL_DSKTOP2, "44100Hz"); + textOutShadow(525, 31, PAL_FORGRND, PAL_DSKTOP2, "48000Hz (default)"); +#endif + textOutShadow(525, 45, PAL_FORGRND, PAL_DSKTOP2, "96000Hz"); + + textOutShadow(509, 76, PAL_FORGRND, PAL_DSKTOP2, "Frequency table:"); + textOutShadow(525, 90, PAL_FORGRND, PAL_DSKTOP2, "Amiga freq. table"); + textOutShadow(525, 104, PAL_FORGRND, PAL_DSKTOP2, "Linear freq. table"); + + textOutShadow(509, 120, PAL_FORGRND, PAL_DSKTOP2, "Amplification:"); + charOutShadow(621, 120, PAL_FORGRND, PAL_DSKTOP2, 'X'); + textOutShadow(509, 148, PAL_FORGRND, PAL_DSKTOP2, "Master volume:"); + + setConfigIORadioButtonStates(); + setConfigIOCheckButtonStates(); + + configDrawAmp(); + + setScrollBarPos(SB_AMP_SCROLL, config.boostLevel - 1, false); + setScrollBarPos(SB_MASTERVOL_SCROLL, config.masterVol, false); + + showScrollBar(SB_AUDIO_INPUT_SCROLL); + showScrollBar(SB_AUDIO_OUTPUT_SCROLL); + showScrollBar(SB_AMP_SCROLL); + showScrollBar(SB_MASTERVOL_SCROLL); + } + break; + + case CONFIG_SCREEN_LAYOUT: + { + drawFramework(110, 0, 142, 106, FRAMEWORK_TYPE1); + drawFramework(252, 0, 142, 98, FRAMEWORK_TYPE1); + drawFramework(394, 0, 238, 86, FRAMEWORK_TYPE1); + drawFramework(110, 106, 142, 67, FRAMEWORK_TYPE1); + drawFramework(252, 98, 142, 45, FRAMEWORK_TYPE1); + drawFramework(394, 86, 238, 87, FRAMEWORK_TYPE1); + + drawFramework(252, 143, 142, 30, FRAMEWORK_TYPE1); + + textOutShadow(114, 109, PAL_FORGRND, PAL_DSKTOP2, "Mouse shape:"); + textOutShadow(130, 121, PAL_FORGRND, PAL_DSKTOP2, "Nice"); + textOutShadow(194, 121, PAL_FORGRND, PAL_DSKTOP2, "Ugly"); + textOutShadow(130, 135, PAL_FORGRND, PAL_DSKTOP2, "Awful"); + textOutShadow(194, 135, PAL_FORGRND, PAL_DSKTOP2, "Usable"); + textOutShadow(114, 148, PAL_FORGRND, PAL_DSKTOP2, "Mouse busy shape:"); + textOutShadow(130, 160, PAL_FORGRND, PAL_DSKTOP2, "Vogue"); + textOutShadow(194, 160, PAL_FORGRND, PAL_DSKTOP2, "Mr. H"); + + textOutShadow(114, 3, PAL_FORGRND, PAL_DSKTOP2, "Pattern layout:"); + textOutShadow(130, 16, PAL_FORGRND, PAL_DSKTOP2, "Pattern stretch"); + textOutShadow(130, 29, PAL_FORGRND, PAL_DSKTOP2, "Hex line numbers"); + textOutShadow(130, 42, PAL_FORGRND, PAL_DSKTOP2, "Accidential"); + textOutShadow(130, 55, PAL_FORGRND, PAL_DSKTOP2, "Show zeroes"); + textOutShadow(130, 68, PAL_FORGRND, PAL_DSKTOP2, "Framework"); + textOutShadow(130, 81, PAL_FORGRND, PAL_DSKTOP2, "Line number colors"); + textOutShadow(130, 94, PAL_FORGRND, PAL_DSKTOP2, "Channel numbering"); + + textOutShadow(256, 3, PAL_FORGRND, PAL_DSKTOP2, "Pattern modes:"); + textOutShadow(271, 16, PAL_FORGRND, PAL_DSKTOP2, "Show volume column"); + textOutShadow(256, 30, PAL_FORGRND, PAL_DSKTOP2, "Maximum visible chn.:"); + textOutShadow(272, 43, PAL_FORGRND, PAL_DSKTOP2, "4 channels"); + textOutShadow(272, 57, PAL_FORGRND, PAL_DSKTOP2, "6 channels"); + textOutShadow(272, 71, PAL_FORGRND, PAL_DSKTOP2, "8 channels"); + textOutShadow(272, 85, PAL_FORGRND, PAL_DSKTOP2, "12 channels"); + + textOutShadow(257, 101, PAL_FORGRND, PAL_DSKTOP2, "Pattern font:"); + textOutShadow(272, 115, PAL_FORGRND, PAL_DSKTOP2, "Capitals"); + textOutShadow(338, 114, PAL_FORGRND, PAL_DSKTOP2, "Lower-c."); + textOutShadow(272, 130, PAL_FORGRND, PAL_DSKTOP2, "Future"); + textOutShadow(338, 129, PAL_FORGRND, PAL_DSKTOP2, "Bold"); + + textOutShadow(256, 146, PAL_FORGRND, PAL_DSKTOP2, "Scopes:"); + textOutShadow(319, 146, PAL_FORGRND, PAL_DSKTOP2, "Std."); + textOutShadow(360, 146, PAL_FORGRND, PAL_DSKTOP2, "Lined"); + + textOutShadow(272, 160, PAL_FORGRND, PAL_DSKTOP2, "Software mouse"); + + textOutShadow(414, 3, PAL_FORGRND, PAL_DSKTOP2, "Pattern text"); + textOutShadow(414, 17, PAL_FORGRND, PAL_DSKTOP2, "Block mark"); + textOutShadow(414, 31, PAL_FORGRND, PAL_DSKTOP2, "Text on block"); + textOutShadow(414, 45, PAL_FORGRND, PAL_DSKTOP2, "Mouse"); + textOutShadow(414, 59, PAL_FORGRND, PAL_DSKTOP2, "Desktop"); + textOutShadow(414, 73, PAL_FORGRND, PAL_DSKTOP2, "Buttons"); + + textOutShadow(414, 90, PAL_FORGRND, PAL_DSKTOP2, "Arctic"); + textOutShadow(528, 90, PAL_FORGRND, PAL_DSKTOP2, "LiTHe dark"); + textOutShadow(414, 104, PAL_FORGRND, PAL_DSKTOP2, "Aurora Borealis"); + textOutShadow(528, 104, PAL_FORGRND, PAL_DSKTOP2, "Rose"); + textOutShadow(414, 118, PAL_FORGRND, PAL_DSKTOP2, "Blues"); + textOutShadow(528, 118, PAL_FORGRND, PAL_DSKTOP2, "Space Pigs"); + textOutShadow(414, 132, PAL_FORGRND, PAL_DSKTOP2, "Gold"); + textOutShadow(528, 132, PAL_FORGRND, PAL_DSKTOP2, "Violent"); + textOutShadow(414, 146, PAL_FORGRND, PAL_DSKTOP2, "Heavy Metal"); + textOutShadow(528, 146, PAL_FORGRND, PAL_DSKTOP2, "Why colors?"); + textOutShadow(414, 160, PAL_FORGRND, PAL_DSKTOP2, "Jungle"); + textOutShadow(528, 160, PAL_FORGRND, PAL_DSKTOP2, "User defined"); + + showPaletteEditor(); + + setConfigLayoutCheckButtonStates(); + setConfigLayoutRadioButtonStates(); + } + break; + + case CONFIG_SCREEN_MISCELLANEOUS: + { + drawFramework(110, 0, 99, 43, FRAMEWORK_TYPE1); + drawFramework(209, 0, 199, 55, FRAMEWORK_TYPE1); + drawFramework(408, 0, 224, 91, FRAMEWORK_TYPE1); + + drawFramework(110, 43, 99, 57, FRAMEWORK_TYPE1); + drawFramework(209, 55, 199, 118, FRAMEWORK_TYPE1); + drawFramework(408, 91, 224, 82, FRAMEWORK_TYPE1); + + drawFramework(110, 100, 99, 73, FRAMEWORK_TYPE1); + + // text boxes + drawFramework(485, 15, 145, 14, FRAMEWORK_TYPE2); + drawFramework(485, 30, 145, 14, FRAMEWORK_TYPE2); + drawFramework(485, 45, 145, 14, FRAMEWORK_TYPE2); + drawFramework(485, 60, 145, 14, FRAMEWORK_TYPE2); + drawFramework(485, 75, 145, 14, FRAMEWORK_TYPE2); + + textOutShadow(114, 3, PAL_FORGRND, PAL_DSKTOP2, "Dir. sorting pri.:"); + textOutShadow(130, 16, PAL_FORGRND, PAL_DSKTOP2, "Ext."); + textOutShadow(130, 30, PAL_FORGRND, PAL_DSKTOP2, "Name"); + + textOutShadow(228, 4, PAL_FORGRND, PAL_DSKTOP2, "Sample \"cut to buffer\""); + textOutShadow(228, 17, PAL_FORGRND, PAL_DSKTOP2, "Pattern \"cut to buffer\""); + textOutShadow(228, 30, PAL_FORGRND, PAL_DSKTOP2, "Kill voices at music stop"); + textOutShadow(228, 43, PAL_FORGRND, PAL_DSKTOP2, "File-overwrite warning"); + + textOutShadow(464, 3, PAL_FORGRND, PAL_DSKTOP2, "Default directories:"); + textOutShadow(413, 17, PAL_FORGRND, PAL_DSKTOP2, "Modules"); + textOutShadow(413, 32, PAL_FORGRND, PAL_DSKTOP2, "Instruments"); + textOutShadow(413, 47, PAL_FORGRND, PAL_DSKTOP2, "Samples"); + textOutShadow(413, 62, PAL_FORGRND, PAL_DSKTOP2, "Patterns"); + textOutShadow(413, 77, PAL_FORGRND, PAL_DSKTOP2, "Tracks"); + + textOutShadow(114, 46, PAL_FORGRND, PAL_DSKTOP2, "Window size:"); + textOutShadow(130, 59, PAL_FORGRND, PAL_DSKTOP2, "Auto fit"); + textOutShadow(130, 73, PAL_FORGRND, PAL_DSKTOP2, "1x"); + textOutShadow(172, 73, PAL_FORGRND, PAL_DSKTOP2, "3x"); + textOutShadow(130, 87, PAL_FORGRND, PAL_DSKTOP2, "2x"); + textOutShadow(172, 87, PAL_FORGRND, PAL_DSKTOP2, "4x"); + textOutShadow(114, 103, PAL_FORGRND, PAL_DSKTOP2, "Video settings:"); + textOutShadow(130, 117, PAL_FORGRND, PAL_DSKTOP2, "VSync off"); + textOutShadow(130, 130, PAL_FORGRND, PAL_DSKTOP2, "Fullscreen"); + textOutShadow(130, 143, PAL_FORGRND, PAL_DSKTOP2, "Pixel filter"); + + textOutShadow(213, 58, PAL_FORGRND, PAL_DSKTOP2, "Rec./Edit/Play:"); + textOutShadow(228, 71, PAL_FORGRND, PAL_DSKTOP2, "Multichannel record"); + textOutShadow(228, 84, PAL_FORGRND, PAL_DSKTOP2, "Multichannel \"key jazz\""); + textOutShadow(228, 97, PAL_FORGRND, PAL_DSKTOP2, "Multichannel edit"); + textOutShadow(228, 110, PAL_FORGRND, PAL_DSKTOP2, "Record key-off notes"); + textOutShadow(228, 123, PAL_FORGRND, PAL_DSKTOP2, "Quantization"); + textOutShadow(338, 123, PAL_FORGRND, PAL_DSKTOP2, "1/"); + textOutShadow(228, 136, PAL_FORGRND, PAL_DSKTOP2, "Change pattern length when"); + textOutShadow(228, 147, PAL_FORGRND, PAL_DSKTOP2, "inserting/deleting line."); + textOutShadow(228, 161, PAL_FORGRND, PAL_DSKTOP2, "Allow MIDI-in program change"); + + textOutShadow(428, 95, PAL_FORGRND, PAL_DSKTOP2, "Enable MIDI"); + textOutShadow(412, 108, PAL_FORGRND, PAL_DSKTOP2, "Record MIDI chn."); + charOutShadow(523, 108, PAL_FORGRND, PAL_DSKTOP2, '('); + textOutShadow(546, 108, PAL_FORGRND, PAL_DSKTOP2, "all )"); + textOutShadow(428, 121, PAL_FORGRND, PAL_DSKTOP2, "Record transpose"); + textOutShadow(428, 134, PAL_FORGRND, PAL_DSKTOP2, "Record velocity"); + textOutShadow(428, 147, PAL_FORGRND, PAL_DSKTOP2, "Record aftertouch"); + textOutShadow(412, 160, PAL_FORGRND, PAL_DSKTOP2, "Vel./A.t. senstvty."); + charOutShadow(547, 160, PAL_FORGRND, PAL_DSKTOP2, '%'); + + setConfigMiscCheckButtonStates(); + setConfigMiscRadioButtonStates(); + + drawQuantValue(); + drawMIDIChanValue(); + drawMIDITransp(); + drawMIDISens(); + + showPushButton(PB_CONFIG_TOGGLE_FULLSCREEN); + showPushButton(PB_CONFIG_QUANTIZE_UP); + showPushButton(PB_CONFIG_QUANTIZE_DOWN); + showPushButton(PB_CONFIG_MIDICHN_UP); + showPushButton(PB_CONFIG_MIDICHN_DOWN); + showPushButton(PB_CONFIG_MIDITRANS_UP); + showPushButton(PB_CONFIG_MIDITRANS_DOWN); + showPushButton(PB_CONFIG_MIDISENS_DOWN); + showPushButton(PB_CONFIG_MIDISENS_UP); + + showTextBox(TB_CONF_DEF_MODS_DIR); + showTextBox(TB_CONF_DEF_INSTRS_DIR); + showTextBox(TB_CONF_DEF_SAMPS_DIR); + showTextBox(TB_CONF_DEF_PATTS_DIR); + showTextBox(TB_CONF_DEF_TRACKS_DIR); + drawTextBox(TB_CONF_DEF_MODS_DIR); + drawTextBox(TB_CONF_DEF_INSTRS_DIR); + drawTextBox(TB_CONF_DEF_SAMPS_DIR); + drawTextBox(TB_CONF_DEF_PATTS_DIR); + drawTextBox(TB_CONF_DEF_TRACKS_DIR); + + setScrollBarPos(SB_MIDI_SENS, config.recMIDIVolSens, false); + showScrollBar(SB_MIDI_SENS); + } + break; + + case CONFIG_SCREEN_MIDI_INPUT: + { + drawFramework(110, 0, 394, 173, FRAMEWORK_TYPE1); + drawFramework(112, 2, 369, 169, FRAMEWORK_TYPE2); + drawFramework(504, 0, 128, 173, FRAMEWORK_TYPE1); + + textOutShadow(528, 112, PAL_FORGRND, PAL_DSKTOP2, "Input Devices"); + + blitFast(517, 51, midiLogo, 103, 55); + +#ifdef HAS_MIDI + showPushButton(PB_CONFIG_MIDI_INPUT_DOWN); + showPushButton(PB_CONFIG_MIDI_INPUT_UP); + rescanMidiInputDevices(); + drawMidiInputList(); + showScrollBar(SB_MIDI_INPUT_SCROLL); +#endif + } + break; + } +} + +void hideConfigScreen(void) +{ + // CONFIG LEFT SIDE + hideRadioButtonGroup(RB_GROUP_CONFIG_SELECT); + hideCheckBox(CB_CONF_AUTOSAVE); + hidePushButton(PB_CONFIG_RESET); + hidePushButton(PB_CONFIG_LOAD); + hidePushButton(PB_CONFIG_SAVE); + hidePushButton(PB_CONFIG_EXIT); + + // CONFIG AUDIO + hideRadioButtonGroup(RB_GROUP_CONFIG_SOUND_BUFF_SIZE); + hideRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_BIT_DEPTH); + hideRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_FREQ); + hideRadioButtonGroup(RB_GROUP_CONFIG_AUDIO_INPUT_FREQ); + hideRadioButtonGroup(RB_GROUP_CONFIG_FREQ_TABLE); + hideCheckBox(CB_CONF_INTERPOLATION); + hideCheckBox(CB_CONF_VOL_RAMP); + hideCheckBox(CB_CONF_DITHER); + hidePushButton(PB_CONFIG_AUDIO_RESCAN); + hidePushButton(PB_CONFIG_AUDIO_OUTPUT_DOWN); + hidePushButton(PB_CONFIG_AUDIO_OUTPUT_UP); + hidePushButton(PB_CONFIG_AUDIO_INPUT_DOWN); + hidePushButton(PB_CONFIG_AUDIO_INPUT_UP); + hidePushButton(PB_CONFIG_AMP_DOWN); + hidePushButton(PB_CONFIG_AMP_UP); + hidePushButton(PB_CONFIG_MASTVOL_DOWN); + hidePushButton(PB_CONFIG_MASTVOL_UP); + hideScrollBar(SB_AUDIO_INPUT_SCROLL); + hideScrollBar(SB_AUDIO_OUTPUT_SCROLL); + hideScrollBar(SB_AMP_SCROLL); + hideScrollBar(SB_MASTERVOL_SCROLL); + + // CONFIG LAYOUT + hideRadioButtonGroup(RB_GROUP_CONFIG_MOUSE); + hideRadioButtonGroup(RB_GROUP_CONFIG_MOUSE_BUSY); + hideRadioButtonGroup(RB_GROUP_CONFIG_SCOPE); + hideRadioButtonGroup(RB_GROUP_CONFIG_PATTERN_CHANS); + hideRadioButtonGroup(RB_GROUP_CONFIG_FONT); + hideRadioButtonGroup(RB_GROUP_CONFIG_PAL_ENTRIES); + hideRadioButtonGroup(RB_GROUP_CONFIG_PAL_PRESET); + hideCheckBox(CB_CONF_PATTSTRETCH); + hideCheckBox(CB_CONF_HEXCOUNT); + hideCheckBox(CB_CONF_ACCIDENTAL); + hideCheckBox(CB_CONF_SHOWZEROES); + hideCheckBox(CB_CONF_FRAMEWORK); + hideCheckBox(CB_CONF_LINECOLORS); + hideCheckBox(CB_CONF_CHANNUMS); + hideCheckBox(CB_CONF_SHOW_VOLCOL); + hideCheckBox(CB_CONF_SOFTWARE_MOUSE); + hidePushButton(PB_CONFIG_PAL_R_DOWN); + hidePushButton(PB_CONFIG_PAL_R_UP); + hidePushButton(PB_CONFIG_PAL_G_DOWN); + hidePushButton(PB_CONFIG_PAL_G_UP); + hidePushButton(PB_CONFIG_PAL_B_DOWN); + hidePushButton(PB_CONFIG_PAL_B_UP); + hidePushButton(PB_CONFIG_PAL_CONT_DOWN); + hidePushButton(PB_CONFIG_PAL_CONT_UP); + hideScrollBar(SB_PAL_R); + hideScrollBar(SB_PAL_G); + hideScrollBar(SB_PAL_B); + hideScrollBar(SB_PAL_CONTRAST); + + // CONFIG MISCELLANEOUS + hideRadioButtonGroup(RB_GROUP_CONFIG_FILESORT); + hideRadioButtonGroup(RB_GROUP_CONFIG_WIN_SIZE); + hidePushButton(PB_CONFIG_TOGGLE_FULLSCREEN); + hidePushButton(PB_CONFIG_QUANTIZE_UP); + hidePushButton(PB_CONFIG_QUANTIZE_DOWN); + hidePushButton(PB_CONFIG_MIDICHN_UP); + hidePushButton(PB_CONFIG_MIDICHN_DOWN); + hidePushButton(PB_CONFIG_MIDITRANS_UP); + hidePushButton(PB_CONFIG_MIDITRANS_DOWN); + hidePushButton(PB_CONFIG_MIDISENS_DOWN); + hidePushButton(PB_CONFIG_MIDISENS_UP); + hideCheckBox(CB_CONF_FORCE_VSYNC_OFF); + hideCheckBox(CB_CONF_START_IN_FULLSCREEN); + hideCheckBox(CB_CONF_FILTERING); + hideCheckBox(CB_CONF_SAMP_CUT_TO_BUF); + hideCheckBox(CB_CONF_PATT_CUT_TO_BUF); + hideCheckBox(CB_CONF_KILL_NOTES_AT_STOP); + hideCheckBox(CB_CONF_FILE_OVERWRITE_WARN); + hideCheckBox(CB_CONF_MULTICHAN_REC); + hideCheckBox(CB_CONF_MULTICHAN_JAZZ); + hideCheckBox(CB_CONF_MULTICHAN_EDIT); + hideCheckBox(CB_CONF_REC_KEYOFF); + hideCheckBox(CB_CONF_QUANTIZATION); + hideCheckBox(CB_CONF_CHANGE_PATTLEN_INS_DEL); + hideCheckBox(CB_CONF_MIDI_ALLOW_PC); + hideCheckBox(CB_CONF_MIDI_ENABLE); + hideCheckBox(CB_CONF_MIDI_REC_ALL); + hideCheckBox(CB_CONF_MIDI_REC_TRANS); + hideCheckBox(CB_CONF_MIDI_REC_VELOC); + hideCheckBox(CB_CONF_MIDI_REC_AFTERTOUCH); + hideTextBox(TB_CONF_DEF_MODS_DIR); + hideTextBox(TB_CONF_DEF_INSTRS_DIR); + hideTextBox(TB_CONF_DEF_SAMPS_DIR); + hideTextBox(TB_CONF_DEF_PATTS_DIR); + hideTextBox(TB_CONF_DEF_TRACKS_DIR); + hideScrollBar(SB_MIDI_SENS); + +#ifdef HAS_MIDI + // CONFIG MIDI + hidePushButton(PB_CONFIG_MIDI_INPUT_DOWN); + hidePushButton(PB_CONFIG_MIDI_INPUT_UP); + hideScrollBar(SB_MIDI_INPUT_SCROLL); +#endif + + editor.ui.configScreenShown = false; +} + +void exitConfigScreen(void) +{ + hideConfigScreen(); + showTopScreen(true); +} + +// CONFIG AUDIO + +void configToggleS3MLoadWarning(void) +{ + config.dontShowAgainFlags ^= DONT_SHOW_S3M_LOAD_WARNING_FLAG; +} + +void configToggleNotYetAppliedWarning(void) +{ + config.dontShowAgainFlags ^= DONT_SHOW_NOT_YET_APPLIED_WARNING_FLAG; +} + +void rbConfigIODevices(void) +{ + checkRadioButton(RB_CONFIG_IO_DEVICES); + editor.currConfigScreen = CONFIG_SCREEN_IO_DEVICES; + + hideConfigScreen(); + showConfigScreen(); +} + +void rbConfigLayout(void) +{ + checkRadioButton(RB_CONFIG_LAYOUT); + editor.currConfigScreen = CONFIG_SCREEN_LAYOUT; + + hideConfigScreen(); + showConfigScreen(); +} + +void rbConfigMiscellaneous(void) +{ + checkRadioButton(RB_CONFIG_MISCELLANEOUS); + editor.currConfigScreen = CONFIG_SCREEN_MISCELLANEOUS; + + hideConfigScreen(); + showConfigScreen(); +} + +#ifdef HAS_MIDI +void rbConfigMidiInput(void) +{ + checkRadioButton(RB_CONFIG_MIDI_INPUT); + editor.currConfigScreen = CONFIG_SCREEN_MIDI_INPUT; + + hideConfigScreen(); + showConfigScreen(); +} +#endif + +void rbConfigSbs512(void) +{ + config.specialFlags &= ~(BUFFSIZE_1024 + BUFFSIZE_2048); + config.specialFlags |= BUFFSIZE_512; + + setNewAudioSettings(); +} + +void rbConfigSbs1024(void) +{ + config.specialFlags &= ~(BUFFSIZE_512 + BUFFSIZE_2048); + config.specialFlags |= BUFFSIZE_1024; + + setNewAudioSettings(); +} + +void rbConfigSbs2048(void) +{ + config.specialFlags &= ~(BUFFSIZE_512 + BUFFSIZE_1024); + config.specialFlags |= BUFFSIZE_2048; + + setNewAudioSettings(); +} + +void rbConfigAudio16bit(void) +{ + config.specialFlags &= ~BITDEPTH_24; + config.specialFlags |= BITDEPTH_16; + + setNewAudioSettings(); +} + +void rbConfigAudio24bit(void) +{ + config.specialFlags &= ~BITDEPTH_16; + config.specialFlags |= BITDEPTH_24; + + config.specialFlags2 &= ~DITHERED_AUDIO; // no dither in "24-bit float" mode + + checkBoxes[CB_CONF_DITHER].checked = false; + if (editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES) + drawCheckBox(CB_CONF_DITHER); + + setNewAudioSettings(); +} + +void rbConfigAudio44kHz(void) +{ + config.audioFreq = 44100; + setNewAudioSettings(); +} + +void rbConfigAudio48kHz(void) +{ + config.audioFreq = 48000; + setNewAudioSettings(); +} + +void rbConfigAudio96kHz(void) +{ + config.audioFreq = 96000; + setNewAudioSettings(); +} + +void rbConfigAudioInput44kHz(void) +{ + config.audioInputFreq = INPUT_FREQ_44KHZ; + checkRadioButton(RB_CONFIG_AUDIO_INPUT_44KHZ); +} + +void rbConfigAudioInput48kHz(void) +{ + config.audioInputFreq = INPUT_FREQ_48KHZ; + checkRadioButton(RB_CONFIG_AUDIO_INPUT_48KHZ); +} + +void rbConfigAudioInput96kHz(void) +{ + config.audioInputFreq = INPUT_FREQ_96KHZ; + checkRadioButton(RB_CONFIG_AUDIO_INPUT_96KHZ); +} + +void rbConfigFreqTableAmiga(void) +{ + lockMixerCallback(); + setFrqTab(false); + unlockMixerCallback(); +} + +void rbConfigFreqTableLinear(void) +{ + lockMixerCallback(); + setFrqTab(true); + unlockMixerCallback(); +} + +void cbToggleAutoSaveConfig(void) +{ + config.cfg_AutoSave ^= 1; +} + +void cbConfigInterpolation(void) +{ + config.interpolation ^= 1; + audioSetInterpolation(config.interpolation); +} + +void cbConfigVolRamp(void) +{ + config.specialFlags ^= NO_VOLRAMP_FLAG; + audioSetVolRamp((config.specialFlags & NO_VOLRAMP_FLAG) ? false : true); +} + +void cbConfigDither(void) +{ + if (config.specialFlags & BITDEPTH_24) // no dither in float mode, force off + { + config.specialFlags2 &= ~DITHERED_AUDIO; + + checkBoxes[CB_CONF_DITHER].checked = false; + if (editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES) + drawCheckBox(CB_CONF_DITHER); + } + else + { + config.specialFlags2 ^= DITHERED_AUDIO; + updateSendAudSamplesRoutine(true); + } +} + +// CONFIG LAYOUT + +static void redrawPatternEditor(void) // called after changing some pattern editor settings in config +{ + // if the cursor was on the volume column while we turned volume column off, move it to effect type slot + if (!config.ptnS3M && (editor.cursor.object == CURSOR_VOL1 || editor.cursor.object == CURSOR_VOL2)) + editor.cursor.object = CURSOR_EFX0; + + updateChanNums(); + editor.ui.updatePatternEditor = true; +} + +void cbConfigPattStretch(void) +{ + config.ptnUnpressed ^= 1; + redrawPatternEditor(); +} + +void cbConfigHexCount(void) +{ + config.ptnHex ^= 1; + redrawPatternEditor(); +} + +void cbConfigAccidential(void) +{ + config.ptnAcc ^= 1; + showCheckBox(CB_CONF_ACCIDENTAL); + redrawPatternEditor(); +} + +void cbConfigShowZeroes(void) +{ + config.ptnInstrZero ^= 1; + redrawPatternEditor(); +} + +void cbConfigFramework(void) +{ + config.ptnFrmWrk ^= 1; + redrawPatternEditor(); +} + +void cbConfigLineColors(void) +{ + config.ptnLineLight ^= 1; + redrawPatternEditor(); +} + +void cbConfigChanNums(void) +{ + config.ptnChnNumbers ^= 1; + redrawPatternEditor(); +} + +void cbConfigShowVolCol(void) +{ + config.ptnS3M ^= 1; + redrawPatternEditor(); +} + +void cbSoftwareMouse(void) +{ + config.specialFlags2 ^= HARDWARE_MOUSE; + if (!createMouseCursors()) + okBox(0, "System message", "Error: Couldn't create/show mouse cursor!"); + + if (config.specialFlags2 & HARDWARE_MOUSE) + { + checkBoxes[CB_CONF_SOFTWARE_MOUSE].checked = false; + drawCheckBox(CB_CONF_SOFTWARE_MOUSE); + SDL_ShowCursor(SDL_TRUE); + } + else + { + checkBoxes[CB_CONF_SOFTWARE_MOUSE].checked = true; + drawCheckBox(CB_CONF_SOFTWARE_MOUSE); + SDL_ShowCursor(SDL_FALSE); + } +} + +void rbConfigMouseNice(void) +{ + config.mouseType = MOUSE_IDLE_SHAPE_NICE; + checkRadioButton(RB_CONFIG_MOUSE_NICE); + createMouseCursors(); + setMouseShape(config.mouseType); +} + +void rbConfigMouseUgly(void) +{ + config.mouseType = MOUSE_IDLE_SHAPE_UGLY; + checkRadioButton(RB_CONFIG_MOUSE_UGLY); + createMouseCursors(); + setMouseShape(config.mouseType); +} + +void rbConfigMouseAwful(void) +{ + config.mouseType = MOUSE_IDLE_SHAPE_AWFUL; + checkRadioButton(RB_CONFIG_MOUSE_AWFUL); + createMouseCursors(); + setMouseShape(config.mouseType); +} + +void rbConfigMouseUsable(void) +{ + config.mouseType = MOUSE_IDLE_SHAPE_USABLE; + checkRadioButton(RB_CONFIG_MOUSE_USABLE); + createMouseCursors(); + setMouseShape(config.mouseType); +} + +void rbConfigMouseBusyVogue(void) +{ + config.mouseAnimType = MOUSE_BUSY_SHAPE_GLASS; + checkRadioButton(RB_CONFIG_MOUSE_BUSY_GLASS); + resetMouseBusyAnimation(); +} + +void rbConfigMouseBusyMrH(void) +{ + config.mouseAnimType = MOUSE_BUSY_SHAPE_CLOCK; + checkRadioButton(RB_CONFIG_MOUSE_BUSY_CLOCK); + resetMouseBusyAnimation(); +} + +void rbConfigScopeStandard(void) +{ + config.specialFlags &= ~LINED_SCOPES; + checkRadioButton(RB_CONFIG_SCOPE_NORMAL); +} + +void rbConfigScopeLined(void) +{ + config.specialFlags |= LINED_SCOPES; + checkRadioButton(RB_CONFIG_SCOPE_LINED); +} + +void rbConfigPatt4Chans(void) +{ + config.ptnMaxChannels = MAX_CHANS_SHOWN_4; + checkRadioButton(RB_CONFIG_MAXCHAN_4); + editor.ui.maxVisibleChannels = 2 + (((uint8_t)config.ptnMaxChannels + 1) * 2); + redrawPatternEditor(); +} + +void rbConfigPatt6Chans(void) +{ + config.ptnMaxChannels = MAX_CHANS_SHOWN_6; + checkRadioButton(RB_CONFIG_MAXCHAN_6); + editor.ui.maxVisibleChannels = 2 + (((uint8_t)config.ptnMaxChannels + 1) * 2); + redrawPatternEditor(); +} + +void rbConfigPatt8Chans(void) +{ + config.ptnMaxChannels = MAX_CHANS_SHOWN_8; + checkRadioButton(RB_CONFIG_MAXCHAN_8); + editor.ui.maxVisibleChannels = 2 + (((uint8_t)config.ptnMaxChannels + 1) * 2); + redrawPatternEditor(); +} + +void rbConfigPatt12Chans(void) +{ + config.ptnMaxChannels = MAX_CHANS_SHOWN_12; + checkRadioButton(RB_CONFIG_MAXCHAN_12); + editor.ui.maxVisibleChannels = 2 + (((uint8_t)config.ptnMaxChannels + 1) * 2); + redrawPatternEditor(); +} + +void rbConfigFontCapitals(void) +{ + config.ptnFont = PATT_FONT_CAPITALS; + checkRadioButton(RB_CONFIG_FONT_CAPITALS); + updatePattFontPtrs(); + redrawPatternEditor(); +} + +void rbConfigFontLowerCase(void) +{ + config.ptnFont = PATT_FONT_LOWERCASE; + checkRadioButton(RB_CONFIG_FONT_LOWERCASE); + updatePattFontPtrs(); + redrawPatternEditor(); +} + +void rbConfigFontFuture(void) +{ + config.ptnFont = PATT_FONT_FUTURE; + checkRadioButton(RB_CONFIG_FONT_FUTURE); + updatePattFontPtrs(); + redrawPatternEditor(); +} + +void rbConfigFontBold(void) +{ + config.ptnFont = PATT_FONT_BOLD; + checkRadioButton(RB_CONFIG_FONT_BOLD); + updatePattFontPtrs(); + redrawPatternEditor(); +} + +void rbFileSortExt(void) +{ + config.cfg_SortPriority = FILESORT_EXT; + checkRadioButton(RB_CONFIG_FILESORT_EXT); + editor.diskOpReadOnOpen = true; +} + +void rbFileSortName(void) +{ + config.cfg_SortPriority = FILESORT_NAME; + checkRadioButton(RB_CONFIG_FILESORT_NAME); + editor.diskOpReadOnOpen = true; +} + +void rbWinSizeAuto(void) +{ + if (video.fullscreen) + { + okBox(0, "System message", "You can't change the window size while in fullscreen mode!"); + return; + } + + config.windowFlags &= ~(WINSIZE_1X + WINSIZE_2X + WINSIZE_3X + WINSIZE_4X); + config.windowFlags |= WINSIZE_AUTO; + setWindowSizeFromConfig(true); + checkRadioButton(RB_CONFIG_WIN_SIZE_AUTO); +} + +void rbWinSize1x(void) +{ + if (video.fullscreen) + { + okBox(0, "System message", "You can't change the window size while in fullscreen mode!"); + return; + } + + config.windowFlags &= ~(WINSIZE_AUTO + WINSIZE_2X + WINSIZE_3X + WINSIZE_4X); + config.windowFlags |= WINSIZE_1X; + setWindowSizeFromConfig(true); + checkRadioButton(RB_CONFIG_WIN_SIZE_1X); +} + +void rbWinSize2x(void) +{ + if (video.fullscreen) + { + okBox(0, "System message", "You can't change the window size while in fullscreen mode!"); + return; + } + + config.windowFlags &= ~(WINSIZE_AUTO + WINSIZE_1X + WINSIZE_3X + WINSIZE_4X); + config.windowFlags |= WINSIZE_2X; + setWindowSizeFromConfig(true); + checkRadioButton(RB_CONFIG_WIN_SIZE_2X); +} + +void rbWinSize3x(void) +{ + if (video.fullscreen) + { + okBox(0, "System message", "You can't change the window size while in fullscreen mode!"); + return; + } + +#ifdef __arm__ + okBox(0, "System message", "3x video upscaling is not supported on ARM devices for performance reasons."); +#else + config.windowFlags &= ~(WINSIZE_AUTO + WINSIZE_1X + WINSIZE_2X + WINSIZE_4X); + config.windowFlags |= WINSIZE_3X; + setWindowSizeFromConfig(true); + checkRadioButton(RB_CONFIG_WIN_SIZE_3X); +#endif +} + +void rbWinSize4x(void) +{ + if (video.fullscreen) + { + okBox(0, "System message", "You can't change the window size while in fullscreen mode!"); + return; + } + +#ifdef __arm__ + okBox(0, "System message", "4x video upscaling is not supported on ARM devices for performance reasons."); +#else + config.windowFlags &= ~(WINSIZE_AUTO + WINSIZE_1X + WINSIZE_2X + WINSIZE_3X); + config.windowFlags |= WINSIZE_4X; + setWindowSizeFromConfig(true); + checkRadioButton(RB_CONFIG_WIN_SIZE_4X); +#endif +} + +void cbSampCutToBuff(void) +{ + config.smpCutToBuffer ^= 1; +} + +void cbPattCutToBuff(void) +{ + config.ptnCutToBuffer ^= 1; +} + +void cbKillNotesAtStop(void) +{ + config.killNotesOnStopPlay ^= 1; +} + +void cbFileOverwriteWarn(void) +{ + config.cfg_OverwriteWarning ^= 1; +} + +void cbMultiChanRec(void) +{ + config.multiRec ^= 1; +} + +void cbMultiChanKeyJazz(void) +{ + config.multiKeyJazz ^= 1; +} + +void cbMultiChanEdit(void) +{ + config.multiEdit ^= 1; +} + +void cbRecKeyOff(void) +{ + config.recRelease ^= 1; +} + +void cbQuantization(void) +{ + config.recQuant ^= 1; +} + +void cbChangePattLenInsDel(void) +{ + config.recTrueInsert ^= 1; +} + +void cbMIDIAllowPC(void) +{ + config.recMIDIAllowPC ^= 1; +} + +void cbMIDIEnable(void) +{ +#ifdef HAS_MIDI + midi.enable ^= 1; +#else + checkBoxes[CB_CONF_MIDI_ENABLE].checked = false; + drawCheckBox(CB_CONF_MIDI_ENABLE); + + okBox(0, "System message", "This program was not compiled with MIDI functionality!"); +#endif +} + +void cbMIDIRecTransp(void) +{ + config.recMIDITransp ^= 1; +} + +void cbMIDIRecAllChn(void) +{ + config.recMIDIAllChn ^= 1; +} + +void cbMIDIRecVelocity(void) +{ + config.recMIDIVelocity ^= 1; +} + +void cbMIDIRecAftert(void) +{ + config.recMIDIAftert ^= 1; +} + +void cbVsyncOff(void) +{ + config.windowFlags ^= FORCE_VSYNC_OFF; + + if (!(config.dontShowAgainFlags & DONT_SHOW_NOT_YET_APPLIED_WARNING_FLAG)) + okBox(7, "System message", "This setting is not applied until you close and reopen the program."); +} + +void cbFullScreen(void) +{ + config.windowFlags ^= START_IN_FULLSCR; + + if (!(config.dontShowAgainFlags & DONT_SHOW_NOT_YET_APPLIED_WARNING_FLAG)) + okBox(7, "System message", "This setting is not applied until you close and reopen the program."); +} + +void cbPixelFilter(void) +{ + config.windowFlags ^= FILTERING; + recreateTexture(); + + if (video.fullscreen) + { + leaveFullScreen(); + enterFullscreen(); + } +} + +void configQuantizeUp(void) +{ + if (config.recQuantRes <= 8) + { + config.recQuantRes *= 2; + drawQuantValue(); + } +} + +void configQuantizeDown(void) +{ + if (config.recQuantRes > 1) + { + config.recQuantRes /= 2; + drawQuantValue(); + } +} + +void configMIDIChnUp(void) +{ + config.recMIDIChn++; + config.recMIDIChn = ((config.recMIDIChn - 1) & 15) + 1; + + drawMIDIChanValue(); +} + +void configMIDIChnDown(void) +{ + config.recMIDIChn--; + config.recMIDIChn = (((uint16_t)(config.recMIDIChn - 1)) & 15) + 1; + + drawMIDIChanValue(); +} + +void configMIDITransUp(void) +{ + if (config.recMIDITranspVal < 72) + { + config.recMIDITranspVal++; + drawMIDITransp(); + } +} + +void configMIDITransDown(void) +{ + if (config.recMIDITranspVal > -72) + { + config.recMIDITranspVal--; + drawMIDITransp(); + } +} + +void configMIDISensDown(void) +{ + scrollBarScrollLeft(SB_MIDI_SENS, 1); +} + +void configMIDISensUp(void) +{ + scrollBarScrollRight(SB_MIDI_SENS, 1); +} + +void sbMIDISens(uint32_t pos) +{ + if (config.recMIDIVolSens != (int16_t)pos) + { + config.recMIDIVolSens = (int16_t)pos; + drawMIDISens(); + } +} + +void sbAmp(uint32_t pos) +{ + if (config.boostLevel != (int8_t)pos + 1) + { + config.boostLevel = (int8_t)pos + 1; + setAudioAmp(config.boostLevel, config.masterVol, config.specialFlags & BITDEPTH_24); + configDrawAmp(); + updateWavRendererSettings(); + } +} + +void configAmpDown(void) +{ + scrollBarScrollLeft(SB_AMP_SCROLL, 1); +} + +void configAmpUp(void) +{ + scrollBarScrollRight(SB_AMP_SCROLL, 1); +} + +void sbMasterVol(uint32_t pos) +{ + if (config.masterVol != (int16_t)pos) + { + config.masterVol = (int16_t)pos; + setAudioAmp(config.boostLevel, config.masterVol, config.specialFlags & BITDEPTH_24); + } +} + +void configMasterVolDown(void) +{ + scrollBarScrollLeft(SB_MASTERVOL_SCROLL, 1); +} + +void configMasterVolUp(void) +{ + scrollBarScrollRight(SB_MASTERVOL_SCROLL, 1); +} diff --git a/src/ft2_config.h b/src/ft2_config.h index 9195eb6..49e6d57 100644 --- a/src/ft2_config.h +++ b/src/ft2_config.h @@ -1,272 +1,276 @@ -#pragma once - -#include -#include -#include "ft2_replayer.h" -#include "ft2_palette.h" - -#define CFG_ID_STR "FastTracker 2.0 configuration file\x1A" -#define CONFIG_FILE_SIZE 1736 - -enum -{ - CONFIG_SCREEN_IO_DEVICES, - CONFIG_SCREEN_LAYOUT, - CONFIG_SCREEN_MISCELLANEOUS, - CONFIG_SCREEN_MIDI_INPUT, - - CONFIG_HIDE_ERRORS = 0, - CONFIG_SHOW_ERRORS = 1, - - MOUSE_IDLE_SHAPE_NICE = 0, - MOUSE_IDLE_SHAPE_UGLY = 1, - MOUSE_IDLE_SHAPE_AWFUL = 2, - MOUSE_IDLE_SHAPE_USEABLE = 3, - MOUSE_IDLE_TEXT_EDIT = 4, - - MOUSE_BUSY_SHAPE_CLOCK = 0, - MOUSE_BUSY_SHAPE_GLASS = 2, - - MAX_CHANS_SHOWN_4 = 0, - MAX_CHANS_SHOWN_6 = 1, - MAX_CHANS_SHOWN_8 = 2, - MAX_CHANS_SHOWN_12 = 3, - - PATT_FONT_CAPITALS = 0, - PATT_FONT_LOWERCASE = 1, - PATT_FONT_FUTURE = 2, - PATT_FONT_BOLD = 3, - - PAL_ARCTIC = 0, - PAL_AURORA_BOREALIS = 1, - PAL_BLUES = 2, - PAL_GOLD = 3, - PAL_HEAVY_METAL = 4, - PAL_JUNGLE = 5, - PAL_LITHE_DARK = 6, - PAL_ROSE = 7, - PAL_SPACE_PIGS = 8, - PAL_VIOLENT = 9, - PAL_WHY_COLORS = 10, // default - PAL_USER_DEFINED = 11, - - FILESORT_EXT = 0, - FILESORT_NAME = 1, - - ONE_PLAYER = 0, - TWO_PLAYERS = 1, - - DIFFICULTY_NOVICE = 0, - DIFFICULTY_AVERAGE = 1, - DIFFICULTY_PRO = 2, - DIFFICULTY_MANIAC = 3, - - DONT_SHOW_S3M_LOAD_WARNING_FLAG = 64, - DONT_SHOW_NOT_YET_APPLIED_WARNING_FLAG = 32, - - // specialFlags - NO_VOLRAMP_FLAG = 1, - BITDEPTH_16 = 2, - BITDEPTH_24 = 4, - BUFFSIZE_512 = 8, - BUFFSIZE_1024 = 16, - BUFFSIZE_2048 = 32, - BUFFSIZE_4096 = 64, - LINED_SCOPES = 128, - - // specialFlags2 - DITHERED_AUDIO = 1, - HARDWARE_MOUSE = 2, - - // windowFlags - WINSIZE_AUTO = 1, - WINSIZE_1X = 2, - WINSIZE_2X = 4, - WINSIZE_3X = 8, - WINSIZE_4X = 16, - FILTERING = 32, - FORCE_VSYNC_OFF = 64, - START_IN_FULLSCR = 128, -}; - -#ifdef _MSC_VER -#pragma pack(push) -#pragma pack(1) -#endif -typedef struct highScoreType_t -{ - uint8_t nameLen; - char name[22]; - int32_t score; - uint8_t level; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -highScoreType; - -typedef struct config_t // exact FT2.CFG layout (with some modifications) -{ - char cfgID[35]; - uint16_t ver; - uint32_t audioFreq; // was "BIOSSum" (never used in FT2) - int16_t utEnhet, masterVol, inputVol, inputDev; - uint8_t interpolation, internMode, stereoMode; - uint8_t specialFlags2; // was lo-byte of "sample16Bit" (was used for external audio sampling) - uint8_t dontShowAgainFlags; // was hi-byte of "sample16Bit" (was used for external audio sampling) - int16_t inEnhet, sbPort, sbDMA, sbHiDMA, sbInt, sbOutFilter; - uint8_t true16Bit, ptnUnpressed, ptnHex, ptnInstrZero, ptnFrmWrk, ptnLineLight, ptnS3M, ptnChnNumbers; - int16_t ptnLineLightStep, ptnFont, ptnAcc; - pal16 userPal[16]; - uint16_t comMacro[10], volMacro[10]; - uint8_t multiRec, multiKeyJazz, multiEdit, multiRecChn[32], recRelease, recQuant; - int16_t recQuantRes; - uint8_t recTrueInsert; - int16_t recMIDIChn; - uint8_t recMIDIAllChn, recMIDITransp; - int16_t recMIDITranspVal; - uint8_t recMIDIVelosity, recMIDIAftert; - int16_t recMIDIVolSens; - uint8_t recMIDIAllowPC, smpCutToBuffer, ptnCutToBuffer, killNotesOnStopPlay; - uint8_t specialFlags; // was lo-byte of "ptnDefaultLen" (never used in FT2) - uint8_t windowFlags; // was hi-byte of "ptnDefaultLen" (never used in FT2) - uint8_t modulesPathLen; - char modulesPath[79+1]; - uint8_t instrPathLen; - char instrPath[79+1]; - uint8_t samplesPathLen; - char samplesPath[79+1]; - uint8_t patternsPathLen; - char patternsPath[79+1]; - uint8_t tracksPathLen; - char tracksPath[79+1]; - uint8_t id_FastLogo, id_TritonProd; - int16_t cfg_StdPalNr; - uint8_t cfg_AutoSave; - int16_t smpEd_SampleNote; - highScoreType NI_HighScore[10]; - int16_t NI_AntPlayers, NI_Speed; - uint8_t NI_Surround, NI_Grid, NI_Wrap; - int32_t NI_HighScoreChecksum; - int16_t mouseType, mouseAnimType, mouseSpeed, keyLayout, boostLevel, stdEnvP[6][2][12][2]; - uint16_t stdVolEnvAnt[6], stdVolEnvSust[6], stdVolEnvRepS[6], stdVolEnvRepE[6]; - uint16_t stdPanEnvAnt[6], stdPanEnvSust[6], stdPanEnvRepS[6], stdPanEnvRepE[6]; - uint16_t stdFadeOut[6], stdVibRate[6], stdVibDepth[6], stdVibSweep[6], stdVibTyp[6]; - uint16_t stdVolEnvTyp[6], stdPanEnvTyp[6]; - int16_t antStars, ptnMaxChannels; - uint16_t sampleRates[16]; - uint8_t cfg_OverwriteWarning; - int16_t cfg_SortPriority, cfg_DPMIMemLimit; - uint8_t cfg_DPMIMemLimitEnabled, cdr_Sync; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -config_t; - -#ifdef _MSC_VER -#pragma pack(pop) -#endif - -void resetConfig(void); -bool loadConfig(bool showErrorFlag); -void loadConfig2(void); // called by "Load config" button -bool saveConfig(bool showErrorFlag); -void saveConfig2(void); // called by "Save config" button -void loadConfigOrSetDefaults(void); -void showConfigScreen(void); -void hideConfigScreen(void); -void exitConfigScreen(void); -void setConfigIORadioButtonStates(void); -void configToggleS3MLoadWarning(void); -void configToggleNotYetAppliedWarning(void); -void drawAudioOutputList(void); -void drawAudioInputList(void); -void configAmpDown(void); -void configAmpUp(void); -void configMasterVolDown(void); -void configMasterVolUp(void); -void configQuantizeUp(void); -void configQuantizeDown(void); -void configMIDIChnUp(void); -void configMIDIChnDown(void); -void configMIDITransUp(void); -void configMIDITransDown(void); -void configMIDISensDown(void); -void configMIDISensUp(void); -void rbConfigIODevices(void); -void rbConfigLayout(void); -void rbConfigMiscellaneous(void); -void rbConfigMidiInput(void); -void rbConfigSbs512(void); -void rbConfigSbs1024(void); -void rbConfigSbs2048(void); -void rbConfigSbs4096(void); -void rbConfigAudio16bit(void); -void rbConfigAudio24bit(void); -void rbConfigAudio44kHz(void); -void rbConfigAudio48kHz(void); -void rbConfigAudio96kHz(void); -void rbConfigFreqTableAmiga(void); -void rbConfigFreqTableLinear(void); -void rbConfigMouseNice(void); -void rbConfigMouseUgly(void); -void rbConfigMouseAwful(void); -void rbConfigMouseUseable(void); -void rbConfigScopeStandard(void); -void rbConfigMouseBusyVogue(void); -void rbConfigMouseBusyMrH(void); -void rbConfigScopeLined(void); -void rbConfigPatt4Chans(void); -void rbConfigPatt6Chans(void); -void rbConfigPatt8Chans(void); -void rbConfigPatt12Chans(void); -void rbConfigFontCapitals(void); -void rbConfigFontLowerCase(void); -void rbConfigFontFuture(void); -void rbConfigFontBold(void); -void rbFileSortExt(void); -void rbFileSortName(void); -void rbWinSizeAuto(void); -void rbWinSize1x(void); -void rbWinSize2x(void); -void rbWinSize3x(void); -void rbWinSize4x(void); -void cbToggleAutoSaveConfig(void); -void cbConfigInterpolation(void); -void cbConfigVolRamp(void); -void cbConfigDither(void); -void cbConfigPattStretch(void); -void cbConfigHexCount(void); -void cbConfigAccidential(void); -void cbConfigShowZeroes(void); -void cbConfigFramework(void); -void cbConfigLineColors(void); -void cbConfigChanNums(void); -void cbConfigShowVolCol(void); -void cbHardwareMouse(void); -void cbSampCutToBuff(void); -void cbPattCutToBuff(void); -void cbKillNotesAtStop(void); -void cbFileOverwriteWarn(void); -void cbMultiChanRec(void); -void cbMultiChanKeyJazz(void); -void cbMultiChanEdit(void); -void cbRecKeyOff(void); -void cbQuantisize(void); -void cbChangePattLenInsDel(void); -void cbMIDIAllowPC(void); -void cbMIDIEnable(void); -void cbMIDIRecTransp(void); -void cbMIDIRecAllChn(void); -void cbMIDIRecVelosity(void); -void cbMIDIRecAftert(void); -void cbVsyncOff(void); -void cbFullScreen(void); -void cbPixelFilter(void); -void sbAmp(uint32_t pos); -void sbMasterVol(uint32_t pos); -void sbMIDISens(uint32_t pos); - -extern config_t config; -extern config_t *defConfig; +#pragma once + +#include +#include +#include "ft2_replayer.h" +#include "ft2_palette.h" + +#define CFG_ID_STR "FastTracker 2.0 configuration file\x1A" +#define CONFIG_FILE_SIZE 1736 + +enum +{ + CONFIG_SCREEN_IO_DEVICES, + CONFIG_SCREEN_LAYOUT, + CONFIG_SCREEN_MISCELLANEOUS, + CONFIG_SCREEN_MIDI_INPUT, + + CONFIG_HIDE_ERRORS = 0, + CONFIG_SHOW_ERRORS = 1, + + MOUSE_IDLE_SHAPE_NICE = 0, + MOUSE_IDLE_SHAPE_UGLY = 1, + MOUSE_IDLE_SHAPE_AWFUL = 2, + MOUSE_IDLE_SHAPE_USABLE = 3, + MOUSE_IDLE_TEXT_EDIT = 4, + + MOUSE_BUSY_SHAPE_CLOCK = 0, + MOUSE_BUSY_SHAPE_GLASS = 2, + + MAX_CHANS_SHOWN_4 = 0, + MAX_CHANS_SHOWN_6 = 1, + MAX_CHANS_SHOWN_8 = 2, + MAX_CHANS_SHOWN_12 = 3, + + PATT_FONT_CAPITALS = 0, + PATT_FONT_LOWERCASE = 1, + PATT_FONT_FUTURE = 2, + PATT_FONT_BOLD = 3, + + PAL_ARCTIC = 0, + PAL_AURORA_BOREALIS = 1, + PAL_BLUES = 2, + PAL_GOLD = 3, + PAL_HEAVY_METAL = 4, + PAL_JUNGLE = 5, + PAL_LITHE_DARK = 6, + PAL_ROSE = 7, + PAL_SPACE_PIGS = 8, + PAL_VIOLENT = 9, + PAL_WHY_COLORS = 10, // default + PAL_USER_DEFINED = 11, + + FILESORT_EXT = 0, + FILESORT_NAME = 1, + + ONE_PLAYER = 0, + TWO_PLAYERS = 1, + + DIFFICULTY_NOVICE = 0, + DIFFICULTY_AVERAGE = 1, + DIFFICULTY_PRO = 2, + DIFFICULTY_MANIAC = 3, + + DONT_SHOW_S3M_LOAD_WARNING_FLAG = 64, + DONT_SHOW_NOT_YET_APPLIED_WARNING_FLAG = 32, + + // specialFlags + NO_VOLRAMP_FLAG = 1, + BITDEPTH_16 = 2, + BITDEPTH_24 = 4, + BUFFSIZE_512 = 8, + BUFFSIZE_1024 = 16, + BUFFSIZE_2048 = 32, + LINED_SCOPES = 128, + + // specialFlags2 + DITHERED_AUDIO = 1, + HARDWARE_MOUSE = 2, + + // windowFlags + WINSIZE_AUTO = 1, + WINSIZE_1X = 2, + WINSIZE_2X = 4, + WINSIZE_3X = 8, + WINSIZE_4X = 16, + FILTERING = 32, + FORCE_VSYNC_OFF = 64, + START_IN_FULLSCR = 128, +}; + +#ifdef _MSC_VER +#pragma pack(push) +#pragma pack(1) +#endif +typedef struct highScoreType_t +{ + uint8_t nameLen; + char name[22]; + int32_t score; + uint8_t level; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +highScoreType; + +typedef struct config_t // exact FT2.CFG layout (with some modifications) +{ + char cfgID[35]; + uint16_t ver; + uint32_t audioFreq; // was "BIOSSum" (never used in FT2) + int16_t utEnhet, masterVol, inputVol, inputDev; + uint8_t interpolation, internMode, stereoMode; + uint8_t specialFlags2; // was lo-byte of "sample16Bit" (was used for external audio sampling) + uint8_t dontShowAgainFlags; // was hi-byte of "sample16Bit" (was used for external audio sampling) + int16_t inEnhet, sbPort, sbDMA, sbHiDMA, sbInt, sbOutFilter; + uint8_t true16Bit, ptnUnpressed, ptnHex, ptnInstrZero, ptnFrmWrk, ptnLineLight, ptnS3M, ptnChnNumbers; + int16_t ptnLineLightStep, ptnFont, ptnAcc; + pal16 userPal[16]; + uint16_t comMacro[10], volMacro[10]; + uint8_t multiRec, multiKeyJazz, multiEdit, multiRecChn[32], recRelease, recQuant; + int16_t recQuantRes; + uint8_t recTrueInsert; + int16_t recMIDIChn; + uint8_t recMIDIAllChn, recMIDITransp; + int16_t recMIDITranspVal; + uint8_t recMIDIVelocity, recMIDIAftert; + int16_t recMIDIVolSens; + uint8_t recMIDIAllowPC, smpCutToBuffer, ptnCutToBuffer, killNotesOnStopPlay; + uint8_t specialFlags; // was lo-byte of "ptnDefaultLen" (never used in FT2) + uint8_t windowFlags; // was hi-byte of "ptnDefaultLen" (never used in FT2) + uint8_t modulesPathLen; + char modulesPath[79+1]; + uint8_t instrPathLen; + char instrPath[79+1]; + uint8_t samplesPathLen; + char samplesPath[79+1]; + uint8_t patternsPathLen; + char patternsPath[79+1]; + uint8_t tracksPathLen; + char tracksPath[79+1]; + uint8_t id_FastLogo, id_TritonProd; + int16_t cfg_StdPalNr; + uint8_t cfg_AutoSave; + int16_t smpEd_SampleNote; + highScoreType NI_HighScore[10]; + int16_t NI_AntPlayers, NI_Speed; + uint8_t NI_Surround, NI_Grid, NI_Wrap; + int32_t NI_HighScoreChecksum; + int16_t mouseType, mouseAnimType, mouseSpeed, keyLayout, boostLevel, stdEnvP[6][2][12][2]; + uint16_t stdVolEnvAnt[6], stdVolEnvSust[6], stdVolEnvRepS[6], stdVolEnvRepE[6]; + uint16_t stdPanEnvAnt[6], stdPanEnvSust[6], stdPanEnvRepS[6], stdPanEnvRepE[6]; + uint16_t stdFadeOut[6], stdVibRate[6], stdVibDepth[6], stdVibSweep[6], stdVibTyp[6]; + uint16_t stdVolEnvTyp[6], stdPanEnvTyp[6]; + int16_t antStars, ptnMaxChannels; + uint16_t sampleRates[16]; + uint8_t cfg_OverwriteWarning; + int16_t cfg_SortPriority, cfg_DPMIMemLimit; + uint8_t cfg_DPMIMemLimitEnabled; + uint8_t audioInputFreq; // was "cdr_Sync" +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +config_t; + +#ifdef _MSC_VER +#pragma pack(pop) +#endif + +void resetConfig(void); +bool loadConfig(bool showErrorFlag); +void loadConfig2(void); // called by "Load config" button +bool saveConfig(bool showErrorFlag); +void saveConfig2(void); // called by "Save config" button +void loadConfigOrSetDefaults(void); +void showConfigScreen(void); +void hideConfigScreen(void); +void exitConfigScreen(void); +void setConfigIORadioButtonStates(void); +void configToggleS3MLoadWarning(void); +void configToggleNotYetAppliedWarning(void); +void drawAudioOutputList(void); +void drawAudioInputList(void); +void configAmpDown(void); +void configAmpUp(void); +void configMasterVolDown(void); +void configMasterVolUp(void); +void configQuantizeUp(void); +void configQuantizeDown(void); +void configMIDIChnUp(void); +void configMIDIChnDown(void); +void configMIDITransUp(void); +void configMIDITransDown(void); +void configMIDISensDown(void); +void configMIDISensUp(void); +void rbConfigIODevices(void); +void rbConfigLayout(void); +void rbConfigMiscellaneous(void); +#ifdef HAS_MIDI +void rbConfigMidiInput(void); +#endif +void rbConfigSbs512(void); +void rbConfigSbs1024(void); +void rbConfigSbs2048(void); +void rbConfigAudio16bit(void); +void rbConfigAudio24bit(void); +void rbConfigAudio44kHz(void); +void rbConfigAudio48kHz(void); +void rbConfigAudio96kHz(void); +void rbConfigAudioInput44kHz(void); +void rbConfigAudioInput48kHz(void); +void rbConfigAudioInput96kHz(void); +void rbConfigFreqTableAmiga(void); +void rbConfigFreqTableLinear(void); +void rbConfigMouseNice(void); +void rbConfigMouseUgly(void); +void rbConfigMouseAwful(void); +void rbConfigMouseUsable(void); +void rbConfigScopeStandard(void); +void rbConfigMouseBusyVogue(void); +void rbConfigMouseBusyMrH(void); +void rbConfigScopeLined(void); +void rbConfigPatt4Chans(void); +void rbConfigPatt6Chans(void); +void rbConfigPatt8Chans(void); +void rbConfigPatt12Chans(void); +void rbConfigFontCapitals(void); +void rbConfigFontLowerCase(void); +void rbConfigFontFuture(void); +void rbConfigFontBold(void); +void rbFileSortExt(void); +void rbFileSortName(void); +void rbWinSizeAuto(void); +void rbWinSize1x(void); +void rbWinSize2x(void); +void rbWinSize3x(void); +void rbWinSize4x(void); +void cbToggleAutoSaveConfig(void); +void cbConfigInterpolation(void); +void cbConfigVolRamp(void); +void cbConfigDither(void); +void cbConfigPattStretch(void); +void cbConfigHexCount(void); +void cbConfigAccidential(void); +void cbConfigShowZeroes(void); +void cbConfigFramework(void); +void cbConfigLineColors(void); +void cbConfigChanNums(void); +void cbConfigShowVolCol(void); +void cbSoftwareMouse(void); +void cbSampCutToBuff(void); +void cbPattCutToBuff(void); +void cbKillNotesAtStop(void); +void cbFileOverwriteWarn(void); +void cbMultiChanRec(void); +void cbMultiChanKeyJazz(void); +void cbMultiChanEdit(void); +void cbRecKeyOff(void); +void cbQuantization(void); +void cbChangePattLenInsDel(void); +void cbMIDIAllowPC(void); +void cbMIDIEnable(void); +void cbMIDIRecTransp(void); +void cbMIDIRecAllChn(void); +void cbMIDIRecVelocity(void); +void cbMIDIRecAftert(void); +void cbVsyncOff(void); +void cbFullScreen(void); +void cbPixelFilter(void); +void sbAmp(uint32_t pos); +void sbMasterVol(uint32_t pos); +void sbMIDISens(uint32_t pos); + +extern config_t config; +extern config_t *defConfig; diff --git a/src/ft2_diskop.c b/src/ft2_diskop.c index 9dd15a0..db24a51 100644 --- a/src/ft2_diskop.c +++ b/src/ft2_diskop.c @@ -1,2461 +1,2433 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#define _FILE_OFFSET_BITS 64 - -#include -#include -#include -#ifdef _WIN32 -#define WIN32_MEAN_AND_LEAN -#include -#include -#include -#include // SHGetFolderPathW() -#else -#include -#include -#include // for fts_open() and stuff in recursiveDelete() -#include -#include -#endif -#include -#include -#include "ft2_header.h" -#include "ft2_unicode.h" -#include "ft2_config.h" -#include "ft2_mouse.h" -#include "ft2_gui.h" -#include "ft2_pattern_ed.h" -#include "ft2_sample_loader.h" -#include "ft2_sample_saver.h" -#include "ft2_diskop.h" -#include "ft2_wav_renderer.h" -#include "ft2_module_loader.h" -#include "ft2_module_saver.h" -#include "ft2_events.h" -#include "ft2_video.h" -#include "ft2_inst_ed.h" - -// hide POSIX warnings -#ifdef _MSC_VER -#pragma warning(disable: 4996) -#endif - -#define FILENAME_TEXT_X 170 -#define FILESIZE_TEXT_X 295 -#define DISKOP_MAX_DRIVE_BUTTONS 8 - -#ifdef _WIN32 -#define PARENT_DIR_STR L".." -static HANDLE hFind; -#else -#define PARENT_DIR_STR ".." -static DIR *hFind; -#endif - -// "look for file" flags -enum -{ - LFF_DONE = 0, - LFF_SKIP = 1, - LFF_OK = 2 -}; - -typedef struct DirRec -{ - UNICHAR *nameU; - bool isDir; - int32_t filesize; -} DirRec; - -static char FReq_SysReqText[196], *FReq_FileName, *FReq_NameTemp; -static char *modTmpFName, *insTmpFName, *smpTmpFName, *patTmpFName, *trkTmpFName; -static char *modTmpFNameUTF8; // for window title -static uint8_t FReq_Item; -static bool FReq_ShowAllFiles; -static int32_t FReq_EntrySelected = -1, FReq_FileCount, FReq_DirPos, lastMouseY; -static UNICHAR *FReq_CurPathU, *FReq_ModCurPathU, *FReq_InsCurPathU, *FReq_SmpCurPathU, *FReq_PatCurPathU, *FReq_TrkCurPathU; -static DirRec *FReq_Buffer; -static SDL_Thread *thread; - -static void setDiskOpItem(uint8_t item); - -int32_t getFileSize(UNICHAR *fileName) // returning -1 = filesize over 2GB -{ -#ifdef _WIN32 - FILE *f; -#else - struct stat st; -#endif - int64_t fSize; - -#ifdef _WIN32 - f = UNICHAR_FOPEN(fileName, "rb"); - if (f == NULL) - return 0; - - _fseeki64(f, 0, SEEK_END); - fSize = _ftelli64(f); - fclose(f); -#else - if (stat(fileName, &st) != 0) - return 0; - - fSize = (int64_t)(st.st_size); -#endif - if (fSize < 0) - fSize = 0; - - if (fSize > INT32_MAX) - return -1; - - return fSize & 0xFFFFFFFF; -} - -uint8_t getDiskOpItem(void) -{ - return FReq_Item; -} - -char *getCurrSongFilename(void) // for window title -{ - return modTmpFNameUTF8; -} - -void updateCurrSongFilename(void) // for window title -{ - if (modTmpFNameUTF8 != NULL) - { - free(modTmpFNameUTF8); - modTmpFNameUTF8 = NULL; - } - - if (modTmpFName == NULL) - return; - - modTmpFNameUTF8 = cp437ToUtf8(modTmpFName); -} - -// drive buttons for Windows -#ifdef _WIN32 -static char logicalDriveNames[26][3] = -{ - "A:", "B:", "C:", "D:", "E:", "F:", "G:", "H:", "I:", "J:", "K:", "L:", "M:", - "N:", "O:", "P:", "Q:", "R:", "S:", "T:", "U:", "V:", "W:", "X:", "Y:", "Z:" -}; -static uint32_t numLogicalDrives; -static uint32_t driveIndexes[DISKOP_MAX_DRIVE_BUTTONS]; -#endif - -char *getDiskOpFilename(void) -{ - return FReq_FileName; -} - -const UNICHAR *getDiskOpCurPath(void) -{ - return FReq_CurPathU; -} - -const UNICHAR *getDiskOpModPath(void) -{ - return FReq_ModCurPathU; -} - -const UNICHAR *getDiskOpSmpPath(void) -{ - return FReq_SmpCurPathU; -} - -static void setupInitialPaths(void) -{ -#ifdef _WIN32 - UNICHAR pathU[PATH_MAX + 2]; -#endif - - // the UNICHAR paths are already zeroed out - -#ifdef _WIN32 - if (config.modulesPath[0] != '\0') MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, config.modulesPath, -1, FReq_ModCurPathU, 80); - if (config.instrPath[0] != '\0') MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, config.instrPath, -1, FReq_InsCurPathU, 80); - if (config.samplesPath[0] != '\0') MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, config.samplesPath, -1, FReq_SmpCurPathU, 80); - if (config.patternsPath[0] != '\0') MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, config.patternsPath, -1, FReq_PatCurPathU, 80); - if (config.tracksPath[0] != '\0') MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, config.tracksPath, -1, FReq_TrkCurPathU, 80); -#else - if (config.modulesPath[0] != '\0') strncpy(FReq_ModCurPathU, config.modulesPath, 80); - if (config.instrPath[0] != '\0') strncpy(FReq_InsCurPathU, config.instrPath, 80); - if (config.samplesPath[0] != '\0') strncpy(FReq_SmpCurPathU, config.samplesPath, 80); - if (config.patternsPath[0] != '\0') strncpy(FReq_PatCurPathU, config.patternsPath, 80); - if (config.tracksPath[0] != '\0') strncpy(FReq_TrkCurPathU, config.tracksPath, 80); -#endif - - // set initial path to user directory -#ifdef _WIN32 - if (SHGetFolderPathW(NULL, CSIDL_PROFILE, NULL, 0, pathU) >= 0) - UNICHAR_CHDIR(pathU); -#else - UNICHAR_CHDIR(getenv("HOME")); -#endif - - // if present in config, set custom "modules" path - if (UNICHAR_CHDIR(FReq_ModCurPathU) != 0) - UNICHAR_GETCWD(FReq_ModCurPathU, PATH_MAX); - - if (UNICHAR_CHDIR(FReq_InsCurPathU) != 0) UNICHAR_STRCPY(FReq_InsCurPathU, FReq_ModCurPathU); - if (UNICHAR_CHDIR(FReq_SmpCurPathU) != 0) UNICHAR_STRCPY(FReq_SmpCurPathU, FReq_ModCurPathU); - if (UNICHAR_CHDIR(FReq_PatCurPathU) != 0) UNICHAR_STRCPY(FReq_PatCurPathU, FReq_ModCurPathU); - if (UNICHAR_CHDIR(FReq_TrkCurPathU) != 0) UNICHAR_STRCPY(FReq_TrkCurPathU, FReq_ModCurPathU); - - UNICHAR_CHDIR(FReq_ModCurPathU); // set back after testing -} - -static void freeDirRecBuffer(void) -{ - if (FReq_Buffer != NULL) - { - for (int32_t i = 0; i < FReq_FileCount; i++) - { - if (FReq_Buffer[i].nameU != NULL) - free(FReq_Buffer[i].nameU); - } - - free(FReq_Buffer); - FReq_Buffer = NULL; - } - - FReq_FileCount = 0; -} - -void freeDiskOp(void) -{ - if (editor.tmpFilenameU != NULL) - { - free(editor.tmpFilenameU); - editor.tmpFilenameU = NULL; - } - - if (editor.tmpInstrFilenameU != NULL) - { - free(editor.tmpInstrFilenameU); - editor.tmpInstrFilenameU = NULL; - } - - if (modTmpFName != NULL) { free(modTmpFName); modTmpFName = NULL; } - if (insTmpFName != NULL) { free(insTmpFName); insTmpFName = NULL; } - if (smpTmpFName != NULL) { free(smpTmpFName); smpTmpFName = NULL; } - if (patTmpFName != NULL) { free(patTmpFName); patTmpFName = NULL; } - if (trkTmpFName != NULL) { free(trkTmpFName); trkTmpFName = NULL; } - if (FReq_NameTemp != NULL) { free(FReq_NameTemp); FReq_NameTemp = NULL; } - if (FReq_ModCurPathU != NULL) { free(FReq_ModCurPathU); FReq_ModCurPathU = NULL; } - if (FReq_InsCurPathU != NULL) { free(FReq_InsCurPathU); FReq_InsCurPathU = NULL; } - if (FReq_SmpCurPathU != NULL) { free(FReq_SmpCurPathU); FReq_SmpCurPathU = NULL; } - if (FReq_PatCurPathU != NULL) { free(FReq_PatCurPathU); FReq_PatCurPathU = NULL; } - if (FReq_TrkCurPathU != NULL) { free(FReq_TrkCurPathU); FReq_TrkCurPathU = NULL; } - if (modTmpFNameUTF8 != NULL) { free(modTmpFNameUTF8); modTmpFNameUTF8 = NULL; } - - freeDirRecBuffer(); -} - -bool setupDiskOp(void) -{ - modTmpFName = (char *)calloc(PATH_MAX + 1, sizeof (char)); - insTmpFName = (char *)calloc(PATH_MAX + 1, sizeof (char)); - smpTmpFName = (char *)calloc(PATH_MAX + 1, sizeof (char)); - patTmpFName = (char *)calloc(PATH_MAX + 1, sizeof (char)); - trkTmpFName = (char *)calloc(PATH_MAX + 1, sizeof (char)); - FReq_NameTemp = (char *)calloc(PATH_MAX + 1, sizeof (char)); - FReq_ModCurPathU = (UNICHAR *)calloc(PATH_MAX + 2, sizeof (UNICHAR)); - FReq_InsCurPathU = (UNICHAR *)calloc(PATH_MAX + 2, sizeof (UNICHAR)); - FReq_SmpCurPathU = (UNICHAR *)calloc(PATH_MAX + 2, sizeof (UNICHAR)); - FReq_PatCurPathU = (UNICHAR *)calloc(PATH_MAX + 2, sizeof (UNICHAR)); - FReq_TrkCurPathU = (UNICHAR *)calloc(PATH_MAX + 2, sizeof (UNICHAR)); - - if (modTmpFName == NULL || insTmpFName == NULL || smpTmpFName == NULL || - patTmpFName == NULL || trkTmpFName == NULL || FReq_NameTemp == NULL || - FReq_ModCurPathU == NULL || FReq_InsCurPathU == NULL || FReq_SmpCurPathU == NULL || - FReq_PatCurPathU == NULL || FReq_TrkCurPathU == NULL) - { - // allocated memory is free'd lateron - showErrorMsgBox("Not enough memory!"); - return false; - } - - strcpy(modTmpFName, "untitled.xm"); - strcpy(insTmpFName, "untitled.xi"); - strcpy(smpTmpFName, "untitled.wav"); - strcpy(patTmpFName, "untitled.xp"); - strcpy(trkTmpFName, "untitled.xt"); - - setupInitialPaths(); - setDiskOpItem(0); - - updateCurrSongFilename(); // for window title - updateWindowTitle(true); - - return true; -} - -int32_t getExtOffset(char *s, int32_t stringLen) // get byte offset of file extension (last '.') -{ - if (s == NULL || stringLen < 1) - return -1; - - for (int32_t i = stringLen - 1; i >= 0; i--) - { - if (i != 0 && s[i] == '.') - return i; - } - - return -1; -} - -static void removeQuestionmarksFromString(char *s) -{ - int32_t len; - - if (s == NULL || *s == '\0') - return; - - len = (int32_t)strlen(s); - for (int32_t i = 0; i < len; i++) - { - if (s[i] == '?') - s[i] = ' ' ; - } -} - -#ifdef _WIN32 // WINDOWS SPECIFIC FILE OPERATION ROUTINES - -bool fileExistsAnsi(char *str) -{ - int32_t retVal; - UNICHAR *strU; - - strU = cp437ToUnichar(str); - if (strU == NULL) - return false; - - retVal = PathFileExistsW(strU); - free(strU); - - return retVal; -} - -static bool deleteDirRecursive(UNICHAR *strU) -{ - SHFILEOPSTRUCTW shfo; - - memset(&shfo, 0, sizeof (shfo)); - shfo.wFunc = FO_DELETE; - shfo.fFlags = FOF_SILENT | FOF_NOERRORUI | FOF_NOCONFIRMATION; - shfo.pFrom = strU; - - return (SHFileOperationW(&shfo) == 0); -} - -static bool makeDirAnsi(char *str) -{ - int32_t retVal; - UNICHAR *strU; - - strU = cp437ToUnichar(str); - if (strU == NULL) - return false; - - retVal = _wmkdir(strU); - free(strU); - - return (retVal == 0); -} - -static bool renameAnsi(UNICHAR *oldNameU, char *newName) -{ - int32_t retVal; - UNICHAR *newNameU; - - newNameU = cp437ToUnichar(newName); - if (newNameU == NULL) - return false; - - retVal = UNICHAR_RENAME(oldNameU, newNameU); - free(newNameU); - - return (retVal == 0); -} - -static void setupDiskOpDrives(void) // Windows only -{ - uint16_t i; - uint32_t drivesBitmask; - - fillRect(134, 29, 31, 111, PAL_DESKTOP); - - numLogicalDrives = 0; - - // get number of drives and drive names - drivesBitmask = GetLogicalDrives(); - for (i = 0; i < 8*sizeof (uint32_t); i++) - { - if ((drivesBitmask & (1 << i)) != 0) - { - driveIndexes[numLogicalDrives++] = i; - if (numLogicalDrives == DISKOP_MAX_DRIVE_BUTTONS) - break; - } - } - - // hide all buttons - for (i = 0; i < DISKOP_MAX_DRIVE_BUTTONS; i++) - hidePushButton(PB_DISKOP_DRIVE1 + i); - - // set button names and show buttons - for (i = 0; i < numLogicalDrives; i++) - { - pushButtons[PB_DISKOP_DRIVE1 + i].caption = logicalDriveNames[driveIndexes[i]]; - showPushButton(PB_DISKOP_DRIVE1 + i); - } -} - -static void openDrive(char *str) // Windows only -{ - if (mouse.mode == MOUSE_MODE_DELETE) - { - okBox(8, "System complaint", "Very funny."); - return; - } - - if (str == NULL || *str == '\0') - { - okBox(0, "System message", "Couldn't open drive!"); - return; - } - - if (chdir(str) != 0) - okBox(0, "System message", "Couldn't open drive! Please make sure there's a disk in it."); - else - editor.diskOpReadDir = true; -} - -#else // NON-WINDOWS SPECIFIC FILE OPERATION ROUTINES - -bool fileExistsAnsi(char *str) -{ - int32_t retVal; - UNICHAR *strU; - - strU = cp437ToUnichar(str); - if (strU == NULL) - return false; - - retVal = access(strU, F_OK); - free(strU); - - return (retVal != -1); -} - -static bool deleteDirRecursive(UNICHAR *strU) -{ - int32_t ret; - FTS *ftsp; - FTSENT *curr; - char *files[] = { (char *)(strU), NULL }; - - ftsp = NULL; - - ftsp = fts_open(files, FTS_NOCHDIR | FTS_PHYSICAL | FTS_XDEV, NULL); - if (!ftsp) - return false; - - ret = true; - while ((curr = fts_read(ftsp))) - { - switch (curr->fts_info) - { - default: - case FTS_NS: - case FTS_DNR: - case FTS_ERR: - ret = false; - break; - - case FTS_D: - case FTS_DC: - case FTS_DOT: - case FTS_NSOK: - break; - - case FTS_DP: - case FTS_F: - case FTS_SL: - case FTS_SLNONE: - case FTS_DEFAULT: - { - if (remove(curr->fts_accpath) < 0) - ret = false; - } - break; - } - } - - if (ftsp != NULL) - fts_close(ftsp); - - return ret; -} - -static bool makeDirAnsi(char *str) -{ - int32_t retVal; - UNICHAR *strU; - - strU = cp437ToUnichar(str); - if (strU == NULL) - return false; - - retVal = mkdir(str, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); - free(strU); - - return (retVal == 0); -} - -static bool renameAnsi(UNICHAR *oldNameU, char *newName) -{ - int32_t retVal; - UNICHAR *newNameU; - - newNameU = cp437ToUnichar(newName); - if (newNameU == NULL) - return false; - - retVal = UNICHAR_RENAME(oldNameU, newNameU); - free(newNameU); - - return (retVal == 0); -} -#endif - -static void openDirectory(UNICHAR *strU) -{ - if (strU == NULL || UNICHAR_STRLEN(strU) == 0) - { - okBox(0, "System message", "Couldn't open directory! No permission or in use?"); - return; - } - - if (UNICHAR_CHDIR(strU) != 0) - okBox(0, "System message", "Couldn't open directory! No permission or in use?"); - else - editor.diskOpReadDir = true; -} - -bool diskOpGoParent(void) -{ - if (chdir("..") == 0) - { - editor.diskOpReadDir = true; - FReq_EntrySelected = -1; - - return true; - } - - return false; -} - -static char *getFilenameFromPath(char *p) -{ - int32_t i, len; - - if (p == NULL) - return (p); - - len = (int32_t)strlen(p); - if (len < 2 || p[len-1] == DIR_DELIMITER) - return (p); - - // search for last directory delimiter - for (i = len - 1; i >= 0; i--) - { - if (p[i] == DIR_DELIMITER) - break; - } - - if (i != 0) - p += i + 1; // we found a directory delimiter - skip to the last one - - return p; -} - -void sanitizeFilename(const char *src) -{ - // some of these are legal on GNU/Linux and macOS, but whatever... - const char illegalChars[] = "\\/:*?\"<>|"; - char *ptr; - - if (src == NULL || *src == '\0') - return; - - // convert illegal characters to space (for making a filename the OS will accept) - while ((ptr = (char *)strpbrk(src, illegalChars)) != NULL) - *ptr = ' '; -} - -void diskOpSetFilename(uint8_t type, UNICHAR *pathU) -{ - char *ansiPath, *filename; - - ansiPath = unicharToCp437(pathU, true); - if (ansiPath == NULL) - return; - - filename = getFilenameFromPath(ansiPath); - if (strlen(filename) > PATH_MAX-1) - { - free(ansiPath); - return; // filename is too long, don't bother to copy it over - } - - sanitizeFilename(filename); - - switch (type) - { - default: - case DISKOP_ITEM_MODULE: - { - memset(modTmpFName, 0, PATH_MAX + 1); - strcpy(modTmpFName, filename); - - updateCurrSongFilename(); // for window title - updateWindowTitle(true); - } - break; - - case DISKOP_ITEM_INSTR: - { - memset(insTmpFName, 0, PATH_MAX + 1); - strcpy(insTmpFName, filename); - } - break; - - case DISKOP_ITEM_SAMPLE: - { - memset(smpTmpFName, 0, PATH_MAX + 1); - strcpy(smpTmpFName, filename); - } - break; - - case DISKOP_ITEM_PATTERN: - { - memset(patTmpFName, 0, PATH_MAX + 1); - strcpy(patTmpFName, filename); - } - break; - - case DISKOP_ITEM_TRACK: - { - memset(trkTmpFName, 0, PATH_MAX + 1); - strcpy(trkTmpFName, filename); - } - break; - } - - free(ansiPath); - - if (editor.ui.diskOpShown) - drawTextBox(TB_DISKOP_FILENAME); -} - -static void openFile(UNICHAR *filenameU, bool songModifiedCheck) -{ - int32_t filesize; - FILE *f; - - // first check if we can actually open the requested file - f = UNICHAR_FOPEN(filenameU, "rb"); - if (f == NULL) - { - okBox(0, "System message", "Couldn't open file/directory! No permission or in use?"); - return; - } - fclose(f); - - filesize = getFileSize(filenameU); - if (filesize == -1) // >2GB - { - okBox(0, "System message", "The file is too big and can't be loaded (over 2GB)."); - return; - } - - if (filesize >= 128L*1024*1024) // 128MB - { - if (okBox(2, "System request", "Are you sure you want to load such a big file?") != 1) - return; - } - - // file is readable, handle file... - switch (FReq_Item) - { - default: - case DISKOP_ITEM_MODULE: - { - if (songModifiedCheck && song.isModified) - { - // remove file selection - FReq_EntrySelected = -1; - diskOp_DrawDirectory(); - - if (okBox(2, "System request", "You have unsaved changes in your song. Load new song and lose all changes?") != 1) - return; - } - - editor.loadMusicEvent = EVENT_LOADMUSIC_DISKOP; - loadMusic(filenameU); - } - break; - - case DISKOP_ITEM_INSTR: loadInstr(filenameU); break; - case DISKOP_ITEM_SAMPLE: loadSample(filenameU, editor.curSmp, false); break; - case DISKOP_ITEM_PATTERN: loadPattern(filenameU); break; - case DISKOP_ITEM_TRACK: loadTrack(filenameU); break; - } -} - -static void removeFilenameExt(char *name) -{ - int32_t extOffset, len; - - if (name == NULL || *name == '\0') - return; - - len = (int32_t)strlen(name); - - extOffset = getExtOffset(name, len); - if (extOffset != -1) - name[extOffset] = '\0'; -} - -void changeFilenameExt(char *name, char *ext, int32_t nameMaxLen) -{ - int32_t len, extLen; - - if (name == NULL || name[0] == '\0' || ext == NULL) - return; - - removeFilenameExt(name); - - len = (int32_t)strlen(name); - extLen = (int32_t)strlen(ext); - - if (len + extLen > nameMaxLen-1) - name[(nameMaxLen-1) - extLen] = '\0'; - - strcat(name, ext); - - if (editor.ui.diskOpShown) - diskOp_DrawDirectory(); -} - -void diskOpChangeFilenameExt(char *ext) -{ - changeFilenameExt(FReq_FileName, ext, PATH_MAX); - if (editor.ui.diskOpShown) - diskOp_DrawDirectory(); -} - -void trimEntryName(char *name, bool isDir) -{ - char extBuffer[24]; - int32_t j, extOffset, extLen; - - j = (int32_t)strlen(name); - extOffset = getExtOffset(name, j); - extLen = (int32_t)strlen(&name[extOffset]); - j--; - - if (isDir) - { - // directory - while (textWidth(name) > 160-8 && j >= 2) - { - name[j-2] = '.'; - name[j-1] = '.'; - name[j-0] = '\0'; - j--; - } - - return; - } - - if (extOffset != -1 && extLen <= 4) - { - // has extension - sprintf(extBuffer, ".. %s", &name[extOffset]); // "testtestte... .xm" - - extLen = (int32_t)strlen(extBuffer); - while (textWidth(name) >= FILESIZE_TEXT_X-FILENAME_TEXT_X && j >= extLen+1) - { - memcpy(&name[j - extLen], extBuffer, extLen + 1); - j--; - } - } - else - { - // no extension - while (textWidth(name) >= FILESIZE_TEXT_X-FILENAME_TEXT_X && j >= 2) - { - name[j-2] = '.'; - name[j-1] = '.'; - name[j-0] = '\0'; - j--; - } - } -} - -static void createOverwriteText(char *name) -{ - char nameTmp[128]; - uint32_t nameLen; - - // read entry name to a small buffer - nameLen = (uint32_t)strlen(name); - memcpy(nameTmp, name, (nameLen >= sizeof (nameTmp)) ? sizeof (nameTmp) : (nameLen + 1)); - nameTmp[sizeof (nameTmp) - 1] = '\0'; - - trimEntryName(nameTmp, false); - - sprintf(FReq_SysReqText, "Overwrite file \"%s\"?", nameTmp); -} - -static void diskOpSave(bool checkOverwrite) -{ - UNICHAR *fileNameU; - - if (FReq_FileName[0] == '\0') - { - okBox(0, "System message", "Filename can't be empty!"); - return; - } - - // test if the very first character has a dot... - if (FReq_FileName[0] == '.') - { - okBox(0, "System message", "The very first character in the filename can't be '.' (dot)!"); - return; - } - - // test for illegal file name - if (FReq_FileName[0] == '\0' || strpbrk(FReq_FileName, "\\/:*?\"<>|") != NULL) - { - okBox(0, "System message", "The filename can't contain the following characters: \\ / : * ? \" < > |"); - return; - } - - switch (FReq_Item) - { - default: - case DISKOP_ITEM_MODULE: - { - switch (editor.moduleSaveMode) - { - case MOD_SAVE_MODE_MOD: diskOpChangeFilenameExt(".mod"); break; - default: case MOD_SAVE_MODE_XM: diskOpChangeFilenameExt(".xm"); break; - case MOD_SAVE_MODE_WAV: diskOpChangeFilenameExt(".wav"); break; - } - - // enter WAV renderer if needed - if (editor.moduleSaveMode == MOD_SAVE_MODE_WAV) - { - exitDiskOpScreen(); - showWavRenderer(); - return; - } - - if (checkOverwrite && fileExistsAnsi(FReq_FileName)) - { - createOverwriteText(FReq_FileName); - if (okBox(2, "System request", FReq_SysReqText) != 1) - return; - } - - fileNameU = cp437ToUnichar(FReq_FileName); - if (fileNameU == NULL) - { - okBox(0, "System message", "General I/O error during saving! Is the file in use?"); - return; - } - - saveMusic(fileNameU); - free(fileNameU); - // sets editor.diskOpReadDir after thread is done - } - break; - - case DISKOP_ITEM_INSTR: - { - diskOpChangeFilenameExt(".xi"); - - if (checkOverwrite && fileExistsAnsi(FReq_FileName)) - { - createOverwriteText(FReq_FileName); - if (okBox(2, "System request", FReq_SysReqText) != 1) - return; - } - - fileNameU = cp437ToUnichar(FReq_FileName); - if (fileNameU == NULL) - { - okBox(0, "System message", "General I/O error during saving! Is the file in use?"); - return; - } - - saveInstr(fileNameU, editor.curInstr); - free(fileNameU); - // editor.diskOpReadDir is set after thread is done - } - break; - - case DISKOP_ITEM_SAMPLE: - { - switch (editor.sampleSaveMode) - { - case SMP_SAVE_MODE_RAW: diskOpChangeFilenameExt(".raw"); break; - case SMP_SAVE_MODE_IFF: diskOpChangeFilenameExt(".iff"); break; - default: case SMP_SAVE_MODE_WAV: diskOpChangeFilenameExt(".wav"); break; - } - - if (checkOverwrite && fileExistsAnsi(FReq_FileName)) - { - createOverwriteText(FReq_FileName); - if (okBox(2, "System request", FReq_SysReqText) != 1) - return; - } - - fileNameU = cp437ToUnichar(FReq_FileName); - if (fileNameU == NULL) - { - okBox(0, "System message", "General I/O error during saving! Is the file in use?"); - return; - } - - saveSample(fileNameU, SAVE_NORMAL); - free(fileNameU); - // editor.diskOpReadDir is set after thread is done - } - break; - - case DISKOP_ITEM_PATTERN: - { - diskOpChangeFilenameExt(".xp"); - - if (checkOverwrite && fileExistsAnsi(FReq_FileName)) - { - createOverwriteText(FReq_FileName); - if (okBox(2, "System request", FReq_SysReqText) != 1) - return; - } - - fileNameU = cp437ToUnichar(FReq_FileName); - if (fileNameU == NULL) - { - okBox(0, "System message", "General I/O error during saving! Is the file in use?"); - return; - } - - editor.diskOpReadDir = savePattern(fileNameU); - free(fileNameU); - } - break; - - case DISKOP_ITEM_TRACK: - { - diskOpChangeFilenameExt(".xt"); - - if (checkOverwrite && fileExistsAnsi(FReq_FileName)) - { - createOverwriteText(FReq_FileName); - if (okBox(2, "System request", FReq_SysReqText) != 1) - return; - } - - fileNameU = cp437ToUnichar(FReq_FileName); - if (fileNameU == NULL) - { - okBox(0, "System message", "General I/O error during saving! Is the file in use?"); - return; - } - - editor.diskOpReadDir = saveTrack(fileNameU); - free(fileNameU); - } - break; - } -} - -void pbDiskOpSave(void) -{ - diskOpSave(config.cfg_OverwriteWarning ? true : false); // check if about to overwrite -} - -static void fileListPressed(int32_t index) -{ - char *nameTmp; - int8_t mode; - int32_t result, entryIndex; - DirRec *dirEntry; - - entryIndex = FReq_DirPos + index; - if (entryIndex >= FReq_FileCount || FReq_FileCount == 0) - return; // illegal entry - - mode = mouse.mode; - - // set normal mouse cursor - if (mouse.mode != MOUSE_MODE_NORMAL) - setMouseMode(MOUSE_MODE_NORMAL); - - // remove file selection - FReq_EntrySelected = -1; - diskOp_DrawDirectory(); - - dirEntry = &FReq_Buffer[entryIndex]; - switch (mode) - { - // open file/folder - default: - case MOUSE_MODE_NORMAL: - { - if (dirEntry->isDir) - openDirectory(dirEntry->nameU); - else - openFile(dirEntry->nameU, true); - } - break; - - // delete file/folder - case MOUSE_MODE_DELETE: - { - if (!dirEntry->isDir || UNICHAR_STRCMP(dirEntry->nameU, PARENT_DIR_STR)) // don't handle ".." dir - { - nameTmp = unicharToCp437(dirEntry->nameU, true); - if (nameTmp == NULL) - break; - - trimEntryName(nameTmp, dirEntry->isDir); - - if (dirEntry->isDir) - sprintf(FReq_SysReqText, "Delete directory \"%s\"?", nameTmp); - else - sprintf(FReq_SysReqText, "Delete file \"%s\"?", nameTmp); - - free(nameTmp); - - if (okBox(2, "System request", FReq_SysReqText) == 1) - { - if (dirEntry->isDir) - { - result = deleteDirRecursive(dirEntry->nameU); - if (!result) - okBox(0, "System message", "Couldn't delete folder: Access denied!"); - else - editor.diskOpReadDir = true; - } - else - { - result = (UNICHAR_REMOVE(dirEntry->nameU) == 0); - if (!result) - okBox(0, "System message", "Couldn't delete file: Access denied!"); - else - editor.diskOpReadDir = true; - } - } - } - } - break; - - // rename file/folder - case MOUSE_MODE_RENAME: - { - if (dirEntry->isDir || UNICHAR_STRCMP(dirEntry->nameU, PARENT_DIR_STR)) // don't handle ".." dir - { - nameTmp = unicharToCp437(dirEntry->nameU, true); - if (nameTmp == NULL) - break; - - strncpy(FReq_NameTemp, nameTmp, PATH_MAX - 1); - free(nameTmp); - - // in case of UTF8 -> CP437 encoding failure, there can be question marks. Remove them... - removeQuestionmarksFromString(FReq_NameTemp); - - if (inputBox(2, dirEntry->isDir ? "Enter new directoryname:" : "Enter new filename:", FReq_NameTemp, PATH_MAX - 1) == 1) - { - if ((FReq_NameTemp == NULL) || (FReq_NameTemp[0] == '\0')) - { - okBox(0, "System message", "New name can't be empty!"); - break; - } - - if (!renameAnsi(dirEntry->nameU, FReq_NameTemp)) - { - if (dirEntry->isDir) - okBox(0, "System message", "Couldn't rename directory: Access denied, or dir already exists!"); - else - okBox(0, "System message", "Couldn't rename file: Access denied, or file already exists!"); - } - else - { - editor.diskOpReadDir = true; - } - } - } - } - break; - } -} - -bool testDiskOpMouseDown(bool mouseHeldDlown) -{ - int32_t tmpEntry, max; - - if (!editor.ui.diskOpShown || FReq_FileCount == 0) - return false; - - max = FReq_FileCount - FReq_DirPos; - if (max > DISKOP_ENTRY_NUM) // needed kludge when mouse-scrolling - max = DISKOP_ENTRY_NUM; - - if (!mouseHeldDlown) - { - FReq_EntrySelected = -1; - - if (mouse.x >= 169 && mouse.x <= 331 && mouse.y >= 4 && mouse.y <= 168) - { - tmpEntry = (mouse.y - 4) / (FONT1_CHAR_H + 1); - if (tmpEntry >= 0 && tmpEntry < max) - { - FReq_EntrySelected = tmpEntry; - diskOp_DrawDirectory(); - } - - mouse.lastUsedObjectType = OBJECT_DISKOPLIST; - return true; - } - - return false; - } - - // handle scrolling if outside of disk op. list area - if (mouse.y < 4) - { - scrollBarScrollUp(SB_DISKOP_LIST, 1); - FReq_EntrySelected = -1; - } - else if (mouse.y > 168) - { - scrollBarScrollDown(SB_DISKOP_LIST, 1); - FReq_EntrySelected = -1; - } - - if (mouse.y == lastMouseY) - return true; - - lastMouseY = mouse.y; - - tmpEntry = (mouse.y - 4) / (FONT1_CHAR_H + 1); - if (mouse.x < 169 || mouse.x > 331 || mouse.y < 4 || tmpEntry < 0 || tmpEntry >= max) - { - FReq_EntrySelected = -1; - diskOp_DrawDirectory(); - - return true; - } - - if (tmpEntry != FReq_EntrySelected) - { - FReq_EntrySelected = tmpEntry; - diskOp_DrawDirectory(); - } - - return true; -} - -void testDiskOpMouseRelease(void) -{ - if (editor.ui.diskOpShown && FReq_EntrySelected != -1) - { - if (mouse.x >= 169 && mouse.x <= 329 && mouse.y >= 4 && mouse.y <= 168) - fileListPressed((mouse.y - 4) / (FONT1_CHAR_H + 1)); - - FReq_EntrySelected = -1; - diskOp_DrawDirectory(); - } -} - -static uint8_t handleEntrySkip(UNICHAR *nameU, bool isDir) -{ - char *name, *extPtr; - int32_t nameLen, extOffset, extLen; - - // skip if illegal name or filesize >32-bit - if (nameU == NULL) - return true; - - name = unicharToCp437(nameU, false); - if (name == NULL) - return true; - - nameLen = (int32_t)strlen(name); - if (nameLen == 0) - { - free(name); - return true; - } - - // skip ".name" dirs/files - if (nameLen >= 2 && name[0] == '.' && name[1] != '.') - { - free(name); - return true; - } - - if (isDir) - { - // skip '.' directory - if (nameLen == 1 && name[0] == '.') - { - free(name); - return true; - } - } - else if (!FReq_ShowAllFiles) - { - extOffset = getExtOffset(name, nameLen); - if (extOffset == -1) - { - free(name); - return true; - } - - extLen = (int32_t)strlen(&name[extOffset]); - if (extLen < 3 || extLen > 5) - { - free(name); - return true; // no possibly known extensions to filter out - } - - extPtr = &name[extOffset]; - - // decide what entries to keep based on file extension - switch (FReq_Item) - { - default: - case DISKOP_ITEM_MODULE: - { - if (extLen == 3) - { - if (_stricmp(".xm", extPtr) && _stricmp(".ft", extPtr)) - { - free(name); - return true; // skip, none of the extensions above - } - } - else if (extLen == 4) - { - if (_stricmp(".nst", extPtr) && _stricmp(".mod", extPtr) && - _stricmp(".s3m", extPtr) && _stricmp(".stm", extPtr) && - _stricmp(".fst", extPtr) && _stricmp(".wav", extPtr)) - { - free(name); - return true; // skip, none of the extensions above - } - } - else - { - free(name); - return true; - } - } - break; - - case DISKOP_ITEM_INSTR: - { - if (extLen == 3) - { - if (_stricmp(".xi", extPtr)) - { - free(name); - return true; // skip, none of the extensions above - } - } - else if (extLen == 4) - { - if (_stricmp(".iff", extPtr) && _stricmp(".raw", extPtr) && - _stricmp(".wav", extPtr) && _stricmp(".snd", extPtr) && - _stricmp(".smp", extPtr) && _stricmp(".sam", extPtr) && - _stricmp(".aif", extPtr) && _stricmp(".pat", extPtr)) - { - free(name); - return true; // skip, none of the extensions above - } - } - else if (extLen == 5) - { - if (_stricmp(".aiff", extPtr)) - { - free(name); - return true; // skip, not the extension above - } - } - else - { - free(name); - return true; - } - } - break; - - case DISKOP_ITEM_SAMPLE: - { - if (extLen == 4) - { - if (_stricmp(".iff", extPtr) && _stricmp(".raw", extPtr) && - _stricmp(".wav", extPtr) && _stricmp(".snd", extPtr) && - _stricmp(".smp", extPtr) && _stricmp(".sam", extPtr) && - _stricmp(".aif", extPtr)) - { - free(name); - return true; // skip, none of the extensions above - } - } - else if (extLen == 5) - { - if (_stricmp(".aiff", extPtr)) - { - free(name); - return true; // skip, not the extension above - } - } - else - { - free(name); - return true; - } - } - break; - - case DISKOP_ITEM_PATTERN: - { - if (extLen == 3) - { - if (_stricmp(".xp", extPtr)) - { - free(name); - return true; // skip, not the extension above - } - } - else - { - free(name); - return true; - } - } - break; - - case DISKOP_ITEM_TRACK: - { - if (extLen == 3) - { - if (_stricmp(".xt", extPtr)) - { - free(name); - return true; // skip, not the extension above - } - } - else - { - free(name); - return true; - } - } - break; - } - } - - free(name); - return false; // "Show All Files" mode is enabled, don't skip entry -} - -static int8_t findFirst(DirRec *searchRec) -{ -#ifdef _WIN32 - WIN32_FIND_DATAW fData; -#else - struct dirent *fData; - struct stat st; - int64_t fSize; -#endif - -#if defined(__sun) || defined(sun) - struct stat s; -#endif - - searchRec->nameU = NULL; // this one must be initialized - -#ifdef _WIN32 - hFind = FindFirstFileW(L"*", &fData); - if (hFind == NULL || hFind == INVALID_HANDLE_VALUE) - return LFF_DONE; - - searchRec->nameU = UNICHAR_STRDUP(fData.cFileName); - if (searchRec->nameU == NULL) - return LFF_SKIP; - - searchRec->filesize = (fData.nFileSizeHigh > 0) ? -1 : fData.nFileSizeLow; - searchRec->isDir = (fData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ? true : false; -#else - hFind = opendir("."); - if (hFind == NULL) - return LFF_DONE; - - fData = readdir(hFind); - if (fData == NULL) - return LFF_DONE; - - searchRec->nameU = UNICHAR_STRDUP(fData->d_name); - if (searchRec->nameU == NULL) - return LFF_SKIP; - - searchRec->filesize = 0; - -#if defined(__sun) || defined(sun) - stat(fData->d_name, &s); - searchRec->isDir = (s.st_mode != S_IFDIR) ? true : false; -#else - searchRec->isDir = (fData->d_type == DT_DIR) ? true : false; -#endif - -#if defined(__sun) || defined(sun) - if (s.st_mode == S_IFLNK) -#else - if (fData->d_type == DT_UNKNOWN || fData->d_type == DT_LNK) -#endif - { - if (stat(fData->d_name, &st) == 0) - { - fSize = (int64_t)st.st_size; - searchRec->filesize = (fSize > INT32_MAX) ? -1 : (fSize & 0xFFFFFFFF); - - if ((st.st_mode & S_IFMT) == S_IFDIR) - searchRec->isDir = true; - } - } - else if (!searchRec->isDir) - { - if (stat(fData->d_name, &st) == 0) - { - fSize = (int64_t)st.st_size; - searchRec->filesize = (fSize > INT32_MAX) ? -1 : (fSize & 0xFFFFFFFF); - } - } -#endif - - if (handleEntrySkip(searchRec->nameU, searchRec->isDir)) - { - // skip file - free(searchRec->nameU); - searchRec->nameU = NULL; - - return LFF_SKIP; - } - - return LFF_OK; -} - -static int8_t findNext(DirRec *searchRec) -{ -#ifdef _WIN32 - WIN32_FIND_DATAW fData; -#else - struct dirent *fData; - struct stat st; - int64_t fSize; -#endif - -#if defined(__sun) || defined(sun) - struct stat s; -#endif - - searchRec->nameU = NULL; // important - -#ifdef _WIN32 - if (hFind == NULL || FindNextFileW(hFind, &fData) == 0) - return LFF_DONE; - - searchRec->nameU = UNICHAR_STRDUP(fData.cFileName); - if (searchRec->nameU == NULL) - return LFF_SKIP; - - searchRec->filesize = (fData.nFileSizeHigh > 0) ? -1 : fData.nFileSizeLow; - searchRec->isDir = (fData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ? true : false; -#else - if (hFind == NULL || (fData = readdir(hFind)) == NULL) - return LFF_DONE; - - searchRec->nameU = UNICHAR_STRDUP(fData->d_name); - if (searchRec->nameU == NULL) - return LFF_SKIP; - - searchRec->filesize = 0; - -#if defined(__sun) || defined(sun) - stat(fData->d_name, &s); - searchRec->isDir = (s.st_mode != S_IFDIR) ? true : false; -#else - searchRec->isDir = (fData->d_type == DT_DIR) ? true : false; -#endif - -#if defined(__sun) || defined(sun) - if (s.st_mode == S_IFLNK) -#else - if (fData->d_type == DT_UNKNOWN || fData->d_type == DT_LNK) -#endif - { - if (stat(fData->d_name, &st) == 0) - { - fSize = (int64_t)st.st_size; - searchRec->filesize = (fSize > INT32_MAX) ? -1 : (fSize & 0xFFFFFFFF); - - if ((st.st_mode & S_IFMT) == S_IFDIR) - searchRec->isDir = true; - } - } - else if (!searchRec->isDir) - { - if (stat(fData->d_name, &st) == 0) - { - fSize = (int64_t)st.st_size; - searchRec->filesize = (fSize > INT32_MAX) ? -1 : (fSize & 0xFFFFFFFF); - } - } -#endif - - if (handleEntrySkip(searchRec->nameU, searchRec->isDir)) - { - // skip file - free(searchRec->nameU); - searchRec->nameU = NULL; - - return LFF_SKIP; - } - - return LFF_OK; -} - -static void findClose(void) -{ - if (hFind != NULL) - { -#ifdef _WIN32 - FindClose(hFind); -#else - closedir(hFind); -#endif - hFind = NULL; - } -} - -static bool swapBufferEntry(int32_t a, int32_t b) // used for sorting -{ - DirRec tmpBuffer; - - if (a >= FReq_FileCount || b >= FReq_FileCount) - return false; - - tmpBuffer = FReq_Buffer[a]; - FReq_Buffer[a] = FReq_Buffer[b]; - FReq_Buffer[b] = tmpBuffer; - - return true; -} - -static char *ach(int32_t rad) // used for sortDirectory() -{ - char *p, *name; - int32_t i, nameLen, extLen; - DirRec *dirEntry; - - dirEntry = &FReq_Buffer[rad]; - - name = unicharToCp437(dirEntry->nameU, true); - if (name == NULL) - return NULL; - - nameLen = (int32_t)strlen(name); - if (nameLen == 0) - { - free(name); - return NULL; - } - - p = (char *)malloc(nameLen + 2); - if (p == NULL) - { - free(name); - return NULL; - } - - if (dirEntry->isDir) - { - // directory - - if (nameLen == 2 && name[0] == '.' && name[1] == '.') - p[0] = 0x01; // make ".." directory first priority - else - p[0] = 0x02; // make second priority - - strcpy(&p[1], name); - - free(name); - return p; - } - else - { - // file - - i = getExtOffset(name, nameLen); - if (config.cfg_SortPriority == 1 || i == -1) - { - // sort by filename - strcpy(p, name); - free(name); - return p; - } - else - { - // sort by filename extension - extLen = nameLen - i; - if (extLen <= 1) - { - strcpy(p, name); - free(name); - return p; - } - - // FILENAME.EXT -> EXT.FILENAME (for sorting) - memcpy(p, &name[i+1], extLen - 1); - memcpy(&p[extLen-1], name, i); - p[nameLen-1] = '\0'; - - free(name); - return p; - } - } -} - -static void sortDirectory(void) -{ - bool didSwap; - char *p1, *p2; - uint32_t offset, limit, i; - - if (FReq_FileCount < 2) - return; // no need to sort - - offset = FReq_FileCount / 2; - while (offset > 0) - { - limit = FReq_FileCount - offset; - do - { - didSwap = false; - for (i = 0; i < limit; i++) - { - p1 = ach(i); - p2 = ach(offset + i); - - if (p1 == NULL || p2 == NULL) - { - if (p1 != NULL) free(p1); - if (p2 != NULL) free(p2); - okBox(0, "System message", "Not enough memory!"); - return; - } - - if (_stricmp(p1, p2) > 0) - { - if (!swapBufferEntry(i, offset + i)) - { - free(p1); - free(p2); - return; - } - - didSwap = true; - } - - free(p1); - free(p2); - } - } - while (didSwap); - - offset /= 2; - } -} - -static uint8_t numDigits32(uint32_t x) -{ - if (x >= 1000000000) return 10; - if (x >= 100000000) return 9; - if (x >= 10000000) return 8; - if (x >= 1000000) return 7; - if (x >= 100000) return 6; - if (x >= 10000) return 5; - if (x >= 1000) return 4; - if (x >= 100) return 3; - if (x >= 10) return 2; - - return 1; -} - -static void printFormattedFilesize(uint16_t x, uint16_t y, uint32_t bufEntry) -{ - char sizeStrBuffer[16]; - int32_t filesize, printFilesize; - - filesize = FReq_Buffer[bufEntry].filesize; - if (filesize == -1) - { - x += 6; - textOut(x, y, PAL_BLCKTXT, ">2GB"); - return; - } - - assert(filesize >= 0); - - if (filesize >= 1024*1024*10) // >= 10MB? - { -forceMB: - printFilesize = (int32_t)ceil(filesize / (1024.0*1024.0)); - x += (4 - numDigits32(printFilesize)) * (FONT1_CHAR_W - 1); - sprintf(sizeStrBuffer, "%dM", printFilesize); - } - else if (filesize >= 1024*10) // >= 10kB? - { - printFilesize = (int32_t)ceil(filesize / 1024.0); - if (printFilesize > 9999) - goto forceMB; // ceil visual overflow kludge - - x += (4 - numDigits32(printFilesize)) * (FONT1_CHAR_W - 1); - sprintf(sizeStrBuffer, "%dk", printFilesize); - } - else // bytes - { - printFilesize = filesize; - x += (5 - numDigits32(printFilesize)) * (FONT1_CHAR_W - 1); - sprintf(sizeStrBuffer, "%d", printFilesize); - } - - textOut(x, y, PAL_BLCKTXT, sizeStrBuffer); -} - -static void displayCurrPath(void) -{ - char *p, *delimiter, *asciiPath; - int32_t j; - uint32_t pathLen; - - fillRect(4, 145, 162, 10, PAL_DESKTOP); - - pathLen = (uint32_t)UNICHAR_STRLEN(FReq_CurPathU); - if (pathLen == 0) - return; - - asciiPath = unicharToCp437(FReq_CurPathU, true); - if (asciiPath == NULL) - { - okBox(0, "System message", "Not enough memory!"); - return; - } - - p = asciiPath; - if (textWidth(p) <= 162) - { - // path fits, print it all - textOut(4, 145, PAL_FORGRND, p); - } - else - { - // path doesn't fit, print drive + ".." + last directory - - memset(FReq_NameTemp, 0, PATH_MAX + 1); -#ifdef _WIN32 - strncpy(FReq_NameTemp, p, 3); - strcat(FReq_NameTemp, ".\001"); // special character in font -#else - strcpy(FReq_NameTemp, "/"); - strcat(FReq_NameTemp, ".."); -#endif - - delimiter = strrchr(p, DIR_DELIMITER); - if (delimiter != NULL) - { -#ifdef _WIN32 - strcat(FReq_NameTemp, delimiter + 1); -#else - strcat(FReq_NameTemp, delimiter); -#endif - } - - j = (int32_t)strlen(FReq_NameTemp); - if (j > 6) - { - j--; - - p = FReq_NameTemp; - while (j >= 6 && textWidth(p) >= 162) - { - p[j - 2] = '.'; - p[j - 1] = '.'; - p[j - 0] = '\0'; - j--; - } - } - - textOutClipX(4, 145, PAL_FORGRND, FReq_NameTemp, 165); - } - - free(asciiPath); -} - -void diskOp_DrawDirectory(void) -{ - char *readName; - uint16_t y; - int32_t bufEntry; - - clearRect(FILENAME_TEXT_X - 1, 4, 162, 164); - drawTextBox(TB_DISKOP_FILENAME); - - if (FReq_EntrySelected != -1) - { - y = 4 + (uint16_t)((FONT1_CHAR_H + 1) * FReq_EntrySelected); - fillRect(FILENAME_TEXT_X - 1, y, 162, FONT1_CHAR_H, PAL_PATTEXT); - } - - displayCurrPath(); -#ifdef _WIN32 - setupDiskOpDrives(); -#endif - - if (FReq_FileCount == 0) - return; - - for (uint16_t i = 0; i < DISKOP_ENTRY_NUM; i++) - { - bufEntry = FReq_DirPos + i; - if (bufEntry >= FReq_FileCount) - break; - - if (FReq_Buffer[bufEntry].nameU == NULL) - continue; - - // convert unichar name to codepage 437 - readName = unicharToCp437(FReq_Buffer[bufEntry].nameU, true); - if (readName == NULL) - continue; - - y = 4 + (i * (FONT1_CHAR_H + 1)); - - // shrink entry name and add ".." if it doesn't fit on screen - trimEntryName(readName, FReq_Buffer[bufEntry].isDir); - - if (FReq_Buffer[bufEntry].isDir) - { - // directory - charOut(FILENAME_TEXT_X, y, PAL_BLCKTXT, DIR_DELIMITER); - textOut(FILENAME_TEXT_X + FONT1_CHAR_W, y, PAL_BLCKTXT, readName); - } - else - { - // filename - textOut(FILENAME_TEXT_X, y, PAL_BLCKTXT, readName); - } - - free(readName); - - if (!FReq_Buffer[bufEntry].isDir) - printFormattedFilesize(FILESIZE_TEXT_X, y, bufEntry); - } - - setScrollBarPos(SB_DISKOP_LIST, FReq_DirPos, true); - setScrollBarEnd(SB_DISKOP_LIST, FReq_FileCount); -} - -static DirRec *bufferCreateEmptyDir(void) // special case: creates a dir entry with a ".." directory -{ - DirRec *dirEntry; - - dirEntry = (DirRec *)malloc(sizeof (DirRec)); - if (dirEntry == NULL) - return NULL; - - dirEntry->nameU = UNICHAR_STRDUP(PARENT_DIR_STR); - if (dirEntry->nameU == NULL) - { - free(dirEntry); - return NULL; - } - - dirEntry->isDir = true; - dirEntry->filesize = 0; - - return dirEntry; -} - -static int32_t SDLCALL diskOp_ReadDirectoryThread(void *ptr) -{ - uint8_t lastFindFileFlag; - DirRec tmpBuffer, *newPtr; - - (void)ptr; - - FReq_DirPos = 0; - - // free old buffer - freeDirRecBuffer(); - - // read first file - lastFindFileFlag = findFirst(&tmpBuffer); - if (lastFindFileFlag != LFF_DONE && lastFindFileFlag != LFF_SKIP) - { - FReq_Buffer = (DirRec *)malloc(sizeof (DirRec) * (FReq_FileCount + 1)); - if (FReq_Buffer == NULL) - { - findClose(); - - okBoxThreadSafe(0, "System message", "Not enough memory!"); - - FReq_Buffer = bufferCreateEmptyDir(); - if (FReq_Buffer != NULL) - FReq_FileCount = 1; - else - okBoxThreadSafe(0, "System message", "Not enough memory!"); - - setMouseBusy(false); - return false; - } - - memcpy(&FReq_Buffer[FReq_FileCount], &tmpBuffer, sizeof (DirRec)); - FReq_FileCount++; - } - - // read remaining files - while (lastFindFileFlag != LFF_DONE) - { - lastFindFileFlag = findNext(&tmpBuffer); - if (lastFindFileFlag != LFF_DONE && lastFindFileFlag != LFF_SKIP) - { - newPtr = (DirRec *)realloc(FReq_Buffer, sizeof (DirRec) * (FReq_FileCount + 1)); - if (newPtr == NULL) - { - freeDirRecBuffer(); - okBoxThreadSafe(0, "System message", "Not enough memory!"); - break; - } - - FReq_Buffer = newPtr; - - memcpy(&FReq_Buffer[FReq_FileCount], &tmpBuffer, sizeof (DirRec)); - FReq_FileCount++; - } - } - - findClose(); - - if (FReq_FileCount > 0) - { - sortDirectory(); - } - else - { - // access denied or out of memory - create parent directory link - FReq_Buffer = bufferCreateEmptyDir(); - if (FReq_Buffer != NULL) - FReq_FileCount = 1; - else - okBoxThreadSafe(0, "System message", "Not enough memory!"); - } - - UNICHAR_GETCWD(FReq_CurPathU, PATH_MAX); - editor.diskOpReadDone = true; - - setMouseBusy(false); - - return true; -} - -void startDiskOpFillThread(void) -{ - editor.diskOpReadDone = false; - - mouseAnimOn(); - thread = SDL_CreateThread(diskOp_ReadDirectoryThread, NULL, NULL); - if (thread == NULL) - { - editor.diskOpReadDone = true; - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -static void drawSaveAsElements(void) -{ - switch (FReq_Item) - { - default: - case DISKOP_ITEM_MODULE: - { - textOutShadow(19, 101, PAL_FORGRND, PAL_DSKTOP2, "MOD"); - textOutShadow(19, 115, PAL_FORGRND, PAL_DSKTOP2, "XM"); - textOutShadow(19, 129, PAL_FORGRND, PAL_DSKTOP2, "WAV"); - } - break; - - case DISKOP_ITEM_INSTR: - textOutShadow(19, 101, PAL_FORGRND, PAL_DSKTOP2, "XI"); - break; - - case DISKOP_ITEM_SAMPLE: - { - textOutShadow(19, 101, PAL_FORGRND, PAL_DSKTOP2, "RAW"); - textOutShadow(19, 115, PAL_FORGRND, PAL_DSKTOP2, "IFF"); - textOutShadow(19, 129, PAL_FORGRND, PAL_DSKTOP2, "WAV"); - } - break; - - case DISKOP_ITEM_PATTERN: - textOutShadow(19, 101, PAL_FORGRND, PAL_DSKTOP2, "XP"); - break; - - case DISKOP_ITEM_TRACK: - textOutShadow(19, 101, PAL_FORGRND, PAL_DSKTOP2, "XT"); - break; - } -} - -static void setDiskOpItemRadioButtons(void) -{ - uncheckRadioButtonGroup(RB_GROUP_DISKOP_MOD_SAVEAS); - uncheckRadioButtonGroup(RB_GROUP_DISKOP_INS_SAVEAS); - uncheckRadioButtonGroup(RB_GROUP_DISKOP_SMP_SAVEAS); - uncheckRadioButtonGroup(RB_GROUP_DISKOP_PAT_SAVEAS); - uncheckRadioButtonGroup(RB_GROUP_DISKOP_TRK_SAVEAS); - - hideRadioButtonGroup(RB_GROUP_DISKOP_MOD_SAVEAS); - hideRadioButtonGroup(RB_GROUP_DISKOP_INS_SAVEAS); - hideRadioButtonGroup(RB_GROUP_DISKOP_SMP_SAVEAS); - hideRadioButtonGroup(RB_GROUP_DISKOP_PAT_SAVEAS); - hideRadioButtonGroup(RB_GROUP_DISKOP_TRK_SAVEAS); - - if (editor.moduleSaveMode > 3) - editor.moduleSaveMode = 3; - - if (editor.sampleSaveMode > 3) - editor.sampleSaveMode = 3; - - radioButtons[RB_DISKOP_MOD_SAVEAS_MOD + editor.moduleSaveMode].state = RADIOBUTTON_CHECKED; - radioButtons[RB_DISKOP_SMP_SAVEAS_RAW + editor.sampleSaveMode].state = RADIOBUTTON_CHECKED; - - if (FReq_Item == DISKOP_ITEM_INSTR) radioButtons[RB_DISKOP_INS_SAVEAS_XI].state = RADIOBUTTON_CHECKED; - if (FReq_Item == DISKOP_ITEM_PATTERN) radioButtons[RB_DISKOP_PAT_SAVEAS_XP].state = RADIOBUTTON_CHECKED; - if (FReq_Item == DISKOP_ITEM_TRACK) radioButtons[RB_DISKOP_TRK_SAVEAS_XT].state = RADIOBUTTON_CHECKED; - - if (editor.ui.diskOpShown) - { - switch (FReq_Item) - { - default: case DISKOP_ITEM_MODULE: showRadioButtonGroup(RB_GROUP_DISKOP_MOD_SAVEAS); break; - case DISKOP_ITEM_INSTR: showRadioButtonGroup(RB_GROUP_DISKOP_INS_SAVEAS); break; - case DISKOP_ITEM_SAMPLE: showRadioButtonGroup(RB_GROUP_DISKOP_SMP_SAVEAS); break; - case DISKOP_ITEM_PATTERN: showRadioButtonGroup(RB_GROUP_DISKOP_PAT_SAVEAS); break; - case DISKOP_ITEM_TRACK: showRadioButtonGroup(RB_GROUP_DISKOP_TRK_SAVEAS); break; - } - } -} - -static void setDiskOpItem(uint8_t item) -{ - int32_t pathLen; - - hideRadioButtonGroup(RB_GROUP_DISKOP_MOD_SAVEAS); - hideRadioButtonGroup(RB_GROUP_DISKOP_INS_SAVEAS); - hideRadioButtonGroup(RB_GROUP_DISKOP_SMP_SAVEAS); - hideRadioButtonGroup(RB_GROUP_DISKOP_PAT_SAVEAS); - hideRadioButtonGroup(RB_GROUP_DISKOP_TRK_SAVEAS); - - if (item > 4) - item = 4; - - FReq_Item = item; - switch (FReq_Item) - { - default: case DISKOP_ITEM_MODULE: FReq_FileName = modTmpFName; FReq_CurPathU = FReq_ModCurPathU; break; - case DISKOP_ITEM_INSTR: FReq_FileName = insTmpFName; FReq_CurPathU = FReq_InsCurPathU; break; - case DISKOP_ITEM_SAMPLE: FReq_FileName = smpTmpFName; FReq_CurPathU = FReq_SmpCurPathU; break; - case DISKOP_ITEM_PATTERN: FReq_FileName = patTmpFName; FReq_CurPathU = FReq_PatCurPathU; break; - case DISKOP_ITEM_TRACK: FReq_FileName = trkTmpFName; FReq_CurPathU = FReq_TrkCurPathU; break; - } - - pathLen = (int32_t)UNICHAR_STRLEN(FReq_CurPathU); - if (pathLen == 0) - { - memset(FReq_CurPathU, 0, (PATH_MAX + 2) * sizeof (UNICHAR)); - UNICHAR_STRCPY(FReq_CurPathU, FReq_ModCurPathU); - } - else - { - UNICHAR_CHDIR(FReq_CurPathU); - } - - textBoxes[TB_DISKOP_FILENAME].textPtr = FReq_FileName; - - FReq_ShowAllFiles = false; - - if (editor.ui.diskOpShown) - { - editor.diskOpReadDir = true; - - fillRect(4, 101, 40, 38, PAL_DESKTOP); - drawSaveAsElements(); - setDiskOpItemRadioButtons(); - - diskOp_DrawDirectory(); - drawTextBox(TB_DISKOP_FILENAME); - } - else - { - editor.diskOpReadOnOpen = true; - } -} - -static void drawDiskOpScreen(void) -{ - drawFramework(0, 0, 67, 86, FRAMEWORK_TYPE1); - drawFramework(67, 0, 64, 142, FRAMEWORK_TYPE1); - drawFramework(131, 0, 37, 142, FRAMEWORK_TYPE1); - drawFramework(0, 86, 67, 56, FRAMEWORK_TYPE1); - drawFramework(0, 142, 168, 31, FRAMEWORK_TYPE1); - drawFramework(168, 0, 164, 3, FRAMEWORK_TYPE1); - drawFramework(168, 170, 164, 3, FRAMEWORK_TYPE1); - drawFramework(332, 0, 24, 173, FRAMEWORK_TYPE1); - drawFramework(61, 157, 105, 14, FRAMEWORK_TYPE2); - - clearRect(168, 2, 164, 168); - - showPushButton(PB_DISKOP_SAVE); - showPushButton(PB_DISKOP_DELETE); - showPushButton(PB_DISKOP_RENAME); - showPushButton(PB_DISKOP_MAKEDIR); - showPushButton(PB_DISKOP_REFRESH); - showPushButton(PB_DISKOP_EXIT); - showPushButton(PB_DISKOP_PARENT); - showPushButton(PB_DISKOP_ROOT); - showPushButton(PB_DISKOP_SHOW_ALL); - showPushButton(PB_DISKOP_SET_PATH); - showPushButton(PB_DISKOP_LIST_UP); - showPushButton(PB_DISKOP_LIST_DOWN); - - showScrollBar(SB_DISKOP_LIST); - showTextBox(TB_DISKOP_FILENAME); - - textBoxes[TB_DISKOP_FILENAME].textPtr = FReq_FileName; - - if (FReq_Item > 4) - FReq_Item = 4; - - uncheckRadioButtonGroup(RB_GROUP_DISKOP_ITEM); - radioButtons[RB_DISKOP_MODULE + FReq_Item].state = RADIOBUTTON_CHECKED; - showRadioButtonGroup(RB_GROUP_DISKOP_ITEM); - - // item selector - textOutShadow(5, 3, PAL_FORGRND, PAL_DSKTOP2, "Item:"); - textOutShadow(19, 17, PAL_FORGRND, PAL_DSKTOP2, "Module"); - textOutShadow(19, 31, PAL_FORGRND, PAL_DSKTOP2, "Instr."); - textOutShadow(19, 45, PAL_FORGRND, PAL_DSKTOP2, "Sample"); - textOutShadow(19, 59, PAL_FORGRND, PAL_DSKTOP2, "Pattern"); - textOutShadow(19, 73, PAL_FORGRND, PAL_DSKTOP2, "Track"); - - // file format - textOutShadow(5, 89, PAL_FORGRND, PAL_DSKTOP2, "Save as:"); - drawSaveAsElements(); - setDiskOpItemRadioButtons(); - - // filename - textOutShadow(4, 159, PAL_FORGRND, PAL_DSKTOP2, "Filename:"); - - diskOp_DrawDirectory(); -} - -void showDiskOpScreen(void) -{ - if (editor.ui.extended) - exitPatternEditorExtended(); - - hideTopScreen(); - editor.ui.diskOpShown = true; - editor.ui.scopesShown = false; - - showTopRightMainScreen(); - drawDiskOpScreen(); - - // a flag that says if we need to update the filelist after disk op. was shown - if (editor.diskOpReadOnOpen) - { - editor.diskOpReadOnOpen = false; - startDiskOpFillThread(); - } -} - -void hideDiskOpScreen(void) -{ -#ifdef _WIN32 - for (uint16_t i = 0; i < DISKOP_MAX_DRIVE_BUTTONS; i++) - hidePushButton(PB_DISKOP_DRIVE1 + i); -#endif - - hidePushButton(PB_DISKOP_SAVE); - hidePushButton(PB_DISKOP_DELETE); - hidePushButton(PB_DISKOP_RENAME); - hidePushButton(PB_DISKOP_MAKEDIR); - hidePushButton(PB_DISKOP_REFRESH); - hidePushButton(PB_DISKOP_EXIT); - hidePushButton(PB_DISKOP_PARENT); - hidePushButton(PB_DISKOP_ROOT); - hidePushButton(PB_DISKOP_SHOW_ALL); - hidePushButton(PB_DISKOP_SET_PATH); - hidePushButton(PB_DISKOP_LIST_UP); - hidePushButton(PB_DISKOP_LIST_DOWN); - - hideScrollBar(SB_DISKOP_LIST); - hideTextBox(TB_DISKOP_FILENAME); - hideRadioButtonGroup(RB_GROUP_DISKOP_ITEM); - hideRadioButtonGroup(RB_GROUP_DISKOP_MOD_SAVEAS); - hideRadioButtonGroup(RB_GROUP_DISKOP_INS_SAVEAS); - hideRadioButtonGroup(RB_GROUP_DISKOP_SMP_SAVEAS); - hideRadioButtonGroup(RB_GROUP_DISKOP_PAT_SAVEAS); - hideRadioButtonGroup(RB_GROUP_DISKOP_TRK_SAVEAS); - - editor.ui.diskOpShown = false; -} - -void exitDiskOpScreen(void) -{ - hideDiskOpScreen(); - editor.ui.oldTopLeftScreen = 0; // disk op. ignores previously opened top screens - showTopScreen(true); -} - -void toggleDiskOpScreen(void) -{ - if (editor.ui.diskOpShown) - exitDiskOpScreen(); - else - showDiskOpScreen(); -} - -void sbDiskOpSetPos(uint32_t pos) -{ - if ((int32_t)pos != FReq_DirPos && FReq_FileCount > DISKOP_ENTRY_NUM) - { - FReq_DirPos = (int32_t)pos; - diskOp_DrawDirectory(); - } -} - -void pbDiskOpListUp(void) -{ - if (FReq_DirPos > 0 && FReq_FileCount > DISKOP_ENTRY_NUM) - scrollBarScrollUp(SB_DISKOP_LIST, 1); -} - -void pbDiskOpListDown(void) -{ - if (FReq_DirPos < FReq_FileCount-DISKOP_ENTRY_NUM && FReq_FileCount > DISKOP_ENTRY_NUM) - scrollBarScrollDown(SB_DISKOP_LIST, 1); -} - -void pbDiskOpParent(void) -{ - diskOpGoParent(); -} - -void pbDiskOpRoot(void) -{ -#ifdef _WIN32 - openDirectory(L"\\"); -#else - openDirectory("/"); -#endif -} - -void pbDiskOpShowAll(void) -{ - FReq_ShowAllFiles = true; - editor.diskOpReadDir = true; // refresh dir -} - -#ifdef _WIN32 -void pbDiskOpDrive1(void) { openDrive(logicalDriveNames[driveIndexes[0]]); } -void pbDiskOpDrive2(void) { openDrive(logicalDriveNames[driveIndexes[1]]); } -void pbDiskOpDrive3(void) { openDrive(logicalDriveNames[driveIndexes[2]]); } -void pbDiskOpDrive4(void) { openDrive(logicalDriveNames[driveIndexes[3]]); } -void pbDiskOpDrive5(void) { openDrive(logicalDriveNames[driveIndexes[4]]); } -void pbDiskOpDrive6(void) { openDrive(logicalDriveNames[driveIndexes[5]]); } -void pbDiskOpDrive7(void) { openDrive(logicalDriveNames[driveIndexes[6]]); } -void pbDiskOpDrive8(void) { openDrive(logicalDriveNames[driveIndexes[7]]); } -#endif - -void pbDiskOpDelete(void) -{ - setMouseMode(MOUSE_MODE_DELETE); -} - -void pbDiskOpRename(void) -{ - setMouseMode(MOUSE_MODE_RENAME); -} - -void pbDiskOpMakeDir(void) -{ - FReq_NameTemp[0] = '\0'; - if (inputBox(1, "Enter directoryname:", FReq_NameTemp, PATH_MAX - 1) == 1) - { - if (FReq_NameTemp[0] == '\0') - { - okBox(0, "System message", "Name can't be empty!"); - return; - } - - if (makeDirAnsi(FReq_NameTemp)) - editor.diskOpReadDir = true; - else - okBox(0, "System message", "Couldn't create directory: Access denied, or a dir with the same name already exists!"); - } -} - -void pbDiskOpRefresh(void) -{ - editor.diskOpReadDir = true; // refresh dir -#ifdef _WIN32 - setupDiskOpDrives(); -#endif -} - -void pbDiskOpSetPath(void) -{ - FReq_NameTemp[0] = '\0'; - if (inputBox(1, "Enter new directory path:", FReq_NameTemp, PATH_MAX - 1) == 1) - { - if (FReq_NameTemp[0] == '\0') - { - okBox(0, "System message", "Name can't be empty!"); - return; - } - - if (chdir(FReq_NameTemp) == 0) - editor.diskOpReadDir = true; - else - okBox(0, "System message", "Couldn't set directory path!"); - } -} - -void pbDiskOpExit(void) -{ - exitDiskOpScreen(); -} - -void rbDiskOpModule(void) -{ - checkRadioButton(RB_DISKOP_MODULE); - setDiskOpItem(DISKOP_ITEM_MODULE); -} - -void rbDiskOpInstr(void) -{ - checkRadioButton(RB_DISKOP_INSTR); - setDiskOpItem(DISKOP_ITEM_INSTR); -} - -void rbDiskOpSample(void) -{ - checkRadioButton(RB_DISKOP_SAMPLE); - setDiskOpItem(DISKOP_ITEM_SAMPLE); -} - -void rbDiskOpPattern(void) -{ - checkRadioButton(RB_DISKOP_PATTERN); - setDiskOpItem(DISKOP_ITEM_PATTERN); -} - -void rbDiskOpTrack(void) -{ - checkRadioButton(RB_DISKOP_TRACK); - setDiskOpItem(DISKOP_ITEM_TRACK); -} - -void rbDiskOpModSaveMod(void) -{ - editor.moduleSaveMode = MOD_SAVE_MODE_MOD; - checkRadioButton(RB_DISKOP_MOD_SAVEAS_MOD); - diskOpChangeFilenameExt(".mod"); - - updateCurrSongFilename(); // for window title - updateWindowTitle(true); -} - -void rbDiskOpModSaveXm(void) -{ - editor.moduleSaveMode = MOD_SAVE_MODE_XM; - checkRadioButton(RB_DISKOP_MOD_SAVEAS_XM); - diskOpChangeFilenameExt(".xm"); - - updateCurrSongFilename(); // for window title - updateWindowTitle(true); -} - -void rbDiskOpModSaveWav(void) -{ - editor.moduleSaveMode = MOD_SAVE_MODE_WAV; - checkRadioButton(RB_DISKOP_MOD_SAVEAS_WAV); - diskOpChangeFilenameExt(".wav"); - - updateCurrSongFilename(); // for window title - updateWindowTitle(true); -} - -void rbDiskOpSmpSaveRaw(void) -{ - editor.sampleSaveMode = SMP_SAVE_MODE_RAW; - checkRadioButton(RB_DISKOP_SMP_SAVEAS_RAW); - diskOpChangeFilenameExt(".raw"); -} - -void rbDiskOpSmpSaveIff(void) -{ - editor.sampleSaveMode = SMP_SAVE_MODE_IFF; - checkRadioButton(RB_DISKOP_SMP_SAVEAS_IFF); - diskOpChangeFilenameExt(".iff"); -} - -void rbDiskOpSmpSaveWav(void) -{ - editor.sampleSaveMode = SMP_SAVE_MODE_WAV; - checkRadioButton(RB_DISKOP_SMP_SAVEAS_WAV); - diskOpChangeFilenameExt(".wav"); -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#define _FILE_OFFSET_BITS 64 + +#include +#include +#include +#ifdef _WIN32 +#define WIN32_MEAN_AND_LEAN +#include +#include +#include +#include // SHGetFolderPathW() +#else +#include +#include +#include // for fts_open() and stuff in recursiveDelete() +#include +#include +#endif +#include +#include +#include "ft2_header.h" +#include "ft2_unicode.h" +#include "ft2_config.h" +#include "ft2_mouse.h" +#include "ft2_gui.h" +#include "ft2_pattern_ed.h" +#include "ft2_sample_loader.h" +#include "ft2_sample_saver.h" +#include "ft2_diskop.h" +#include "ft2_wav_renderer.h" +#include "ft2_module_loader.h" +#include "ft2_module_saver.h" +#include "ft2_events.h" +#include "ft2_video.h" +#include "ft2_inst_ed.h" + +// hide POSIX warnings +#ifdef _MSC_VER +#pragma warning(disable: 4996) +#endif + +#define FILENAME_TEXT_X 170 +#define FILESIZE_TEXT_X 295 +#define DISKOP_MAX_DRIVE_BUTTONS 8 + +#ifdef _WIN32 +#define PARENT_DIR_STR L".." +static HANDLE hFind; +#else +#define PARENT_DIR_STR ".." +static DIR *hFind; +#endif + +// "look for file" flags +enum +{ + LFF_DONE = 0, + LFF_SKIP = 1, + LFF_OK = 2 +}; + +typedef struct DirRec +{ + UNICHAR *nameU; + bool isDir; + int32_t filesize; +} DirRec; + +static char FReq_SysReqText[196], *FReq_FileName, *FReq_NameTemp; +static char *modTmpFName, *insTmpFName, *smpTmpFName, *patTmpFName, *trkTmpFName; +static char *modTmpFNameUTF8; // for window title +static uint8_t FReq_Item; +static bool FReq_ShowAllFiles; +static int32_t FReq_EntrySelected = -1, FReq_FileCount, FReq_DirPos, lastMouseY; +static UNICHAR *FReq_CurPathU, *FReq_ModCurPathU, *FReq_InsCurPathU, *FReq_SmpCurPathU, *FReq_PatCurPathU, *FReq_TrkCurPathU; +static DirRec *FReq_Buffer; +static SDL_Thread *thread; + +static void setDiskOpItem(uint8_t item); + +int32_t getFileSize(UNICHAR *fileNameU) // returning -1 = filesize over 2GB +{ +#ifdef _WIN32 + FILE *f; +#else + struct stat st; +#endif + int64_t fSize; + +#ifdef _WIN32 + f = UNICHAR_FOPEN(fileNameU, "rb"); + if (f == NULL) + return 0; + + _fseeki64(f, 0, SEEK_END); + fSize = _ftelli64(f); + fclose(f); +#else + if (stat(fileNameU, &st) != 0) + return 0; + + fSize = (int64_t)(st.st_size); +#endif + if (fSize < 0) + fSize = 0; + + if (fSize > INT32_MAX) + return -1; + + return fSize & 0xFFFFFFFF; +} + +uint8_t getDiskOpItem(void) +{ + return FReq_Item; +} + +char *getCurrSongFilename(void) // for window title +{ + return modTmpFNameUTF8; +} + +void updateCurrSongFilename(void) // for window title +{ + if (modTmpFNameUTF8 != NULL) + { + free(modTmpFNameUTF8); + modTmpFNameUTF8 = NULL; + } + + if (modTmpFName == NULL) + return; + + modTmpFNameUTF8 = cp437ToUtf8(modTmpFName); +} + +// drive buttons for Windows +#ifdef _WIN32 +static char logicalDriveNames[26][3] = +{ + "A:", "B:", "C:", "D:", "E:", "F:", "G:", "H:", "I:", "J:", "K:", "L:", "M:", + "N:", "O:", "P:", "Q:", "R:", "S:", "T:", "U:", "V:", "W:", "X:", "Y:", "Z:" +}; +static uint32_t numLogicalDrives; +static uint32_t driveIndexes[DISKOP_MAX_DRIVE_BUTTONS]; +#endif + +char *getDiskOpFilename(void) +{ + return FReq_FileName; +} + +const UNICHAR *getDiskOpCurPath(void) +{ + return FReq_CurPathU; +} + +const UNICHAR *getDiskOpModPath(void) +{ + return FReq_ModCurPathU; +} + +const UNICHAR *getDiskOpSmpPath(void) +{ + return FReq_SmpCurPathU; +} + +static void setupInitialPaths(void) +{ +#ifdef _WIN32 + UNICHAR pathU[PATH_MAX + 2]; +#endif + + // the UNICHAR paths are already zeroed out + +#ifdef _WIN32 + if (config.modulesPath[0] != '\0') MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, config.modulesPath, -1, FReq_ModCurPathU, 80); + if (config.instrPath[0] != '\0') MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, config.instrPath, -1, FReq_InsCurPathU, 80); + if (config.samplesPath[0] != '\0') MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, config.samplesPath, -1, FReq_SmpCurPathU, 80); + if (config.patternsPath[0] != '\0') MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, config.patternsPath, -1, FReq_PatCurPathU, 80); + if (config.tracksPath[0] != '\0') MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, config.tracksPath, -1, FReq_TrkCurPathU, 80); +#else + if (config.modulesPath[0] != '\0') strncpy(FReq_ModCurPathU, config.modulesPath, 80); + if (config.instrPath[0] != '\0') strncpy(FReq_InsCurPathU, config.instrPath, 80); + if (config.samplesPath[0] != '\0') strncpy(FReq_SmpCurPathU, config.samplesPath, 80); + if (config.patternsPath[0] != '\0') strncpy(FReq_PatCurPathU, config.patternsPath, 80); + if (config.tracksPath[0] != '\0') strncpy(FReq_TrkCurPathU, config.tracksPath, 80); +#endif + + // set initial path to user directory +#ifdef _WIN32 + if (SHGetFolderPathW(NULL, CSIDL_PROFILE, NULL, 0, pathU) >= 0) + UNICHAR_CHDIR(pathU); +#else + UNICHAR_CHDIR(getenv("HOME")); +#endif + + // if present in config, set custom "modules" path + if (UNICHAR_CHDIR(FReq_ModCurPathU) != 0) + UNICHAR_GETCWD(FReq_ModCurPathU, PATH_MAX); + + if (UNICHAR_CHDIR(FReq_InsCurPathU) != 0) UNICHAR_STRCPY(FReq_InsCurPathU, FReq_ModCurPathU); + if (UNICHAR_CHDIR(FReq_SmpCurPathU) != 0) UNICHAR_STRCPY(FReq_SmpCurPathU, FReq_ModCurPathU); + if (UNICHAR_CHDIR(FReq_PatCurPathU) != 0) UNICHAR_STRCPY(FReq_PatCurPathU, FReq_ModCurPathU); + if (UNICHAR_CHDIR(FReq_TrkCurPathU) != 0) UNICHAR_STRCPY(FReq_TrkCurPathU, FReq_ModCurPathU); + + UNICHAR_CHDIR(FReq_ModCurPathU); // set back after testing +} + +static void freeDirRecBuffer(void) +{ + if (FReq_Buffer != NULL) + { + for (int32_t i = 0; i < FReq_FileCount; i++) + { + if (FReq_Buffer[i].nameU != NULL) + free(FReq_Buffer[i].nameU); + } + + free(FReq_Buffer); + FReq_Buffer = NULL; + } + + FReq_FileCount = 0; +} + +void freeDiskOp(void) +{ + if (editor.tmpFilenameU != NULL) + { + free(editor.tmpFilenameU); + editor.tmpFilenameU = NULL; + } + + if (editor.tmpInstrFilenameU != NULL) + { + free(editor.tmpInstrFilenameU); + editor.tmpInstrFilenameU = NULL; + } + + if (modTmpFName != NULL) { free(modTmpFName); modTmpFName = NULL; } + if (insTmpFName != NULL) { free(insTmpFName); insTmpFName = NULL; } + if (smpTmpFName != NULL) { free(smpTmpFName); smpTmpFName = NULL; } + if (patTmpFName != NULL) { free(patTmpFName); patTmpFName = NULL; } + if (trkTmpFName != NULL) { free(trkTmpFName); trkTmpFName = NULL; } + if (FReq_NameTemp != NULL) { free(FReq_NameTemp); FReq_NameTemp = NULL; } + if (FReq_ModCurPathU != NULL) { free(FReq_ModCurPathU); FReq_ModCurPathU = NULL; } + if (FReq_InsCurPathU != NULL) { free(FReq_InsCurPathU); FReq_InsCurPathU = NULL; } + if (FReq_SmpCurPathU != NULL) { free(FReq_SmpCurPathU); FReq_SmpCurPathU = NULL; } + if (FReq_PatCurPathU != NULL) { free(FReq_PatCurPathU); FReq_PatCurPathU = NULL; } + if (FReq_TrkCurPathU != NULL) { free(FReq_TrkCurPathU); FReq_TrkCurPathU = NULL; } + if (modTmpFNameUTF8 != NULL) { free(modTmpFNameUTF8); modTmpFNameUTF8 = NULL; } + + freeDirRecBuffer(); +} + +bool setupDiskOp(void) +{ + modTmpFName = (char *)calloc(PATH_MAX + 1, sizeof (char)); + insTmpFName = (char *)calloc(PATH_MAX + 1, sizeof (char)); + smpTmpFName = (char *)calloc(PATH_MAX + 1, sizeof (char)); + patTmpFName = (char *)calloc(PATH_MAX + 1, sizeof (char)); + trkTmpFName = (char *)calloc(PATH_MAX + 1, sizeof (char)); + FReq_NameTemp = (char *)calloc(PATH_MAX + 1, sizeof (char)); + FReq_ModCurPathU = (UNICHAR *)calloc(PATH_MAX + 2, sizeof (UNICHAR)); + FReq_InsCurPathU = (UNICHAR *)calloc(PATH_MAX + 2, sizeof (UNICHAR)); + FReq_SmpCurPathU = (UNICHAR *)calloc(PATH_MAX + 2, sizeof (UNICHAR)); + FReq_PatCurPathU = (UNICHAR *)calloc(PATH_MAX + 2, sizeof (UNICHAR)); + FReq_TrkCurPathU = (UNICHAR *)calloc(PATH_MAX + 2, sizeof (UNICHAR)); + + if (modTmpFName == NULL || insTmpFName == NULL || smpTmpFName == NULL || patTmpFName == NULL || + trkTmpFName == NULL || FReq_NameTemp == NULL || FReq_ModCurPathU == NULL || + FReq_InsCurPathU == NULL || FReq_SmpCurPathU == NULL || FReq_PatCurPathU == NULL || + FReq_TrkCurPathU == NULL) + { + // allocated memory is free'd lateron + showErrorMsgBox("Not enough memory!"); + return false; + } + + strcpy(modTmpFName, "untitled.xm"); + strcpy(insTmpFName, "untitled.xi"); + strcpy(smpTmpFName, "untitled.wav"); + strcpy(patTmpFName, "untitled.xp"); + strcpy(trkTmpFName, "untitled.xt"); + + setupInitialPaths(); + setDiskOpItem(0); + + updateCurrSongFilename(); // for window title + updateWindowTitle(true); + + return true; +} + +int32_t getExtOffset(char *s, int32_t stringLen) // get byte offset of file extension (last '.') +{ + if (s == NULL || stringLen < 1) + return -1; + + for (int32_t i = stringLen - 1; i >= 0; i--) + { + if (i != 0 && s[i] == '.') + return i; + } + + return -1; +} + +static void removeQuestionmarksFromString(char *s) +{ + int32_t len; + + if (s == NULL || *s == '\0') + return; + + len = (int32_t)strlen(s); + for (int32_t i = 0; i < len; i++) + { + if (s[i] == '?') + s[i] = ' ' ; + } +} + +#ifdef _WIN32 // WINDOWS SPECIFIC FILE OPERATION ROUTINES + +bool fileExistsAnsi(char *str) +{ + int32_t retVal; + UNICHAR *strU; + + strU = cp437ToUnichar(str); + if (strU == NULL) + return false; + + retVal = PathFileExistsW(strU); + free(strU); + + return retVal; +} + +static bool deleteDirRecursive(UNICHAR *strU) +{ + SHFILEOPSTRUCTW shfo; + + memset(&shfo, 0, sizeof (shfo)); + shfo.wFunc = FO_DELETE; + shfo.fFlags = FOF_SILENT | FOF_NOERRORUI | FOF_NOCONFIRMATION; + shfo.pFrom = strU; + + return (SHFileOperationW(&shfo) == 0); +} + +static bool makeDirAnsi(char *str) +{ + int32_t retVal; + UNICHAR *strU; + + strU = cp437ToUnichar(str); + if (strU == NULL) + return false; + + retVal = _wmkdir(strU); + free(strU); + + return (retVal == 0); +} + +static bool renameAnsi(UNICHAR *oldNameU, char *newName) +{ + int32_t retVal; + UNICHAR *newNameU; + + newNameU = cp437ToUnichar(newName); + if (newNameU == NULL) + return false; + + retVal = UNICHAR_RENAME(oldNameU, newNameU); + free(newNameU); + + return (retVal == 0); +} + +static void setupDiskOpDrives(void) // Windows only +{ + uint16_t i; + uint32_t drivesBitmask; + + fillRect(134, 29, 31, 111, PAL_DESKTOP); + + numLogicalDrives = 0; + + // get number of drives and drive names + drivesBitmask = GetLogicalDrives(); + for (i = 0; i < 8*sizeof (uint32_t); i++) + { + if ((drivesBitmask & (1 << i)) != 0) + { + driveIndexes[numLogicalDrives++] = i; + if (numLogicalDrives == DISKOP_MAX_DRIVE_BUTTONS) + break; + } + } + + // hide all buttons + for (i = 0; i < DISKOP_MAX_DRIVE_BUTTONS; i++) + hidePushButton(PB_DISKOP_DRIVE1 + i); + + // set button names and show buttons + for (i = 0; i < numLogicalDrives; i++) + { + pushButtons[PB_DISKOP_DRIVE1 + i].caption = logicalDriveNames[driveIndexes[i]]; + showPushButton(PB_DISKOP_DRIVE1 + i); + } +} + +static void openDrive(char *str) // Windows only +{ + if (mouse.mode == MOUSE_MODE_DELETE) + { + okBox(8, "System complaint", "Very funny."); + return; + } + + if (str == NULL || *str == '\0') + { + okBox(0, "System message", "Couldn't open drive!"); + return; + } + + if (chdir(str) != 0) + okBox(0, "System message", "Couldn't open drive! Please make sure there's a disk in it."); + else + editor.diskOpReadDir = true; +} + +#else // NON-WINDOWS SPECIFIC FILE OPERATION ROUTINES + +bool fileExistsAnsi(char *str) +{ + int32_t retVal; + UNICHAR *strU; + + strU = cp437ToUnichar(str); + if (strU == NULL) + return false; + + retVal = access(strU, F_OK); + free(strU); + + return (retVal != -1); +} + +static bool deleteDirRecursive(UNICHAR *strU) +{ + int32_t ret; + FTS *ftsp; + FTSENT *curr; + char *files[] = { (char *)(strU), NULL }; + + ftsp = NULL; + + ftsp = fts_open(files, FTS_NOCHDIR | FTS_PHYSICAL | FTS_XDEV, NULL); + if (!ftsp) + return false; + + ret = true; + while ((curr = fts_read(ftsp))) + { + switch (curr->fts_info) + { + default: + case FTS_NS: + case FTS_DNR: + case FTS_ERR: + ret = false; + break; + + case FTS_D: + case FTS_DC: + case FTS_DOT: + case FTS_NSOK: + break; + + case FTS_DP: + case FTS_F: + case FTS_SL: + case FTS_SLNONE: + case FTS_DEFAULT: + { + if (remove(curr->fts_accpath) < 0) + ret = false; + } + break; + } + } + + if (ftsp != NULL) + fts_close(ftsp); + + return ret; +} + +static bool makeDirAnsi(char *str) +{ + int32_t retVal; + UNICHAR *strU; + + strU = cp437ToUnichar(str); + if (strU == NULL) + return false; + + retVal = mkdir(str, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); + free(strU); + + return (retVal == 0); +} + +static bool renameAnsi(UNICHAR *oldNameU, char *newName) +{ + int32_t retVal; + UNICHAR *newNameU; + + newNameU = cp437ToUnichar(newName); + if (newNameU == NULL) + return false; + + retVal = UNICHAR_RENAME(oldNameU, newNameU); + free(newNameU); + + return (retVal == 0); +} +#endif + +static void openDirectory(UNICHAR *strU) +{ + if (strU == NULL || UNICHAR_STRLEN(strU) == 0) + { + okBox(0, "System message", "Couldn't open directory! No permission or in use?"); + return; + } + + if (UNICHAR_CHDIR(strU) != 0) + okBox(0, "System message", "Couldn't open directory! No permission or in use?"); + else + editor.diskOpReadDir = true; +} + +bool diskOpGoParent(void) +{ + if (chdir("..") == 0) + { + editor.diskOpReadDir = true; + FReq_EntrySelected = -1; + + return true; + } + + return false; +} + +static char *getFilenameFromPath(char *p) +{ + int32_t i, len; + + if (p == NULL || p[0] == '\0') + return p; + + len = (int32_t)strlen(p); + if (len < 2 || p[len-1] == DIR_DELIMITER) + return p; + + // search for last directory delimiter + for (i = len - 1; i >= 0; i--) + { + if (p[i] == DIR_DELIMITER) + break; + } + + if (i != 0) + p += i+1; // we found a directory delimiter - skip to the last one + + return p; +} + +void sanitizeFilename(const char *src) +{ + // some of these are legal on GNU/Linux and macOS, but whatever... + const char illegalChars[] = "\\/:*?\"<>|"; + char *ptr; + + if (src == NULL || src[0] == '\0') + return; + + // convert illegal characters to space (for making a filename the OS will accept) + while ((ptr = (char *)strpbrk(src, illegalChars)) != NULL) + *ptr = ' '; +} + +void diskOpSetFilename(uint8_t type, UNICHAR *pathU) +{ + char *ansiPath, *filename; + + ansiPath = unicharToCp437(pathU, true); + if (ansiPath == NULL) + return; + + filename = getFilenameFromPath(ansiPath); + if (strlen(filename) > PATH_MAX-1) + { + free(ansiPath); + return; // filename is too long, don't bother to copy it over + } + + sanitizeFilename(filename); + + switch (type) + { + default: + case DISKOP_ITEM_MODULE: + { + strcpy(modTmpFName, filename); + + updateCurrSongFilename(); // for window title + updateWindowTitle(true); + } + break; + + case DISKOP_ITEM_INSTR: + strcpy(insTmpFName, filename); + break; + + case DISKOP_ITEM_SAMPLE: + strcpy(smpTmpFName, filename); + break; + + case DISKOP_ITEM_PATTERN: + strcpy(patTmpFName, filename); + break; + + case DISKOP_ITEM_TRACK: + strcpy(trkTmpFName, filename); + break; + } + + free(ansiPath); + + if (editor.ui.diskOpShown) + drawTextBox(TB_DISKOP_FILENAME); +} + +static void openFile(UNICHAR *filenameU, bool songModifiedCheck) +{ + int32_t filesize; + FILE *f; + + // first check if we can actually open the requested file + f = UNICHAR_FOPEN(filenameU, "rb"); + if (f == NULL) + { + okBox(0, "System message", "Couldn't open file/directory! No permission or in use?"); + return; + } + fclose(f); + + filesize = getFileSize(filenameU); + if (filesize == -1) // >2GB + { + okBox(0, "System message", "The file is too big and can't be loaded (over 2GB)."); + return; + } + + if (filesize >= 128L*1024*1024) // 128MB + { + if (okBox(2, "System request", "Are you sure you want to load such a big file?") != 1) + return; + } + + // file is readable, handle file... + switch (FReq_Item) + { + default: + case DISKOP_ITEM_MODULE: + { + if (songModifiedCheck && song.isModified) + { + // remove file selection + FReq_EntrySelected = -1; + diskOp_DrawDirectory(); + + if (okBox(2, "System request", "You have unsaved changes in your song. Load new song and lose all changes?") != 1) + return; + } + + editor.loadMusicEvent = EVENT_LOADMUSIC_DISKOP; + loadMusic(filenameU); + } + break; + + case DISKOP_ITEM_INSTR: + loadInstr(filenameU); + break; + + case DISKOP_ITEM_SAMPLE: + loadSample(filenameU, editor.curSmp, false); + break; + + case DISKOP_ITEM_PATTERN: + loadPattern(filenameU); + break; + + case DISKOP_ITEM_TRACK: + loadTrack(filenameU); + break; + } +} + +static void removeFilenameExt(char *name) +{ + int32_t extOffset, len; + + if (name == NULL || *name == '\0') + return; + + len = (int32_t)strlen(name); + + extOffset = getExtOffset(name, len); + if (extOffset != -1) + name[extOffset] = '\0'; +} + +void changeFilenameExt(char *name, char *ext, int32_t nameMaxLen) +{ + int32_t len, extLen; + + if (name == NULL || name[0] == '\0' || ext == NULL) + return; + + removeFilenameExt(name); + + len = (int32_t)strlen(name); + extLen = (int32_t)strlen(ext); + + if (len + extLen > nameMaxLen-1) + name[(nameMaxLen-1) - extLen] = '\0'; + + strcat(name, ext); + + if (editor.ui.diskOpShown) + diskOp_DrawDirectory(); +} + +void diskOpChangeFilenameExt(char *ext) +{ + changeFilenameExt(FReq_FileName, ext, PATH_MAX); + if (editor.ui.diskOpShown) + diskOp_DrawDirectory(); +} + +void trimEntryName(char *name, bool isDir) +{ + char extBuffer[24]; + int32_t j, extOffset, extLen; + + j = (int32_t)strlen(name); + extOffset = getExtOffset(name, j); + extLen = (int32_t)strlen(&name[extOffset]); + j--; + + if (isDir) + { + // directory + while (textWidth(name) > 160-8 && j >= 2) + { + name[j-2] = '.'; + name[j-1] = '.'; + name[j-0] = '\0'; + j--; + } + + return; + } + + if (extOffset != -1 && extLen <= 4) + { + // has extension + sprintf(extBuffer, ".. %s", &name[extOffset]); // "testtestte... .xm" + + extLen = (int32_t)strlen(extBuffer); + while (textWidth(name) >= FILESIZE_TEXT_X-FILENAME_TEXT_X && j >= extLen+1) + { + memcpy(&name[j - extLen], extBuffer, extLen + 1); + j--; + } + } + else + { + // no extension + while (textWidth(name) >= FILESIZE_TEXT_X-FILENAME_TEXT_X && j >= 2) + { + name[j-2] = '.'; + name[j-1] = '.'; + name[j-0] = '\0'; + j--; + } + } +} + +static void createOverwriteText(char *name) +{ + char nameTmp[128]; + uint32_t nameLen; + + // read entry name to a small buffer + nameLen = (uint32_t)strlen(name); + memcpy(nameTmp, name, (nameLen >= sizeof (nameTmp)) ? sizeof (nameTmp) : (nameLen + 1)); + nameTmp[sizeof (nameTmp) - 1] = '\0'; + + trimEntryName(nameTmp, false); + + sprintf(FReq_SysReqText, "Overwrite file \"%s\"?", nameTmp); +} + +static void diskOpSave(bool checkOverwrite) +{ + UNICHAR *fileNameU; + + if (FReq_FileName[0] == '\0') + { + okBox(0, "System message", "Filename can't be empty!"); + return; + } + + // test if the very first character has a dot... + if (FReq_FileName[0] == '.') + { + okBox(0, "System message", "The very first character in the filename can't be '.' (dot)!"); + return; + } + + // test for illegal file name + if (FReq_FileName[0] == '\0' || strpbrk(FReq_FileName, "\\/:*?\"<>|") != NULL) + { + okBox(0, "System message", "The filename can't contain the following characters: \\ / : * ? \" < > |"); + return; + } + + switch (FReq_Item) + { + default: + case DISKOP_ITEM_MODULE: + { + switch (editor.moduleSaveMode) + { + case MOD_SAVE_MODE_MOD: diskOpChangeFilenameExt(".mod"); break; + default: case MOD_SAVE_MODE_XM: diskOpChangeFilenameExt(".xm"); break; + case MOD_SAVE_MODE_WAV: diskOpChangeFilenameExt(".wav"); break; + } + + // enter WAV renderer if needed + if (editor.moduleSaveMode == MOD_SAVE_MODE_WAV) + { + exitDiskOpScreen(); + showWavRenderer(); + return; + } + + if (checkOverwrite && fileExistsAnsi(FReq_FileName)) + { + createOverwriteText(FReq_FileName); + if (okBox(2, "System request", FReq_SysReqText) != 1) + return; + } + + fileNameU = cp437ToUnichar(FReq_FileName); + if (fileNameU == NULL) + { + okBox(0, "System message", "General I/O error during saving! Is the file in use?"); + return; + } + + saveMusic(fileNameU); + free(fileNameU); + // sets editor.diskOpReadDir after thread is done + } + break; + + case DISKOP_ITEM_INSTR: + { + diskOpChangeFilenameExt(".xi"); + + if (checkOverwrite && fileExistsAnsi(FReq_FileName)) + { + createOverwriteText(FReq_FileName); + if (okBox(2, "System request", FReq_SysReqText) != 1) + return; + } + + fileNameU = cp437ToUnichar(FReq_FileName); + if (fileNameU == NULL) + { + okBox(0, "System message", "General I/O error during saving! Is the file in use?"); + return; + } + + saveInstr(fileNameU, editor.curInstr); + free(fileNameU); + // editor.diskOpReadDir is set after thread is done + } + break; + + case DISKOP_ITEM_SAMPLE: + { + switch (editor.sampleSaveMode) + { + case SMP_SAVE_MODE_RAW: diskOpChangeFilenameExt(".raw"); break; + case SMP_SAVE_MODE_IFF: diskOpChangeFilenameExt(".iff"); break; + default: case SMP_SAVE_MODE_WAV: diskOpChangeFilenameExt(".wav"); break; + } + + if (checkOverwrite && fileExistsAnsi(FReq_FileName)) + { + createOverwriteText(FReq_FileName); + if (okBox(2, "System request", FReq_SysReqText) != 1) + return; + } + + fileNameU = cp437ToUnichar(FReq_FileName); + if (fileNameU == NULL) + { + okBox(0, "System message", "General I/O error during saving! Is the file in use?"); + return; + } + + saveSample(fileNameU, SAVE_NORMAL); + free(fileNameU); + // editor.diskOpReadDir is set after thread is done + } + break; + + case DISKOP_ITEM_PATTERN: + { + diskOpChangeFilenameExt(".xp"); + + if (checkOverwrite && fileExistsAnsi(FReq_FileName)) + { + createOverwriteText(FReq_FileName); + if (okBox(2, "System request", FReq_SysReqText) != 1) + return; + } + + fileNameU = cp437ToUnichar(FReq_FileName); + if (fileNameU == NULL) + { + okBox(0, "System message", "General I/O error during saving! Is the file in use?"); + return; + } + + editor.diskOpReadDir = savePattern(fileNameU); + free(fileNameU); + } + break; + + case DISKOP_ITEM_TRACK: + { + diskOpChangeFilenameExt(".xt"); + + if (checkOverwrite && fileExistsAnsi(FReq_FileName)) + { + createOverwriteText(FReq_FileName); + if (okBox(2, "System request", FReq_SysReqText) != 1) + return; + } + + fileNameU = cp437ToUnichar(FReq_FileName); + if (fileNameU == NULL) + { + okBox(0, "System message", "General I/O error during saving! Is the file in use?"); + return; + } + + editor.diskOpReadDir = saveTrack(fileNameU); + free(fileNameU); + } + break; + } +} + +void pbDiskOpSave(void) +{ + diskOpSave(config.cfg_OverwriteWarning ? true : false); // check if about to overwrite +} + +static void fileListPressed(int32_t index) +{ + char *nameTmp; + int8_t mode; + int32_t result, entryIndex; + DirRec *dirEntry; + + entryIndex = FReq_DirPos + index; + if (entryIndex >= FReq_FileCount || FReq_FileCount == 0) + return; // illegal entry + + mode = mouse.mode; + + // set normal mouse cursor + if (mouse.mode != MOUSE_MODE_NORMAL) + setMouseMode(MOUSE_MODE_NORMAL); + + // remove file selection + FReq_EntrySelected = -1; + diskOp_DrawDirectory(); + + dirEntry = &FReq_Buffer[entryIndex]; + switch (mode) + { + // open file/folder + default: + case MOUSE_MODE_NORMAL: + { + if (dirEntry->isDir) + openDirectory(dirEntry->nameU); + else + openFile(dirEntry->nameU, true); + } + break; + + // delete file/folder + case MOUSE_MODE_DELETE: + { + if (!dirEntry->isDir || UNICHAR_STRCMP(dirEntry->nameU, PARENT_DIR_STR)) // don't handle ".." dir + { + nameTmp = unicharToCp437(dirEntry->nameU, true); + if (nameTmp == NULL) + break; + + trimEntryName(nameTmp, dirEntry->isDir); + + if (dirEntry->isDir) + sprintf(FReq_SysReqText, "Delete directory \"%s\"?", nameTmp); + else + sprintf(FReq_SysReqText, "Delete file \"%s\"?", nameTmp); + + free(nameTmp); + + if (okBox(2, "System request", FReq_SysReqText) == 1) + { + if (dirEntry->isDir) + { + result = deleteDirRecursive(dirEntry->nameU); + if (!result) + okBox(0, "System message", "Couldn't delete folder: Access denied!"); + else + editor.diskOpReadDir = true; + } + else + { + result = (UNICHAR_REMOVE(dirEntry->nameU) == 0); + if (!result) + okBox(0, "System message", "Couldn't delete file: Access denied!"); + else + editor.diskOpReadDir = true; + } + } + } + } + break; + + // rename file/folder + case MOUSE_MODE_RENAME: + { + if (dirEntry->isDir || UNICHAR_STRCMP(dirEntry->nameU, PARENT_DIR_STR)) // don't handle ".." dir + { + nameTmp = unicharToCp437(dirEntry->nameU, true); + if (nameTmp == NULL) + break; + + strncpy(FReq_NameTemp, nameTmp, PATH_MAX - 1); + free(nameTmp); + + // in case of UTF8 -> CP437 encoding failure, there can be question marks. Remove them... + removeQuestionmarksFromString(FReq_NameTemp); + + if (inputBox(1, dirEntry->isDir ? "Enter new directory name:" : "Enter new filename:", FReq_NameTemp, PATH_MAX - 1) == 1) + { + if ((FReq_NameTemp == NULL) || (FReq_NameTemp[0] == '\0')) + { + okBox(0, "System message", "New name can't be empty!"); + break; + } + + if (!renameAnsi(dirEntry->nameU, FReq_NameTemp)) + { + if (dirEntry->isDir) + okBox(0, "System message", "Couldn't rename directory: Access denied, or dir already exists!"); + else + okBox(0, "System message", "Couldn't rename file: Access denied, or file already exists!"); + } + else + { + editor.diskOpReadDir = true; + } + } + } + } + break; + } +} + +bool testDiskOpMouseDown(bool mouseHeldDlown) +{ + int32_t tmpEntry, max; + + if (!editor.ui.diskOpShown || FReq_FileCount == 0) + return false; + + max = FReq_FileCount - FReq_DirPos; + if (max > DISKOP_ENTRY_NUM) // needed kludge when mouse-scrolling + max = DISKOP_ENTRY_NUM; + + if (!mouseHeldDlown) + { + FReq_EntrySelected = -1; + + if (mouse.x >= 169 && mouse.x <= 331 && mouse.y >= 4 && mouse.y <= 168) + { + tmpEntry = (mouse.y - 4) / (FONT1_CHAR_H + 1); + if (tmpEntry >= 0 && tmpEntry < max) + { + FReq_EntrySelected = tmpEntry; + diskOp_DrawDirectory(); + } + + mouse.lastUsedObjectType = OBJECT_DISKOPLIST; + return true; + } + + return false; + } + + // handle scrolling if outside of disk op. list area + if (mouse.y < 4) + { + scrollBarScrollUp(SB_DISKOP_LIST, 1); + FReq_EntrySelected = -1; + } + else if (mouse.y > 168) + { + scrollBarScrollDown(SB_DISKOP_LIST, 1); + FReq_EntrySelected = -1; + } + + if (mouse.y == lastMouseY) + return true; + + lastMouseY = mouse.y; + + tmpEntry = (mouse.y - 4) / (FONT1_CHAR_H + 1); + if (mouse.x < 169 || mouse.x > 331 || mouse.y < 4 || tmpEntry < 0 || tmpEntry >= max) + { + FReq_EntrySelected = -1; + diskOp_DrawDirectory(); + + return true; + } + + if (tmpEntry != FReq_EntrySelected) + { + FReq_EntrySelected = tmpEntry; + diskOp_DrawDirectory(); + } + + return true; +} + +void testDiskOpMouseRelease(void) +{ + if (editor.ui.diskOpShown && FReq_EntrySelected != -1) + { + if (mouse.x >= 169 && mouse.x <= 329 && mouse.y >= 4 && mouse.y <= 168) + fileListPressed((mouse.y - 4) / (FONT1_CHAR_H + 1)); + + FReq_EntrySelected = -1; + diskOp_DrawDirectory(); + } +} + +static uint8_t handleEntrySkip(UNICHAR *nameU, bool isDir) +{ + char *name, *extPtr; + int32_t nameLen, extOffset, extLen; + + // skip if illegal name or filesize >32-bit + if (nameU == NULL) + return true; + + name = unicharToCp437(nameU, false); + if (name == NULL) + return true; + + if (name[0] == '\0') + goto skipEntry; + + nameLen = (int32_t)strlen(name); + + // skip ".name" dirs/files + if (nameLen >= 2 && name[0] == '.' && name[1] != '.') + goto skipEntry; + + if (isDir) + { + // skip '.' directory + if (nameLen == 1 && name[0] == '.') + goto skipEntry; + + // macOS/Linux: skip '..' directory if we're in root +#ifndef _WIN32 + if (nameLen == 2 && name[0] == '.' && name[1] == '.') + { + if (FReq_CurPathU[0] == '/' && FReq_CurPathU[1] == '\0') + goto skipEntry; + } +#endif + } + else if (!FReq_ShowAllFiles) + { + extOffset = getExtOffset(name, nameLen); + if (extOffset == -1) + goto skipEntry; + + extLen = (int32_t)strlen(&name[extOffset]); + if (extLen < 3 || extLen > 5) + goto skipEntry; // no possibly known extensions to filter out + + extPtr = &name[extOffset]; + + // decide what entries to keep based on file extension + switch (FReq_Item) + { + default: + case DISKOP_ITEM_MODULE: + { + if (extLen == 3) + { + if (_stricmp(".xm", extPtr) && _stricmp(".ft", extPtr)) + goto skipEntry; // skip, none of the extensions above + } + else if (extLen == 4) + { + if (_stricmp(".nst", extPtr) && _stricmp(".mod", extPtr) && + _stricmp(".s3m", extPtr) && _stricmp(".stm", extPtr) && + _stricmp(".fst", extPtr) && _stricmp(".wav", extPtr)) + { + goto skipEntry; // skip, none of the extensions above + } + } + else + { + goto skipEntry; + } + } + break; + + case DISKOP_ITEM_INSTR: + { + if (extLen == 3) + { + if (_stricmp(".xi", extPtr)) + goto skipEntry; // skip, none of the extensions above + } + else if (extLen == 4) + { + if (_stricmp(".iff", extPtr) && _stricmp(".raw", extPtr) && + _stricmp(".wav", extPtr) && _stricmp(".snd", extPtr) && + _stricmp(".smp", extPtr) && _stricmp(".sam", extPtr) && + _stricmp(".aif", extPtr) && _stricmp(".pat", extPtr)) + { + goto skipEntry; // skip, none of the extensions above + } + } + else if (extLen == 5) + { + if (_stricmp(".aiff", extPtr)) + goto skipEntry; // skip, not the extension above + } + else + { + goto skipEntry; + } + } + break; + + case DISKOP_ITEM_SAMPLE: + { + if (extLen == 4) + { + if (_stricmp(".iff", extPtr) && _stricmp(".raw", extPtr) && + _stricmp(".wav", extPtr) && _stricmp(".snd", extPtr) && + _stricmp(".smp", extPtr) && _stricmp(".sam", extPtr) && + _stricmp(".aif", extPtr)) + { + goto skipEntry; // skip, none of the extensions above + } + } + else if (extLen == 5) + { + if (_stricmp(".aiff", extPtr)) + goto skipEntry; // skip, not the extension above + } + else + { + goto skipEntry; + } + } + break; + + case DISKOP_ITEM_PATTERN: + { + if (extLen == 3) + { + if (_stricmp(".xp", extPtr)) + goto skipEntry; // skip, not the extension above + } + else + { + goto skipEntry; + } + } + break; + + case DISKOP_ITEM_TRACK: + { + if (extLen == 3) + { + if (_stricmp(".xt", extPtr)) + goto skipEntry; // skip, not the extension above + } + else + { + goto skipEntry; + } + } + break; + } + } + + free(name); + return false; // "Show All Files" mode is enabled, don't skip entry + +skipEntry: + free(name); + return true; +} + +static int8_t findFirst(DirRec *searchRec) +{ +#ifdef _WIN32 + WIN32_FIND_DATAW fData; +#else + struct dirent *fData; + struct stat st; + int64_t fSize; +#endif + +#if defined(__sun) || defined(sun) + struct stat s; +#endif + + searchRec->nameU = NULL; // this one must be initialized + +#ifdef _WIN32 + hFind = FindFirstFileW(L"*", &fData); + if (hFind == NULL || hFind == INVALID_HANDLE_VALUE) + return LFF_DONE; + + searchRec->nameU = UNICHAR_STRDUP(fData.cFileName); + if (searchRec->nameU == NULL) + return LFF_SKIP; + + searchRec->filesize = (fData.nFileSizeHigh > 0) ? -1 : fData.nFileSizeLow; + searchRec->isDir = (fData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ? true : false; +#else + hFind = opendir("."); + if (hFind == NULL) + return LFF_DONE; + + fData = readdir(hFind); + if (fData == NULL) + return LFF_DONE; + + searchRec->nameU = UNICHAR_STRDUP(fData->d_name); + if (searchRec->nameU == NULL) + return LFF_SKIP; + + searchRec->filesize = 0; + +#if defined(__sun) || defined(sun) + stat(fData->d_name, &s); + searchRec->isDir = (s.st_mode != S_IFDIR) ? true : false; +#else + searchRec->isDir = (fData->d_type == DT_DIR) ? true : false; +#endif + +#if defined(__sun) || defined(sun) + if (s.st_mode == S_IFLNK) +#else + if (fData->d_type == DT_UNKNOWN || fData->d_type == DT_LNK) +#endif + { + if (stat(fData->d_name, &st) == 0) + { + fSize = (int64_t)st.st_size; + searchRec->filesize = (fSize > INT32_MAX) ? -1 : (fSize & 0xFFFFFFFF); + + if ((st.st_mode & S_IFMT) == S_IFDIR) + searchRec->isDir = true; + } + } + else if (!searchRec->isDir) + { + if (stat(fData->d_name, &st) == 0) + { + fSize = (int64_t)st.st_size; + searchRec->filesize = (fSize > INT32_MAX) ? -1 : (fSize & 0xFFFFFFFF); + } + } +#endif + + if (handleEntrySkip(searchRec->nameU, searchRec->isDir)) + { + // skip file + free(searchRec->nameU); + searchRec->nameU = NULL; + + return LFF_SKIP; + } + + return LFF_OK; +} + +static int8_t findNext(DirRec *searchRec) +{ +#ifdef _WIN32 + WIN32_FIND_DATAW fData; +#else + struct dirent *fData; + struct stat st; + int64_t fSize; +#endif + +#if defined(__sun) || defined(sun) + struct stat s; +#endif + + searchRec->nameU = NULL; // important + +#ifdef _WIN32 + if (hFind == NULL || FindNextFileW(hFind, &fData) == 0) + return LFF_DONE; + + searchRec->nameU = UNICHAR_STRDUP(fData.cFileName); + if (searchRec->nameU == NULL) + return LFF_SKIP; + + searchRec->filesize = (fData.nFileSizeHigh > 0) ? -1 : fData.nFileSizeLow; + searchRec->isDir = (fData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ? true : false; +#else + if (hFind == NULL || (fData = readdir(hFind)) == NULL) + return LFF_DONE; + + searchRec->nameU = UNICHAR_STRDUP(fData->d_name); + if (searchRec->nameU == NULL) + return LFF_SKIP; + + searchRec->filesize = 0; + +#if defined(__sun) || defined(sun) + stat(fData->d_name, &s); + searchRec->isDir = (s.st_mode != S_IFDIR) ? true : false; +#else + searchRec->isDir = (fData->d_type == DT_DIR) ? true : false; +#endif + +#if defined(__sun) || defined(sun) + if (s.st_mode == S_IFLNK) +#else + if (fData->d_type == DT_UNKNOWN || fData->d_type == DT_LNK) +#endif + { + if (stat(fData->d_name, &st) == 0) + { + fSize = (int64_t)st.st_size; + searchRec->filesize = (fSize > INT32_MAX) ? -1 : (fSize & 0xFFFFFFFF); + + if ((st.st_mode & S_IFMT) == S_IFDIR) + searchRec->isDir = true; + } + } + else if (!searchRec->isDir) + { + if (stat(fData->d_name, &st) == 0) + { + fSize = (int64_t)st.st_size; + searchRec->filesize = (fSize > INT32_MAX) ? -1 : (fSize & 0xFFFFFFFF); + } + } +#endif + + if (handleEntrySkip(searchRec->nameU, searchRec->isDir)) + { + // skip file + free(searchRec->nameU); + searchRec->nameU = NULL; + + return LFF_SKIP; + } + + return LFF_OK; +} + +static void findClose(void) +{ + if (hFind != NULL) + { +#ifdef _WIN32 + FindClose(hFind); +#else + closedir(hFind); +#endif + hFind = NULL; + } +} + +static bool swapBufferEntry(int32_t a, int32_t b) // used for sorting +{ + DirRec tmpBuffer; + + if (a >= FReq_FileCount || b >= FReq_FileCount) + return false; + + tmpBuffer = FReq_Buffer[a]; + FReq_Buffer[a] = FReq_Buffer[b]; + FReq_Buffer[b] = tmpBuffer; + + return true; +} + +static char *ach(int32_t rad) // used for sortDirectory() +{ + char *p, *name; + int32_t i, nameLen, extLen; + DirRec *dirEntry; + + dirEntry = &FReq_Buffer[rad]; + + name = unicharToCp437(dirEntry->nameU, true); + if (name == NULL) + return NULL; + + nameLen = (int32_t)strlen(name); + if (nameLen == 0) + { + free(name); + return NULL; + } + + p = (char *)malloc(nameLen + 2); + if (p == NULL) + { + free(name); + return NULL; + } + + if (dirEntry->isDir) + { + // directory + + if (nameLen == 2 && name[0] == '.' && name[1] == '.') + p[0] = 0x01; // make ".." directory first priority + else + p[0] = 0x02; // make second priority + + strcpy(&p[1], name); + + free(name); + return p; + } + else + { + // file + + i = getExtOffset(name, nameLen); + if (config.cfg_SortPriority == 1 || i == -1) + { + // sort by filename + strcpy(p, name); + free(name); + return p; + } + else + { + // sort by filename extension + extLen = nameLen - i; + if (extLen <= 1) + { + strcpy(p, name); + free(name); + return p; + } + + // FILENAME.EXT -> EXT.FILENAME (for sorting) + memcpy(p, &name[i+1], extLen - 1); + memcpy(&p[extLen-1], name, i); + p[nameLen-1] = '\0'; + + free(name); + return p; + } + } +} + +static void sortDirectory(void) +{ + bool didSwap; + char *p1, *p2; + uint32_t offset, limit, i; + + if (FReq_FileCount < 2) + return; // no need to sort + + offset = FReq_FileCount / 2; + while (offset > 0) + { + limit = FReq_FileCount - offset; + do + { + didSwap = false; + for (i = 0; i < limit; i++) + { + p1 = ach(i); + p2 = ach(offset + i); + + if (p1 == NULL || p2 == NULL) + { + if (p1 != NULL) free(p1); + if (p2 != NULL) free(p2); + okBox(0, "System message", "Not enough memory!"); + return; + } + + if (_stricmp(p1, p2) > 0) + { + if (!swapBufferEntry(i, offset + i)) + { + free(p1); + free(p2); + return; + } + + didSwap = true; + } + + free(p1); + free(p2); + } + } + while (didSwap); + + offset /= 2; + } +} + +static uint8_t numDigits32(uint32_t x) +{ + if (x >= 1000000000) return 10; + if (x >= 100000000) return 9; + if (x >= 10000000) return 8; + if (x >= 1000000) return 7; + if (x >= 100000) return 6; + if (x >= 10000) return 5; + if (x >= 1000) return 4; + if (x >= 100) return 3; + if (x >= 10) return 2; + + return 1; +} + +static void printFormattedFilesize(uint16_t x, uint16_t y, uint32_t bufEntry) +{ + char sizeStrBuffer[16]; + int32_t filesize, printFilesize; + + filesize = FReq_Buffer[bufEntry].filesize; + if (filesize == -1) + { + x += 6; + textOut(x, y, PAL_BLCKTXT, ">2GB"); + return; + } + + assert(filesize >= 0); + + if (filesize >= 1024*1024*10) // >= 10MB? + { +forceMB: + printFilesize = (int32_t)ceil(filesize / (1024.0*1024.0)); + x += (4 - numDigits32(printFilesize)) * (FONT1_CHAR_W - 1); + sprintf(sizeStrBuffer, "%dM", printFilesize); + } + else if (filesize >= 1024*10) // >= 10kB? + { + printFilesize = (int32_t)ceil(filesize / 1024.0); + if (printFilesize > 9999) + goto forceMB; // ceil visual overflow kludge + + x += (4 - numDigits32(printFilesize)) * (FONT1_CHAR_W - 1); + sprintf(sizeStrBuffer, "%dk", printFilesize); + } + else // bytes + { + printFilesize = filesize; + x += (5 - numDigits32(printFilesize)) * (FONT1_CHAR_W - 1); + sprintf(sizeStrBuffer, "%d", printFilesize); + } + + textOut(x, y, PAL_BLCKTXT, sizeStrBuffer); +} + +static void displayCurrPath(void) +{ + char *p, *delimiter, *asciiPath; + int32_t j; + uint32_t pathLen; + + fillRect(4, 145, 162, 10, PAL_DESKTOP); + + pathLen = (uint32_t)UNICHAR_STRLEN(FReq_CurPathU); + if (pathLen == 0) + return; + + asciiPath = unicharToCp437(FReq_CurPathU, true); + if (asciiPath == NULL) + { + okBox(0, "System message", "Not enough memory!"); + return; + } + + p = asciiPath; + if (textWidth(p) <= 162) + { + // path fits, print it all + textOut(4, 145, PAL_FORGRND, p); + } + else + { + // path doesn't fit, print drive + ".." + last directory + + memset(FReq_NameTemp, 0, PATH_MAX + 1); +#ifdef _WIN32 + strncpy(FReq_NameTemp, p, 3); + strcat(FReq_NameTemp, ".\001"); // special character in font +#else + strcpy(FReq_NameTemp, "/"); + strcat(FReq_NameTemp, ".."); +#endif + + delimiter = strrchr(p, DIR_DELIMITER); + if (delimiter != NULL) + { +#ifdef _WIN32 + strcat(FReq_NameTemp, delimiter + 1); +#else + strcat(FReq_NameTemp, delimiter); +#endif + } + + j = (int32_t)strlen(FReq_NameTemp); + if (j > 6) + { + j--; + + p = FReq_NameTemp; + while (j >= 6 && textWidth(p) >= 162) + { + p[j - 2] = '.'; + p[j - 1] = '.'; + p[j - 0] = '\0'; + j--; + } + } + + textOutClipX(4, 145, PAL_FORGRND, FReq_NameTemp, 165); + } + + free(asciiPath); +} + +void diskOp_DrawDirectory(void) +{ + char *readName; + uint16_t y; + int32_t bufEntry; + + clearRect(FILENAME_TEXT_X - 1, 4, 162, 164); + drawTextBox(TB_DISKOP_FILENAME); + + if (FReq_EntrySelected != -1) + { + y = 4 + (uint16_t)((FONT1_CHAR_H + 1) * FReq_EntrySelected); + fillRect(FILENAME_TEXT_X - 1, y, 162, FONT1_CHAR_H, PAL_PATTEXT); + } + + displayCurrPath(); +#ifdef _WIN32 + setupDiskOpDrives(); +#endif + + if (FReq_FileCount == 0) + return; + + for (uint16_t i = 0; i < DISKOP_ENTRY_NUM; i++) + { + bufEntry = FReq_DirPos + i; + if (bufEntry >= FReq_FileCount) + break; + + if (FReq_Buffer[bufEntry].nameU == NULL) + continue; + + // convert unichar name to codepage 437 + readName = unicharToCp437(FReq_Buffer[bufEntry].nameU, true); + if (readName == NULL) + continue; + + y = 4 + (i * (FONT1_CHAR_H + 1)); + + // shrink entry name and add ".." if it doesn't fit on screen + trimEntryName(readName, FReq_Buffer[bufEntry].isDir); + + if (FReq_Buffer[bufEntry].isDir) + { + // directory + charOut(FILENAME_TEXT_X, y, PAL_BLCKTXT, DIR_DELIMITER); + textOut(FILENAME_TEXT_X + FONT1_CHAR_W, y, PAL_BLCKTXT, readName); + } + else + { + // filename + textOut(FILENAME_TEXT_X, y, PAL_BLCKTXT, readName); + } + + free(readName); + + if (!FReq_Buffer[bufEntry].isDir) + printFormattedFilesize(FILESIZE_TEXT_X, y, bufEntry); + } + + setScrollBarPos(SB_DISKOP_LIST, FReq_DirPos, true); + setScrollBarEnd(SB_DISKOP_LIST, FReq_FileCount); +} + +static DirRec *bufferCreateEmptyDir(void) // special case: creates a dir entry with a ".." directory +{ + DirRec *dirEntry; + + dirEntry = (DirRec *)malloc(sizeof (DirRec)); + if (dirEntry == NULL) + return NULL; + + dirEntry->nameU = UNICHAR_STRDUP(PARENT_DIR_STR); + if (dirEntry->nameU == NULL) + { + free(dirEntry); + return NULL; + } + + dirEntry->isDir = true; + dirEntry->filesize = 0; + + return dirEntry; +} + +static int32_t SDLCALL diskOp_ReadDirectoryThread(void *ptr) +{ + uint8_t lastFindFileFlag; + DirRec tmpBuffer, *newPtr; + + (void)ptr; + + FReq_DirPos = 0; + + // free old buffer + freeDirRecBuffer(); + + UNICHAR_GETCWD(FReq_CurPathU, PATH_MAX); + + // read first file + lastFindFileFlag = findFirst(&tmpBuffer); + if (lastFindFileFlag != LFF_DONE && lastFindFileFlag != LFF_SKIP) + { + FReq_Buffer = (DirRec *)malloc(sizeof (DirRec) * (FReq_FileCount + 1)); + if (FReq_Buffer == NULL) + { + findClose(); + + okBoxThreadSafe(0, "System message", "Not enough memory!"); + + FReq_Buffer = bufferCreateEmptyDir(); + if (FReq_Buffer != NULL) + FReq_FileCount = 1; + else + okBoxThreadSafe(0, "System message", "Not enough memory!"); + + setMouseBusy(false); + return false; + } + + memcpy(&FReq_Buffer[FReq_FileCount], &tmpBuffer, sizeof (DirRec)); + FReq_FileCount++; + } + + // read remaining files + while (lastFindFileFlag != LFF_DONE) + { + lastFindFileFlag = findNext(&tmpBuffer); + if (lastFindFileFlag != LFF_DONE && lastFindFileFlag != LFF_SKIP) + { + newPtr = (DirRec *)realloc(FReq_Buffer, sizeof (DirRec) * (FReq_FileCount + 1)); + if (newPtr == NULL) + { + freeDirRecBuffer(); + okBoxThreadSafe(0, "System message", "Not enough memory!"); + break; + } + + FReq_Buffer = newPtr; + + memcpy(&FReq_Buffer[FReq_FileCount], &tmpBuffer, sizeof (DirRec)); + FReq_FileCount++; + } + } + + findClose(); + + if (FReq_FileCount > 0) + { + sortDirectory(); + } + else + { + // access denied or out of memory - create parent directory link + FReq_Buffer = bufferCreateEmptyDir(); + if (FReq_Buffer != NULL) + FReq_FileCount = 1; + else + okBoxThreadSafe(0, "System message", "Not enough memory!"); + } + + editor.diskOpReadDone = true; + + setMouseBusy(false); + + return true; +} + +void startDiskOpFillThread(void) +{ + editor.diskOpReadDone = false; + + mouseAnimOn(); + thread = SDL_CreateThread(diskOp_ReadDirectoryThread, NULL, NULL); + if (thread == NULL) + { + editor.diskOpReadDone = true; + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +static void drawSaveAsElements(void) +{ + switch (FReq_Item) + { + default: + case DISKOP_ITEM_MODULE: + { + textOutShadow(19, 101, PAL_FORGRND, PAL_DSKTOP2, "MOD"); + textOutShadow(19, 115, PAL_FORGRND, PAL_DSKTOP2, "XM"); + textOutShadow(19, 129, PAL_FORGRND, PAL_DSKTOP2, "WAV"); + } + break; + + case DISKOP_ITEM_INSTR: + textOutShadow(19, 101, PAL_FORGRND, PAL_DSKTOP2, "XI"); + break; + + case DISKOP_ITEM_SAMPLE: + { + textOutShadow(19, 101, PAL_FORGRND, PAL_DSKTOP2, "RAW"); + textOutShadow(19, 115, PAL_FORGRND, PAL_DSKTOP2, "IFF"); + textOutShadow(19, 129, PAL_FORGRND, PAL_DSKTOP2, "WAV"); + } + break; + + case DISKOP_ITEM_PATTERN: + textOutShadow(19, 101, PAL_FORGRND, PAL_DSKTOP2, "XP"); + break; + + case DISKOP_ITEM_TRACK: + textOutShadow(19, 101, PAL_FORGRND, PAL_DSKTOP2, "XT"); + break; + } +} + +static void setDiskOpItemRadioButtons(void) +{ + uncheckRadioButtonGroup(RB_GROUP_DISKOP_MOD_SAVEAS); + uncheckRadioButtonGroup(RB_GROUP_DISKOP_INS_SAVEAS); + uncheckRadioButtonGroup(RB_GROUP_DISKOP_SMP_SAVEAS); + uncheckRadioButtonGroup(RB_GROUP_DISKOP_PAT_SAVEAS); + uncheckRadioButtonGroup(RB_GROUP_DISKOP_TRK_SAVEAS); + + hideRadioButtonGroup(RB_GROUP_DISKOP_MOD_SAVEAS); + hideRadioButtonGroup(RB_GROUP_DISKOP_INS_SAVEAS); + hideRadioButtonGroup(RB_GROUP_DISKOP_SMP_SAVEAS); + hideRadioButtonGroup(RB_GROUP_DISKOP_PAT_SAVEAS); + hideRadioButtonGroup(RB_GROUP_DISKOP_TRK_SAVEAS); + + if (editor.moduleSaveMode > 3) + editor.moduleSaveMode = 3; + + if (editor.sampleSaveMode > 3) + editor.sampleSaveMode = 3; + + radioButtons[RB_DISKOP_MOD_SAVEAS_MOD + editor.moduleSaveMode].state = RADIOBUTTON_CHECKED; + radioButtons[RB_DISKOP_SMP_SAVEAS_RAW + editor.sampleSaveMode].state = RADIOBUTTON_CHECKED; + + if (FReq_Item == DISKOP_ITEM_INSTR) radioButtons[RB_DISKOP_INS_SAVEAS_XI].state = RADIOBUTTON_CHECKED; + if (FReq_Item == DISKOP_ITEM_PATTERN) radioButtons[RB_DISKOP_PAT_SAVEAS_XP].state = RADIOBUTTON_CHECKED; + if (FReq_Item == DISKOP_ITEM_TRACK) radioButtons[RB_DISKOP_TRK_SAVEAS_XT].state = RADIOBUTTON_CHECKED; + + if (editor.ui.diskOpShown) + { + switch (FReq_Item) + { + default: case DISKOP_ITEM_MODULE: showRadioButtonGroup(RB_GROUP_DISKOP_MOD_SAVEAS); break; + case DISKOP_ITEM_INSTR: showRadioButtonGroup(RB_GROUP_DISKOP_INS_SAVEAS); break; + case DISKOP_ITEM_SAMPLE: showRadioButtonGroup(RB_GROUP_DISKOP_SMP_SAVEAS); break; + case DISKOP_ITEM_PATTERN: showRadioButtonGroup(RB_GROUP_DISKOP_PAT_SAVEAS); break; + case DISKOP_ITEM_TRACK: showRadioButtonGroup(RB_GROUP_DISKOP_TRK_SAVEAS); break; + } + } +} + +static void setDiskOpItem(uint8_t item) +{ + int32_t pathLen; + + hideRadioButtonGroup(RB_GROUP_DISKOP_MOD_SAVEAS); + hideRadioButtonGroup(RB_GROUP_DISKOP_INS_SAVEAS); + hideRadioButtonGroup(RB_GROUP_DISKOP_SMP_SAVEAS); + hideRadioButtonGroup(RB_GROUP_DISKOP_PAT_SAVEAS); + hideRadioButtonGroup(RB_GROUP_DISKOP_TRK_SAVEAS); + + if (item > 4) + item = 4; + + FReq_Item = item; + switch (FReq_Item) + { + default: case DISKOP_ITEM_MODULE: FReq_FileName = modTmpFName; FReq_CurPathU = FReq_ModCurPathU; break; + case DISKOP_ITEM_INSTR: FReq_FileName = insTmpFName; FReq_CurPathU = FReq_InsCurPathU; break; + case DISKOP_ITEM_SAMPLE: FReq_FileName = smpTmpFName; FReq_CurPathU = FReq_SmpCurPathU; break; + case DISKOP_ITEM_PATTERN: FReq_FileName = patTmpFName; FReq_CurPathU = FReq_PatCurPathU; break; + case DISKOP_ITEM_TRACK: FReq_FileName = trkTmpFName; FReq_CurPathU = FReq_TrkCurPathU; break; + } + + pathLen = (int32_t)UNICHAR_STRLEN(FReq_CurPathU); + if (pathLen == 0) + { + memset(FReq_CurPathU, 0, (PATH_MAX + 2) * sizeof (UNICHAR)); + UNICHAR_STRCPY(FReq_CurPathU, FReq_ModCurPathU); + } + else + { + UNICHAR_CHDIR(FReq_CurPathU); + } + + textBoxes[TB_DISKOP_FILENAME].textPtr = FReq_FileName; + + FReq_ShowAllFiles = false; + + if (editor.ui.diskOpShown) + { + editor.diskOpReadDir = true; + + fillRect(4, 101, 40, 38, PAL_DESKTOP); + drawSaveAsElements(); + setDiskOpItemRadioButtons(); + + diskOp_DrawDirectory(); + drawTextBox(TB_DISKOP_FILENAME); + } + else + { + editor.diskOpReadOnOpen = true; + } +} + +static void drawDiskOpScreen(void) +{ + drawFramework(0, 0, 67, 86, FRAMEWORK_TYPE1); + drawFramework(67, 0, 64, 142, FRAMEWORK_TYPE1); + drawFramework(131, 0, 37, 142, FRAMEWORK_TYPE1); + drawFramework(0, 86, 67, 56, FRAMEWORK_TYPE1); + drawFramework(0, 142, 168, 31, FRAMEWORK_TYPE1); + drawFramework(168, 0, 164, 3, FRAMEWORK_TYPE1); + drawFramework(168, 170, 164, 3, FRAMEWORK_TYPE1); + drawFramework(332, 0, 24, 173, FRAMEWORK_TYPE1); + drawFramework(30, 157, 136, 14, FRAMEWORK_TYPE2); + + clearRect(168, 2, 164, 168); + + showPushButton(PB_DISKOP_SAVE); + showPushButton(PB_DISKOP_DELETE); + showPushButton(PB_DISKOP_RENAME); + showPushButton(PB_DISKOP_MAKEDIR); + showPushButton(PB_DISKOP_REFRESH); + showPushButton(PB_DISKOP_EXIT); + showPushButton(PB_DISKOP_PARENT); + showPushButton(PB_DISKOP_ROOT); + showPushButton(PB_DISKOP_SHOW_ALL); + showPushButton(PB_DISKOP_SET_PATH); + showPushButton(PB_DISKOP_LIST_UP); + showPushButton(PB_DISKOP_LIST_DOWN); + + showScrollBar(SB_DISKOP_LIST); + showTextBox(TB_DISKOP_FILENAME); + + textBoxes[TB_DISKOP_FILENAME].textPtr = FReq_FileName; + + if (FReq_Item > 4) + FReq_Item = 4; + + uncheckRadioButtonGroup(RB_GROUP_DISKOP_ITEM); + radioButtons[RB_DISKOP_MODULE + FReq_Item].state = RADIOBUTTON_CHECKED; + showRadioButtonGroup(RB_GROUP_DISKOP_ITEM); + + // item selector + textOutShadow(5, 3, PAL_FORGRND, PAL_DSKTOP2, "Item:"); + textOutShadow(19, 17, PAL_FORGRND, PAL_DSKTOP2, "Module"); + textOutShadow(19, 31, PAL_FORGRND, PAL_DSKTOP2, "Instr."); + textOutShadow(19, 45, PAL_FORGRND, PAL_DSKTOP2, "Sample"); + textOutShadow(19, 59, PAL_FORGRND, PAL_DSKTOP2, "Pattern"); + textOutShadow(19, 73, PAL_FORGRND, PAL_DSKTOP2, "Track"); + + // file format + textOutShadow(5, 89, PAL_FORGRND, PAL_DSKTOP2, "Save as:"); + drawSaveAsElements(); + setDiskOpItemRadioButtons(); + + // filename + textOutShadow(4, 159, PAL_FORGRND, PAL_DSKTOP2, "File:"); + + diskOp_DrawDirectory(); +} + +void showDiskOpScreen(void) +{ + if (editor.ui.extended) + exitPatternEditorExtended(); + + hideTopScreen(); + editor.ui.diskOpShown = true; + editor.ui.scopesShown = false; + + showTopRightMainScreen(); + drawDiskOpScreen(); + + // a flag that says if we need to update the filelist after disk op. was shown + if (editor.diskOpReadOnOpen) + { + editor.diskOpReadOnOpen = false; + startDiskOpFillThread(); + } +} + +void hideDiskOpScreen(void) +{ +#ifdef _WIN32 + for (uint16_t i = 0; i < DISKOP_MAX_DRIVE_BUTTONS; i++) + hidePushButton(PB_DISKOP_DRIVE1 + i); +#endif + + hidePushButton(PB_DISKOP_SAVE); + hidePushButton(PB_DISKOP_DELETE); + hidePushButton(PB_DISKOP_RENAME); + hidePushButton(PB_DISKOP_MAKEDIR); + hidePushButton(PB_DISKOP_REFRESH); + hidePushButton(PB_DISKOP_EXIT); + hidePushButton(PB_DISKOP_PARENT); + hidePushButton(PB_DISKOP_ROOT); + hidePushButton(PB_DISKOP_SHOW_ALL); + hidePushButton(PB_DISKOP_SET_PATH); + hidePushButton(PB_DISKOP_LIST_UP); + hidePushButton(PB_DISKOP_LIST_DOWN); + + hideScrollBar(SB_DISKOP_LIST); + hideTextBox(TB_DISKOP_FILENAME); + hideRadioButtonGroup(RB_GROUP_DISKOP_ITEM); + hideRadioButtonGroup(RB_GROUP_DISKOP_MOD_SAVEAS); + hideRadioButtonGroup(RB_GROUP_DISKOP_INS_SAVEAS); + hideRadioButtonGroup(RB_GROUP_DISKOP_SMP_SAVEAS); + hideRadioButtonGroup(RB_GROUP_DISKOP_PAT_SAVEAS); + hideRadioButtonGroup(RB_GROUP_DISKOP_TRK_SAVEAS); + + editor.ui.diskOpShown = false; +} + +void exitDiskOpScreen(void) +{ + hideDiskOpScreen(); + editor.ui.oldTopLeftScreen = 0; // disk op. ignores previously opened top screens + showTopScreen(true); +} + +void toggleDiskOpScreen(void) +{ + if (editor.ui.diskOpShown) + exitDiskOpScreen(); + else + showDiskOpScreen(); +} + +void sbDiskOpSetPos(uint32_t pos) +{ + if ((int32_t)pos != FReq_DirPos && FReq_FileCount > DISKOP_ENTRY_NUM) + { + FReq_DirPos = (int32_t)pos; + diskOp_DrawDirectory(); + } +} + +void pbDiskOpListUp(void) +{ + if (FReq_DirPos > 0 && FReq_FileCount > DISKOP_ENTRY_NUM) + scrollBarScrollUp(SB_DISKOP_LIST, 1); +} + +void pbDiskOpListDown(void) +{ + if (FReq_DirPos < FReq_FileCount-DISKOP_ENTRY_NUM && FReq_FileCount > DISKOP_ENTRY_NUM) + scrollBarScrollDown(SB_DISKOP_LIST, 1); +} + +void pbDiskOpParent(void) +{ + diskOpGoParent(); +} + +void pbDiskOpRoot(void) +{ +#ifdef _WIN32 + openDirectory(L"\\"); +#else + openDirectory("/"); +#endif +} + +void pbDiskOpShowAll(void) +{ + FReq_ShowAllFiles = true; + editor.diskOpReadDir = true; // refresh dir +} + +#ifdef _WIN32 +void pbDiskOpDrive1(void) { openDrive(logicalDriveNames[driveIndexes[0]]); } +void pbDiskOpDrive2(void) { openDrive(logicalDriveNames[driveIndexes[1]]); } +void pbDiskOpDrive3(void) { openDrive(logicalDriveNames[driveIndexes[2]]); } +void pbDiskOpDrive4(void) { openDrive(logicalDriveNames[driveIndexes[3]]); } +void pbDiskOpDrive5(void) { openDrive(logicalDriveNames[driveIndexes[4]]); } +void pbDiskOpDrive6(void) { openDrive(logicalDriveNames[driveIndexes[5]]); } +void pbDiskOpDrive7(void) { openDrive(logicalDriveNames[driveIndexes[6]]); } +void pbDiskOpDrive8(void) { openDrive(logicalDriveNames[driveIndexes[7]]); } +#endif + +void pbDiskOpDelete(void) +{ + setMouseMode(MOUSE_MODE_DELETE); +} + +void pbDiskOpRename(void) +{ + setMouseMode(MOUSE_MODE_RENAME); +} + +void pbDiskOpMakeDir(void) +{ + FReq_NameTemp[0] = '\0'; + if (inputBox(1, "Enter directory name:", FReq_NameTemp, PATH_MAX - 1) == 1) + { + if (FReq_NameTemp[0] == '\0') + { + okBox(0, "System message", "Name can't be empty!"); + return; + } + + if (makeDirAnsi(FReq_NameTemp)) + editor.diskOpReadDir = true; + else + okBox(0, "System message", "Couldn't create directory: Access denied, or a dir with the same name already exists!"); + } +} + +void pbDiskOpRefresh(void) +{ + editor.diskOpReadDir = true; // refresh dir +#ifdef _WIN32 + setupDiskOpDrives(); +#endif +} + +void pbDiskOpSetPath(void) +{ + FReq_NameTemp[0] = '\0'; + if (inputBox(1, "Enter new directory path:", FReq_NameTemp, PATH_MAX - 1) == 1) + { + if (FReq_NameTemp[0] == '\0') + { + okBox(0, "System message", "Name can't be empty!"); + return; + } + + if (chdir(FReq_NameTemp) == 0) + editor.diskOpReadDir = true; + else + okBox(0, "System message", "Couldn't set directory path!"); + } +} + +void pbDiskOpExit(void) +{ + exitDiskOpScreen(); +} + +void rbDiskOpModule(void) +{ + checkRadioButton(RB_DISKOP_MODULE); + setDiskOpItem(DISKOP_ITEM_MODULE); +} + +void rbDiskOpInstr(void) +{ + checkRadioButton(RB_DISKOP_INSTR); + setDiskOpItem(DISKOP_ITEM_INSTR); +} + +void rbDiskOpSample(void) +{ + checkRadioButton(RB_DISKOP_SAMPLE); + setDiskOpItem(DISKOP_ITEM_SAMPLE); +} + +void rbDiskOpPattern(void) +{ + checkRadioButton(RB_DISKOP_PATTERN); + setDiskOpItem(DISKOP_ITEM_PATTERN); +} + +void rbDiskOpTrack(void) +{ + checkRadioButton(RB_DISKOP_TRACK); + setDiskOpItem(DISKOP_ITEM_TRACK); +} + +void rbDiskOpModSaveMod(void) +{ + editor.moduleSaveMode = MOD_SAVE_MODE_MOD; + checkRadioButton(RB_DISKOP_MOD_SAVEAS_MOD); + diskOpChangeFilenameExt(".mod"); + + updateCurrSongFilename(); // for window title + updateWindowTitle(true); +} + +void rbDiskOpModSaveXm(void) +{ + editor.moduleSaveMode = MOD_SAVE_MODE_XM; + checkRadioButton(RB_DISKOP_MOD_SAVEAS_XM); + diskOpChangeFilenameExt(".xm"); + + updateCurrSongFilename(); // for window title + updateWindowTitle(true); +} + +void rbDiskOpModSaveWav(void) +{ + editor.moduleSaveMode = MOD_SAVE_MODE_WAV; + checkRadioButton(RB_DISKOP_MOD_SAVEAS_WAV); + diskOpChangeFilenameExt(".wav"); + + updateCurrSongFilename(); // for window title + updateWindowTitle(true); +} + +void rbDiskOpSmpSaveRaw(void) +{ + editor.sampleSaveMode = SMP_SAVE_MODE_RAW; + checkRadioButton(RB_DISKOP_SMP_SAVEAS_RAW); + diskOpChangeFilenameExt(".raw"); +} + +void rbDiskOpSmpSaveIff(void) +{ + editor.sampleSaveMode = SMP_SAVE_MODE_IFF; + checkRadioButton(RB_DISKOP_SMP_SAVEAS_IFF); + diskOpChangeFilenameExt(".iff"); +} + +void rbDiskOpSmpSaveWav(void) +{ + editor.sampleSaveMode = SMP_SAVE_MODE_WAV; + checkRadioButton(RB_DISKOP_SMP_SAVEAS_WAV); + diskOpChangeFilenameExt(".wav"); +} diff --git a/src/ft2_diskop.h b/src/ft2_diskop.h index 56029f3..7859dc5 100644 --- a/src/ft2_diskop.h +++ b/src/ft2_diskop.h @@ -1,83 +1,83 @@ -#pragma once - -#include -#include "ft2_unicode.h" - -#define DISKOP_ENTRY_NUM 15 - -enum -{ - DISKOP_ITEM_MODULE = 0, - DISKOP_ITEM_INSTR = 1, - DISKOP_ITEM_SAMPLE = 2, - DISKOP_ITEM_PATTERN = 3, - DISKOP_ITEM_TRACK = 4, - - MOD_SAVE_MODE_MOD = 0, - MOD_SAVE_MODE_XM = 1, - MOD_SAVE_MODE_WAV = 2, - SMP_SAVE_MODE_RAW = 0, - SMP_SAVE_MODE_IFF = 1, - SMP_SAVE_MODE_WAV = 2 -}; - -int32_t getFileSize(UNICHAR *fileName); -uint8_t getDiskOpItem(void); -void updateCurrSongFilename(void); // for window title -char *getCurrSongFilename(void); // for window title -char *getDiskOpFilename(void); -const UNICHAR *getDiskOpCurPath(void); -const UNICHAR *getDiskOpModPath(void); -const UNICHAR *getDiskOpSmpPath(void); -void changeFilenameExt(char *name, char *ext, int32_t nameMaxLen); -void diskOpChangeFilenameExt(char *ext); -void freeDiskOp(void); -bool setupDiskOp(void); -void diskOpSetFilename(uint8_t type, UNICHAR *pathU); -void sanitizeFilename(const char *src); -bool diskOpGoParent(void); -void pbDiskOpRoot(void); -int32_t getExtOffset(char *s, int32_t stringLen); // get byte offset of file extension (last '.') -bool testDiskOpMouseDown(bool mouseHeldDown); -void testDiskOpMouseRelease(void); -void startDiskOpFillThread(void); -void diskOp_DrawDirectory(void); -void showDiskOpScreen(void); -void hideDiskOpScreen(void); -void exitDiskOpScreen(void); -void toggleDiskOpScreen(void); -void sbDiskOpSetPos(uint32_t pos); -void pbDiskOpListUp(void); -void pbDiskOpListDown(void); -void pbDiskOpParent(void); -void pbDiskOpShowAll(void); -#ifdef _WIN32 -void pbDiskOpDrive1(void); -void pbDiskOpDrive2(void); -void pbDiskOpDrive3(void); -void pbDiskOpDrive4(void); -void pbDiskOpDrive5(void); -void pbDiskOpDrive6(void); -void pbDiskOpDrive7(void); -void pbDiskOpDrive8(void); -#endif -void pbDiskOpSave(void); -void pbDiskOpDelete(void); -void pbDiskOpRename(void); -void pbDiskOpMakeDir(void); -void pbDiskOpRefresh(void); -void pbDiskOpSetPath(void); -void pbDiskOpExit(void); -void rbDiskOpModule(void); -void rbDiskOpInstr(void); -void rbDiskOpSample(void); -void rbDiskOpPattern(void); -void rbDiskOpTrack(void); -void rbDiskOpModSaveXm(void); -void rbDiskOpModSaveMod(void); -void rbDiskOpModSaveWav(void); -void rbDiskOpSmpSaveWav(void); -void rbDiskOpSmpSaveRaw(void); -void rbDiskOpSmpSaveIff(void); -void trimEntryName(char *name, bool isDir); -bool fileExistsAnsi(char *str); +#pragma once + +#include +#include "ft2_unicode.h" + +#define DISKOP_ENTRY_NUM 15 + +enum +{ + DISKOP_ITEM_MODULE = 0, + DISKOP_ITEM_INSTR = 1, + DISKOP_ITEM_SAMPLE = 2, + DISKOP_ITEM_PATTERN = 3, + DISKOP_ITEM_TRACK = 4, + + MOD_SAVE_MODE_MOD = 0, + MOD_SAVE_MODE_XM = 1, + MOD_SAVE_MODE_WAV = 2, + SMP_SAVE_MODE_RAW = 0, + SMP_SAVE_MODE_IFF = 1, + SMP_SAVE_MODE_WAV = 2 +}; + +int32_t getFileSize(UNICHAR *fileNameU); +uint8_t getDiskOpItem(void); +void updateCurrSongFilename(void); // for window title +char *getCurrSongFilename(void); // for window title +char *getDiskOpFilename(void); +const UNICHAR *getDiskOpCurPath(void); +const UNICHAR *getDiskOpModPath(void); +const UNICHAR *getDiskOpSmpPath(void); +void changeFilenameExt(char *name, char *ext, int32_t nameMaxLen); +void diskOpChangeFilenameExt(char *ext); +void freeDiskOp(void); +bool setupDiskOp(void); +void diskOpSetFilename(uint8_t type, UNICHAR *pathU); +void sanitizeFilename(const char *src); +bool diskOpGoParent(void); +void pbDiskOpRoot(void); +int32_t getExtOffset(char *s, int32_t stringLen); // get byte offset of file extension (last '.') +bool testDiskOpMouseDown(bool mouseHeldDown); +void testDiskOpMouseRelease(void); +void startDiskOpFillThread(void); +void diskOp_DrawDirectory(void); +void showDiskOpScreen(void); +void hideDiskOpScreen(void); +void exitDiskOpScreen(void); +void toggleDiskOpScreen(void); +void sbDiskOpSetPos(uint32_t pos); +void pbDiskOpListUp(void); +void pbDiskOpListDown(void); +void pbDiskOpParent(void); +void pbDiskOpShowAll(void); +#ifdef _WIN32 +void pbDiskOpDrive1(void); +void pbDiskOpDrive2(void); +void pbDiskOpDrive3(void); +void pbDiskOpDrive4(void); +void pbDiskOpDrive5(void); +void pbDiskOpDrive6(void); +void pbDiskOpDrive7(void); +void pbDiskOpDrive8(void); +#endif +void pbDiskOpSave(void); +void pbDiskOpDelete(void); +void pbDiskOpRename(void); +void pbDiskOpMakeDir(void); +void pbDiskOpRefresh(void); +void pbDiskOpSetPath(void); +void pbDiskOpExit(void); +void rbDiskOpModule(void); +void rbDiskOpInstr(void); +void rbDiskOpSample(void); +void rbDiskOpPattern(void); +void rbDiskOpTrack(void); +void rbDiskOpModSaveXm(void); +void rbDiskOpModSaveMod(void); +void rbDiskOpModSaveWav(void); +void rbDiskOpSmpSaveWav(void); +void rbDiskOpSmpSaveRaw(void); +void rbDiskOpSmpSaveIff(void); +void trimEntryName(char *name, bool isDir); +bool fileExistsAnsi(char *str); diff --git a/src/ft2_edit.c b/src/ft2_edit.c index 40be927..51c6871 100644 --- a/src/ft2_edit.c +++ b/src/ft2_edit.c @@ -1,1982 +1,1966 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include "ft2_header.h" -#include "ft2_config.h" -#include "ft2_keyboard.h" -#include "ft2_audio.h" -#include "ft2_midi.h" -#include "ft2_pattern_ed.h" -#include "ft2_sysreqs.h" -#include "ft2_textboxes.h" - -enum -{ - KEYTYPE_NUM = 0, - KEYTYPE_ALPHA = 1 -}; - -static double dVolScaleFK1 = 1.0, dVolScaleFK2 = 1.0; - -// for block cut/copy/paste -static bool blockCopied; -static int16_t markXSize, markYSize; -static uint16_t ptnBufLen, trkBufLen; - -// for transposing - these are set and tested accordingly -static int8_t lastTranspVal; -static uint8_t lastInsMode, lastTranspMode; -static uint32_t transpDelNotes; // count of under-/overflowing notes for warning message -static tonTyp clearNote; - -static tonTyp blkCopyBuff[MAX_PATT_LEN * MAX_VOICES]; -static tonTyp ptnCopyBuff[MAX_PATT_LEN * MAX_VOICES]; -static tonTyp trackCopyBuff[MAX_PATT_LEN]; - -static const int8_t tickArr[16] = { 16, 8, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1 }; - -static const SDL_Keycode key2VolTab[] = -{ - SDLK_0, SDLK_1, SDLK_2, SDLK_3, SDLK_4, SDLK_MINUS, SDLK_PLUS, SDLK_d, - SDLK_u, SDLK_s, SDLK_v, SDLK_p, SDLK_l, SDLK_r, SDLK_m -}; -#define KEY2VOL_ENTRIES (signed)(sizeof (key2VolTab) / sizeof (SDL_Keycode)) - -static const SDL_Keycode key2EfxTab[] = -{ - SDLK_0, SDLK_1, SDLK_2, SDLK_3, SDLK_4, SDLK_5, SDLK_6, SDLK_7, - SDLK_8, SDLK_9, SDLK_a, SDLK_b, SDLK_c, SDLK_d, SDLK_e, SDLK_f, - SDLK_g, SDLK_h, SDLK_i, SDLK_j, SDLK_k, SDLK_l, SDLK_m, SDLK_n, - SDLK_o, SDLK_p, SDLK_q, SDLK_r, SDLK_s, SDLK_t, SDLK_u, SDLK_v, - SDLK_w, SDLK_x, SDLK_y, SDLK_z -}; -#define KEY2EFX_ENTRIES (signed)(sizeof (key2EfxTab) / sizeof (SDL_Keycode)) - -static const SDL_Keycode key2HexTab[] = -{ - SDLK_0, SDLK_1, SDLK_2, SDLK_3, SDLK_4, SDLK_5, SDLK_6, SDLK_7, - SDLK_8, SDLK_9, SDLK_a, SDLK_b, SDLK_c, SDLK_d, SDLK_e, SDLK_f -}; -#define KEY2HEX_ENTRIES (signed)(sizeof (key2HexTab) / sizeof (SDL_Keycode)) - -void recordNote(uint8_t note, int8_t vol); - -// when the cursor is at the note slot -static bool testNoteKeys(SDL_Scancode scancode) -{ - int8_t noteNum = scancodeKeyToNote(scancode); - if (noteNum > 0 && noteNum <= 96) - { - recordNote(noteNum, -1); - return true; // note key pressed (and note triggered) - } - - return false; // no note key pressed -} - -// when the cursor is at the note slot -void testNoteKeysRelease(SDL_Scancode scancode) -{ - int8_t noteNum = scancodeKeyToNote(scancode); // convert key scancode to note number - if (noteNum > 0 && noteNum <= 96) - recordNote(noteNum, 0); // release note -} - -static bool testEditKeys(SDL_Scancode scancode, SDL_Keycode keycode) -{ - int8_t i; - uint8_t oldVal; - uint16_t pattLen; - tonTyp *ton; - - if (editor.cursor.object == CURSOR_NOTE) - { - // the edit cursor is at the note slot - - if (testNoteKeys(scancode)) - { - keyb.keyRepeat = (playMode == PLAYMODE_EDIT); // repeat keys only if in edit mode - return true; // we jammed an instrument - } - - return false; // no note key pressed, test other keys - } - - if (playMode != PLAYMODE_EDIT && playMode != PLAYMODE_RECSONG && playMode != PLAYMODE_RECPATT) - return false; // we're not editing, test other keys - - // convert key to slot data - - if (editor.cursor.object == CURSOR_VOL1) - { - // volume column effect type (mixed keys) - - for (i = 0; i < KEY2VOL_ENTRIES; i++) - { - if (keycode == key2VolTab[i]) - break; - } - - if (i == KEY2VOL_ENTRIES) - i = -1; // invalid key for slot - } - else if (editor.cursor.object == CURSOR_EFX0) - { - // effect type (mixed keys) - - for (i = 0; i < KEY2EFX_ENTRIES; i++) - { - if (keycode == key2EfxTab[i]) - break; - } - - if (i == KEY2EFX_ENTRIES) - i = -1; // invalid key for slot - } - else - { - // all other slots (hex keys) - - for (i = 0; i < KEY2HEX_ENTRIES; i++) - { - if (keycode == key2HexTab[i]) - break; - } - - if (i == KEY2HEX_ENTRIES) - i = -1; // invalid key for slot - } - - if (i == -1 || !allocatePattern(editor.editPattern)) - return false; // no edit to be done - - // insert slot data - - ton = &patt[editor.editPattern][(editor.pattPos * MAX_VOICES) + editor.cursor.ch]; - switch (editor.cursor.object) - { - case CURSOR_INST1: - { - oldVal = ton->instr; - - ton->instr = (ton->instr & 0x0F) | (i << 4); - if (ton->instr > MAX_INST) - ton->instr = MAX_INST; - - if (ton->instr != oldVal) - setSongModifiedFlag(); - } - break; - - case CURSOR_INST2: - { - oldVal = ton->instr; - ton->instr = (ton->instr & 0xF0) | i; - - if (ton->instr != oldVal) - setSongModifiedFlag(); - } - break; - - case CURSOR_VOL1: - { - oldVal = ton->vol; - - ton->vol = (ton->vol & 0x0F) | ((i + 1) << 4); - if (ton->vol >= 0x51 && ton->vol <= 0x5F) - ton->vol = 0x50; - - if (ton->vol != oldVal) - setSongModifiedFlag(); - } - break; - - case CURSOR_VOL2: - { - oldVal = ton->vol; - - if (ton->vol < 0x10) - ton->vol = 0x10 + i; - else - ton->vol = (ton->vol & 0xF0) | i; - - if (ton->vol >= 0x51 && ton->vol <= 0x5F) - ton->vol = 0x50; - - if (ton->vol != oldVal) - setSongModifiedFlag(); - } - break; - - case CURSOR_EFX0: - { - oldVal = ton->effTyp; - - ton->effTyp = i; - - if (ton->effTyp != oldVal) - setSongModifiedFlag(); - } - break; - - case CURSOR_EFX1: - { - oldVal = ton->eff; - - ton->eff = (ton->eff & 0x0F) | (i << 4); - - if (ton->eff != oldVal) - setSongModifiedFlag(); - } - break; - - case CURSOR_EFX2: - { - oldVal = ton->eff; - - ton->eff = (ton->eff & 0xF0) | i; - - if (ton->eff != oldVal) - setSongModifiedFlag(); - } - break; - - default: break; - } - - // increase row (only in edit mode) - - pattLen = pattLens[editor.editPattern]; - if (playMode == PLAYMODE_EDIT && pattLen >= 1) - setPos(-1, (editor.pattPos + editor.ID_Add) % pattLen); - - if (i == 0) // if we inserted a zero, check if pattern is empty, for killing - killPatternIfUnused(editor.editPattern); - - editor.ui.updatePatternEditor = true; - return true; -} - -// directly ported from the original FT2 code (fun fact: named EvulateTimeStamp() in the FT2 code) -static void evaluateTimeStamp(int16_t *songPos, int16_t *pattNr, int16_t *pattPos, int16_t *tick) -{ - int16_t nr, t, p, r, sp, row; - uint16_t pattLen; - - sp = editor.songPos; - nr = editor.editPattern; - row = editor.pattPos; - t = editor.tempo - editor.timer; - - t = CLAMP(t, 0, editor.tempo - 1); - - // this is needed, but also breaks quantization on speed>15 - if (t > 15) - t = 15; - - pattLen = pattLens[nr]; - - if (config.recQuant > 0) - { - if (config.recQuantRes >= 16) - { - t += (editor.tempo >> 1) + 1; - } - else - { - r = tickArr[config.recQuantRes-1]; - - p = row & (r - 1); - if (p < (r >> 1)) - row -= p; - else - row = (row + r) - p; - - t = 0; - } - } - - if (t > editor.tempo) - { - t -= editor.tempo; - row++; - } - - if (row >= pattLen) - { - if (playMode == PLAYMODE_RECSONG) - sp++; - - row = 0; - if (sp >= song.len) - sp = song.repS; - - nr = song.songTab[sp]; - } - - *songPos = sp; - *pattNr = nr; - *pattPos = row; - *tick = t; -} - -// directly ported from the original FT2 code - what a mess, but it works... -void recordNote(uint8_t note, int8_t vol) -{ - int8_t i, k, c, editmode, recmode; - int16_t nr, sp, oldpattpos, pattpos, tick; - uint16_t pattLen; - int32_t time; - tonTyp *noteData; - - oldpattpos = editor.pattPos; - - if (songPlaying) - { - // row quantization - evaluateTimeStamp(&sp, &nr, &pattpos, &tick); - } - else - { - sp = editor.songPos; - nr = editor.editPattern; - pattpos = editor.pattPos; - tick = 0; - } - - editmode = (playMode == PLAYMODE_EDIT); - recmode = (playMode == PLAYMODE_RECSONG) || (playMode == PLAYMODE_RECPATT); - - if (note == 97) - vol = 0; - - c = -1; - k = -1; - - if (editmode || recmode) - { - // find out what channel is the most suitable in edit/record mode - - if ((config.multiEdit && editmode) || (config.multiRec && recmode)) - { - time = 0x7FFFFFFF; - for (i = 0; i < song.antChn; i++) - { - if (editor.chnMode[i] && config.multiRecChn[i] && editor.keyOffTime[i] < time && editor.keyOnTab[i] == 0) - { - c = i; - time = editor.keyOffTime[i]; - } - } - } - else - { - c = editor.cursor.ch; - } - - for (i = 0; i < song.antChn; i++) - { - if (note == editor.keyOnTab[i] && config.multiRecChn[i]) - k = i; - } - } - else - { - // find out what channel is the most suitable in idle/play mode (jamming) - if (config.multiKeyJazz) - { - time = 0x7FFFFFFF; - c = 0; - - if (songPlaying) - { - for (i = 0; i < song.antChn; i++) - { - if (editor.keyOffTime[i] < time && editor.keyOnTab[i] == 0 && config.multiRecChn[i]) - { - c = i; - time = editor.keyOffTime[i]; - } - } - } - - if (time == 0x7FFFFFFF) - { - for (i = 0; i < song.antChn; i++) - { - if (editor.keyOffTime[i] < time && editor.keyOnTab[i] == 0) - { - c = i; - time = editor.keyOffTime[i]; - } - } - } - } - else - { - c = editor.cursor.ch; - } - - for (i = 0; i < song.antChn; i++) - { - if (note == editor.keyOnTab[i]) - k = i; - } - } - - if (vol != 0) - { - if (c < 0 || (k >= 0 && (config.multiEdit || (recmode || !editmode)))) - return; - - // play note - - editor.keyOnTab[c] = note; - - if (pattpos >= oldpattpos) // non-FT2 fix: only do this if we didn't quantize to next row - playTone(c, editor.curInstr, note, vol, midi.currMIDIVibDepth, midi.currMIDIPitch); - - if (editmode || recmode) - { - if (allocatePattern(nr)) - { - pattLen = pattLens[nr]; - noteData = &patt[nr][(pattpos * MAX_VOICES) + c]; - - // insert data - noteData->ton = note; - if (editor.curInstr > 0) - noteData->instr = editor.curInstr; - - if (vol >= 0) - noteData->vol = 0x10 + vol; - - if (!recmode) - { - // increase row (only in edit mode) - if (pattLen >= 1) - setPos(-1, (editor.pattPos + editor.ID_Add) % pattLen); - } - else - { - // apply tick delay for note if quantization is disabled - if (!config.recQuant && tick > 0) - { - noteData->effTyp = 0x0E; - noteData->eff = 0xD0 + (tick & 0x0F); - } - } - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); - } - } - } - else - { - // note off - - if (k != -1) - c = k; - - if (c < 0) - return; - - editor.keyOnTab[c] = 0; - editor.keyOffTime[c] = ++editor.keyOffNr; - - if (pattpos >= oldpattpos) // non-FT2 fix: only do this if we didn't quantize to next row - playTone(c, editor.curInstr, 97, vol, midi.currMIDIVibDepth, midi.currMIDIPitch); - - if (config.recRelease && recmode) - { - if (allocatePattern(nr)) - { - // insert data - - pattLen = pattLens[nr]; - noteData = &patt[nr][(pattpos * MAX_VOICES) + c]; - - if (noteData->ton != 0) - pattpos++; - - if (pattpos >= pattLen) - { - if (songPlaying) - sp++; - - if (sp >= song.len) - sp = song.repS; - - nr = song.songTab[sp]; - pattpos = 0; - pattLen = pattLens[nr]; - } - - noteData = &patt[nr][(pattpos * MAX_VOICES) + c]; - noteData->ton = 97; - - if (!recmode) - { - // increase row (only in edit mode) - if (pattLen >= 1) - setPos(-1, (editor.pattPos + editor.ID_Add) % pattLen); - } - else - { - // apply tick delay for note if quantization is disabled - if (!config.recQuant && tick > 0) - { - noteData->effTyp = 0x0E; - noteData->eff = 0xD0 + (tick & 0x0F); - } - } - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); - } - } - } -} - -bool handleEditKeys(SDL_Keycode keycode, SDL_Scancode scancode) -{ - bool frKeybHack; - uint16_t pattLen; - tonTyp *note; - - // special case for delete - manipulate note data - if (keycode == SDLK_DELETE) - { - if (playMode != PLAYMODE_EDIT && playMode != PLAYMODE_RECSONG && playMode != PLAYMODE_RECPATT) - return false; // we're not editing, test other keys - - if (patt[editor.editPattern] == NULL) - return true; - - note = &patt[editor.editPattern][(editor.pattPos * MAX_VOICES) + editor.cursor.ch]; - - if (keyb.leftShiftPressed) - { - // delete all - memset(note, 0, sizeof (tonTyp)); - } - else if (keyb.leftCtrlPressed) - { - // delete volume column + effect - note->vol = 0; - note->effTyp = 0; - note->eff = 0; - } - else if (keyb.leftAltPressed) - { - // delete effect - note->effTyp = 0; - note->eff = 0; - } - else - { - if (editor.cursor.object == CURSOR_VOL1 || editor.cursor.object == CURSOR_VOL2) - { - // delete volume column - note->vol = 0; - } - else - { - // delete note + instrument - note->ton = 0; - note->instr = 0; - } - } - - killPatternIfUnused(editor.editPattern); - - // increase row (only in edit mode) - pattLen = pattLens[editor.editPattern]; - if (playMode == PLAYMODE_EDIT && pattLen >= 1) - setPos(-1, (editor.pattPos + editor.ID_Add) % pattLen); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); - - return true; - } - - // a kludge for french keyb. layouts to allow writing numbers in the pattern data with left SHIFT - frKeybHack = keyb.leftShiftPressed && !keyb.leftAltPressed && !keyb.leftCtrlPressed && - (scancode >= SDL_SCANCODE_1) && (scancode <= SDL_SCANCODE_0); - - if (frKeybHack || !keyb.keyModifierDown) - return (testEditKeys(scancode, keycode)); - - return false; -} - -void writeToMacroSlot(uint8_t slot) -{ - uint16_t writeVol, writeEff; - tonTyp *note; - - writeVol = 0; - writeEff = 0; - - if (patt[editor.editPattern] != NULL) - { - note = &patt[editor.editPattern][(editor.pattPos * MAX_VOICES) + editor.cursor.ch]; - writeVol = note->vol; - writeEff = (note->effTyp << 8) | note->eff; - } - - if (editor.cursor.object == CURSOR_VOL1 || editor.cursor.object == CURSOR_VOL2) - config.volMacro[slot] = writeVol; - else - config.comMacro[slot] = writeEff; -} - -void writeFromMacroSlot(uint8_t slot) -{ - uint8_t effTyp; - uint16_t pattLen; - tonTyp *note; - - if (playMode != PLAYMODE_EDIT && playMode != PLAYMODE_RECSONG && playMode != PLAYMODE_RECPATT) - return; - - if (!allocatePattern(editor.editPattern)) - return; - - pattLen = pattLens[editor.editPattern]; - note = &patt[editor.editPattern][(editor.pattPos * MAX_VOICES) + editor.cursor.ch]; - - if (editor.cursor.object == CURSOR_VOL1 || editor.cursor.object == CURSOR_VOL2) - { - note->vol = (uint8_t)config.volMacro[slot]; - } - else - { - effTyp = (uint8_t)(config.comMacro[slot] >> 8); - if (effTyp > 35) - { - // illegal effect - note->effTyp = 0; - note->eff = 0; - } - else - { - note->effTyp = effTyp; - note->eff = config.comMacro[slot] & 0xFF; - } - } - - if (playMode == PLAYMODE_EDIT && pattLen >= 1) - setPos(-1, (editor.pattPos + editor.ID_Add) % pattLen); - - killPatternIfUnused(editor.editPattern); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -void insertPatternNote(void) -{ - int16_t nr, pattPos; - uint16_t pattLen; - tonTyp *pattPtr; - - if (playMode != PLAYMODE_EDIT && playMode != PLAYMODE_RECPATT && playMode != PLAYMODE_RECSONG) - return; - - nr = editor.editPattern; - - pattPtr = patt[nr]; - if (pattPtr == NULL) - return; - - pattPos = editor.pattPos; - pattLen = pattLens[nr]; - - if (pattLen > 1) - { - for (int32_t i = pattLen-2; i >= pattPos; i--) - pattPtr[((i + 1) * MAX_VOICES) + editor.cursor.ch] = pattPtr[(i * MAX_VOICES) + editor.cursor.ch]; - } - - memset(&pattPtr[(pattPos * MAX_VOICES) + editor.cursor.ch], 0, sizeof (tonTyp)); - - killPatternIfUnused(nr); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -void insertPatternLine(void) -{ - int16_t nr, pattLen, pattPos; - tonTyp *pattPtr; - - if (playMode != PLAYMODE_EDIT && playMode != PLAYMODE_RECPATT && playMode != PLAYMODE_RECSONG) - return; - - nr = editor.editPattern; - - if (setPatternLen(nr, pattLens[nr] + config.recTrueInsert)) // config.recTrueInsert is 0 or 1 - { - pattPtr = patt[nr]; - if (pattPtr != NULL) - { - pattPos = editor.pattPos; - pattLen = pattLens[nr]; - - if (pattLen > 1) - { - for (int32_t i = pattLen-2; i >= pattPos; i--) - { - for (int32_t j = 0; j < MAX_VOICES; j++) - pattPtr[((i + 1) * MAX_VOICES) + j] = pattPtr[(i * MAX_VOICES) + j]; - } - } - - memset(&pattPtr[pattPos * MAX_VOICES], 0, TRACK_WIDTH); - - killPatternIfUnused(nr); - } - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); - } - else - { - okBox(0, "System message", "Not enough memory!"); - } -} - -void deletePatternNote(void) -{ - int16_t nr, pattPos; - uint16_t pattLen; - tonTyp *pattPtr; - - if (playMode != PLAYMODE_EDIT && playMode != PLAYMODE_RECPATT && playMode != PLAYMODE_RECSONG) - return; - - nr = editor.editPattern; - pattPos = editor.pattPos; - pattLen = pattLens[nr]; - - pattPtr = patt[editor.editPattern]; - if (pattPtr != NULL) - { - if (pattPos > 0) - { - pattPos--; - editor.pattPos = song.pattPos = pattPos; - - for (int32_t i = pattPos; i < pattLen-1; i++) - pattPtr[(i * MAX_VOICES) + editor.cursor.ch] = pattPtr[((i + 1) * MAX_VOICES) + editor.cursor.ch]; - - memset(&pattPtr[((pattLen - 1) * MAX_VOICES) + editor.cursor.ch], 0, sizeof (tonTyp)); - } - } - else - { - if (pattPos > 0) - { - pattPos--; - editor.pattPos = song.pattPos = pattPos; - } - } - - killPatternIfUnused(nr); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -void deletePatternLine(void) -{ - int16_t nr, pattPos; - uint16_t pattLen; - tonTyp *pattPtr; - - if (playMode != PLAYMODE_EDIT && playMode != PLAYMODE_RECPATT && playMode != PLAYMODE_RECSONG) - return; - - nr = editor.editPattern; - pattPos = editor.pattPos; - pattLen = pattLens[nr]; - - pattPtr = patt[editor.editPattern]; - if (pattPtr != NULL) - { - if (pattPos > 0) - { - pattPos--; - editor.pattPos = song.pattPos = pattPos; - - for (int32_t i = pattPos; i < pattLen-1; i++) - { - for (int32_t j = 0; j < MAX_VOICES; j++) - pattPtr[(i * MAX_VOICES) + j] = pattPtr[((i + 1) * MAX_VOICES) + j]; - } - - memset(&pattPtr[(pattLen - 1) * MAX_VOICES], 0, TRACK_WIDTH); - } - } - else - { - if (pattPos > 0) - { - pattPos--; - editor.pattPos = song.pattPos = pattPos; - } - } - - if (config.recTrueInsert && pattLen > 1) - setPatternLen(nr, pattLen - 1); - - killPatternIfUnused(nr); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -// ----- TRANSPOSE FUNCTIONS ----- - -static void countOverflowingNotes(uint8_t currInsOnly, uint8_t transpMode, int8_t addVal) -{ - uint8_t ton; - uint16_t p, pattLen, ch, row; - tonTyp *pattPtr; - - transpDelNotes = 0; - switch (transpMode) - { - case TRANSP_TRACK: - { - pattPtr = patt[editor.editPattern]; - if (pattPtr == NULL) - return; // empty pattern - - pattPtr += editor.cursor.ch; - - pattLen = pattLens[editor.editPattern]; - for (row = 0; row < pattLen; row++) - { - ton = pattPtr->ton; - if ((ton >= 1 && ton <= 96) && (!currInsOnly || pattPtr->instr == editor.curInstr)) - { - if ((int8_t)ton+addVal > 96 || (int8_t)ton+addVal <= 0) - transpDelNotes++; - } - - pattPtr += MAX_VOICES; - } - } - break; - - case TRANSP_PATT: - { - pattPtr = patt[editor.editPattern]; - if (pattPtr == NULL) - return; // empty pattern - - pattLen = pattLens[editor.editPattern]; - for (row = 0; row < pattLen; row++) - { - for (ch = 0; ch < song.antChn; ch++) - { - ton = pattPtr->ton; - if ((ton >= 1 && ton <= 96) && (!currInsOnly || pattPtr->instr == editor.curInstr)) - { - if ((int8_t)ton+addVal > 96 || (int8_t)ton+addVal <= 0) - transpDelNotes++; - } - - pattPtr++; - } - - pattPtr += MAX_VOICES - song.antChn; - } - } - break; - - case TRANSP_SONG: - { - for (p = 0; p < MAX_PATTERNS; p++) - { - pattPtr = patt[p]; - if (pattPtr == NULL) - continue; // empty pattern - - pattLen = pattLens[p]; - for (row = 0; row < pattLen; row++) - { - for (ch = 0; ch < song.antChn; ch++) - { - ton = pattPtr->ton; - if ((ton >= 1 && ton <= 96) && (!currInsOnly || pattPtr->instr == editor.curInstr)) - { - if ((int8_t)ton+addVal > 96 || (int8_t)ton+addVal <= 0) - transpDelNotes++; - } - - pattPtr++; - } - - pattPtr += MAX_VOICES - song.antChn; - } - } - } - break; - - case TRANSP_BLOCK: - { - if (pattMark.markY1 == pattMark.markY2) - return; // no pattern marking - - pattPtr = patt[editor.editPattern]; - if (pattPtr == NULL) - return; // empty pattern - - pattPtr += (pattMark.markY1 * MAX_VOICES) + pattMark.markX1; - - pattLen = pattLens[editor.editPattern]; - for (row = pattMark.markY1; row < pattMark.markY2; row++) - { - for (ch = pattMark.markX1; ch <= pattMark.markX2; ch++) - { - ton = pattPtr->ton; - if ((ton >= 1 && ton <= 96) && (!currInsOnly || pattPtr->instr == editor.curInstr)) - { - if ((int8_t)ton+addVal > 96 || (int8_t)ton+addVal <= 0) - transpDelNotes++; - } - - pattPtr++; - } - - pattPtr += MAX_VOICES - ((pattMark.markX2 + 1) - pattMark.markX1); - } - } - break; - - default: break; - } -} - -void doTranspose(void) -{ - char text[48]; - uint8_t ton; - uint16_t p, pattLen, ch, row; - tonTyp *pattPtr; - - countOverflowingNotes(lastInsMode, lastTranspMode, lastTranspVal); - if (transpDelNotes > 0) - { - sprintf(text, "%d note(s) will be erased! Proceed?", transpDelNotes); - if (okBox(2, "System request", text) != 1) - return; - } - - // lastTranspVal is never <-12 or >12, so unsigned testing for >96 is safe - switch (lastTranspMode) - { - case TRANSP_TRACK: - { - pattPtr = patt[editor.editPattern]; - if (pattPtr == NULL) - return; // empty pattern - - pattPtr += editor.cursor.ch; - - pattLen = pattLens[editor.editPattern]; - for (row = 0; row < pattLen; row++) - { - ton = pattPtr->ton; - if ((ton >= 1 && ton <= 96) && (!lastInsMode || pattPtr->instr == editor.curInstr)) - { - ton += lastTranspVal; - if (ton > 96) - ton = 0; // also handles underflow - - pattPtr->ton = ton; - } - - pattPtr += MAX_VOICES; - } - } - break; - - case TRANSP_PATT: - { - pattPtr = patt[editor.editPattern]; - if (pattPtr == NULL) - return; // empty pattern - - pattLen = pattLens[editor.editPattern]; - for (row = 0; row < pattLen; row++) - { - for (ch = 0; ch < song.antChn; ch++) - { - ton = pattPtr->ton; - if ((ton >= 1 && ton <= 96) && (!lastInsMode || pattPtr->instr == editor.curInstr)) - { - ton += lastTranspVal; - if (ton > 96) - ton = 0; // also handles underflow - - pattPtr->ton = ton; - } - - pattPtr++; - } - - pattPtr += MAX_VOICES - song.antChn; - } - } - break; - - case TRANSP_SONG: - { - for (p = 0; p < MAX_PATTERNS; p++) - { - pattPtr = patt[p]; - if (pattPtr == NULL) - continue; // empty pattern - - pattLen = pattLens[p]; - for (row = 0; row < pattLen; row++) - { - for (ch = 0; ch < song.antChn; ch++) - { - ton = pattPtr->ton; - if ((ton >= 1 && ton <= 96) && (!lastInsMode || pattPtr->instr == editor.curInstr)) - { - ton += lastTranspVal; - if (ton > 96) - ton = 0; // also handles underflow - - pattPtr->ton = ton; - } - - pattPtr++; - } - - pattPtr += MAX_VOICES - song.antChn; - } - } - } - break; - - case TRANSP_BLOCK: - { - if (pattMark.markY1 == pattMark.markY2) - return; // no pattern marking - - pattPtr = patt[editor.editPattern]; - if (pattPtr == NULL) - return; // empty pattern - - pattPtr += (pattMark.markY1 * MAX_VOICES) + pattMark.markX1; - - pattLen = pattLens[editor.editPattern]; - for (row = pattMark.markY1; row < pattMark.markY2; row++) - { - for (ch = pattMark.markX1; ch <= pattMark.markX2; ch++) - { - ton = pattPtr->ton; - if ((ton >= 1 && ton <= 96) && (!lastInsMode || pattPtr->instr == editor.curInstr)) - { - ton += lastTranspVal; - if (ton > 96) - ton = 0; // also handles underflow - - pattPtr->ton = ton; - } - - pattPtr++; - } - - pattPtr += MAX_VOICES - ((pattMark.markX2 + 1) - pattMark.markX1); - } - } - break; - - default: break; - } - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -void trackTranspCurInsUp(void) -{ - lastTranspMode = TRANSP_TRACK; - lastTranspVal = 1; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void trackTranspCurInsDn(void) -{ - lastTranspMode = TRANSP_TRACK; - lastTranspVal = -1; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void trackTranspCurIns12Up(void) -{ - lastTranspMode = TRANSP_TRACK; - lastTranspVal = 12; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void trackTranspCurIns12Dn(void) -{ - lastTranspMode = TRANSP_TRACK; - lastTranspVal = -12; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void trackTranspAllInsUp(void) -{ - lastTranspMode = TRANSP_TRACK; - lastTranspVal = 1; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void trackTranspAllInsDn(void) -{ - lastTranspMode = TRANSP_TRACK; - lastTranspVal = -1; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void trackTranspAllIns12Up(void) -{ - lastTranspMode = TRANSP_TRACK; - lastTranspVal = 12; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void trackTranspAllIns12Dn(void) -{ - lastTranspMode = TRANSP_TRACK; - lastTranspVal = -12; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void pattTranspCurInsUp(void) -{ - lastTranspMode = TRANSP_PATT; - lastTranspVal = 1; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void pattTranspCurInsDn(void) -{ - lastTranspMode = TRANSP_PATT; - lastTranspVal = -1; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void pattTranspCurIns12Up(void) -{ - lastTranspMode = TRANSP_PATT; - lastTranspVal = 12; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void pattTranspCurIns12Dn(void) -{ - lastTranspMode = TRANSP_PATT; - lastTranspVal = -12; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void pattTranspAllInsUp(void) -{ - lastTranspMode = TRANSP_PATT; - lastTranspVal = 1; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void pattTranspAllInsDn(void) -{ - lastTranspMode = TRANSP_PATT; - lastTranspVal = -1; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void pattTranspAllIns12Up(void) -{ - lastTranspMode = TRANSP_PATT; - lastTranspVal = 12; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void pattTranspAllIns12Dn(void) -{ - lastTranspMode = TRANSP_PATT; - lastTranspVal = -12; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void songTranspCurInsUp(void) -{ - lastTranspMode = TRANSP_SONG; - lastTranspVal = 1; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void songTranspCurInsDn(void) -{ - lastTranspMode = TRANSP_SONG; - lastTranspVal = -1; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void songTranspCurIns12Up(void) -{ - lastTranspMode = TRANSP_SONG; - lastTranspVal = 12; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void songTranspCurIns12Dn(void) -{ - lastTranspMode = TRANSP_SONG; - lastTranspVal = -12; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void songTranspAllInsUp(void) -{ - lastTranspMode = TRANSP_SONG; - lastTranspVal = 1; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void songTranspAllInsDn(void) -{ - lastTranspMode = TRANSP_SONG; - lastTranspVal = -1; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void songTranspAllIns12Up(void) -{ - lastTranspMode = TRANSP_SONG; - lastTranspVal = 12; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void songTranspAllIns12Dn(void) -{ - lastTranspMode = TRANSP_SONG; - lastTranspVal = -12; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void blockTranspCurInsUp(void) -{ - lastTranspMode = TRANSP_BLOCK; - lastTranspVal = 1; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void blockTranspCurInsDn(void) -{ - lastTranspMode = TRANSP_BLOCK; - lastTranspVal = -1; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void blockTranspCurIns12Up(void) -{ - lastTranspMode = TRANSP_BLOCK; - lastTranspVal = 12; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void blockTranspCurIns12Dn(void) -{ - lastTranspMode = TRANSP_BLOCK; - lastTranspVal = -12; - lastInsMode = TRANSP_CUR_INST; - doTranspose(); -} - -void blockTranspAllInsUp(void) -{ - lastTranspMode = TRANSP_BLOCK; - lastTranspVal = 1; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void blockTranspAllInsDn(void) -{ - lastTranspMode = TRANSP_BLOCK; - lastTranspVal = -1; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void blockTranspAllIns12Up(void) -{ - lastTranspMode = TRANSP_BLOCK; - lastTranspVal = 12; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void blockTranspAllIns12Dn(void) -{ - lastTranspMode = TRANSP_BLOCK; - lastTranspVal = -12; - lastInsMode = TRANSP_ALL_INST; - doTranspose(); -} - -void copyNote(tonTyp *src, tonTyp *dst) -{ - if (editor.copyMaskEnable) - { - if (editor.copyMask[0]) dst->ton = src->ton; - if (editor.copyMask[1]) dst->instr = src->instr; - if (editor.copyMask[2]) dst->vol = src->vol; - if (editor.copyMask[3]) dst->effTyp = src->effTyp; - if (editor.copyMask[4]) dst->eff = src->eff; - } - else - { - *dst = *src; - } -} - -void pasteNote(tonTyp *src, tonTyp *dst) -{ - if (editor.copyMaskEnable) - { - if (editor.copyMask[0] && (src->ton != 0 || !editor.transpMask[0])) dst->ton = src->ton; - if (editor.copyMask[1] && (src->instr != 0 || !editor.transpMask[1])) dst->instr = src->instr; - if (editor.copyMask[2] && (src->vol != 0 || !editor.transpMask[2])) dst->vol = src->vol; - if (editor.copyMask[3] && (src->effTyp != 0 || !editor.transpMask[3])) dst->effTyp = src->effTyp; - if (editor.copyMask[4] && (src->eff != 0 || !editor.transpMask[4])) dst->eff = src->eff; - } - else - { - *dst = *src; - } -} - -void cutTrack(void) -{ - uint16_t i, pattLen; - tonTyp *pattPtr; - - pattPtr = patt[editor.editPattern]; - if (pattPtr == NULL) - return; - - pattLen = pattLens[editor.editPattern]; - - if (config.ptnCutToBuffer) - { - memset(trackCopyBuff, 0, MAX_PATT_LEN * sizeof (tonTyp)); - for (i = 0; i < pattLen; i++) - copyNote(&pattPtr[(i * MAX_VOICES) + editor.cursor.ch], &trackCopyBuff[i]); - - trkBufLen = pattLen; - } - - pauseMusic(); - for (i = 0; i < pattLen; i++) - pasteNote(&clearNote, &pattPtr[(i * MAX_VOICES) + editor.cursor.ch]); - resumeMusic(); - - killPatternIfUnused(editor.editPattern); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -void copyTrack(void) -{ - uint16_t i, pattLen; - tonTyp *pattPtr; - - pattPtr = patt[editor.editPattern]; - if (pattPtr == NULL) - return; - - pattLen = pattLens[editor.editPattern]; - - memset(trackCopyBuff, 0, MAX_PATT_LEN * sizeof (tonTyp)); - for (i = 0; i < pattLen; i++) - copyNote(&pattPtr[(i * MAX_VOICES) + editor.cursor.ch], &trackCopyBuff[i]); - - trkBufLen = pattLen; -} - -void pasteTrack(void) -{ - uint16_t i, pattLen; - tonTyp *pattPtr; - - if (trkBufLen == 0 || !allocatePattern(editor.editPattern)) - return; - - pattPtr = patt[editor.editPattern]; - pattLen = pattLens[editor.editPattern]; - - pauseMusic(); - for (i = 0; i < pattLen; i++) - pasteNote(&trackCopyBuff[i], &pattPtr[(i * MAX_VOICES) + editor.cursor.ch]); - resumeMusic(); - - killPatternIfUnused(editor.editPattern); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -void cutPattern(void) -{ - uint16_t i, x, pattLen; - tonTyp *pattPtr; - - pattPtr = patt[editor.editPattern]; - if (pattPtr == NULL) - return; - - pattLen = pattLens[editor.editPattern]; - - if (config.ptnCutToBuffer) - { - memset(ptnCopyBuff, 0, (MAX_PATT_LEN * MAX_VOICES) * sizeof (tonTyp)); - for (x = 0; x < song.antChn; x++) - { - for (i = 0; i < pattLen; i++) - copyNote(&pattPtr[(i * MAX_VOICES) + x], &ptnCopyBuff[(i * MAX_VOICES) + x]); - } - - ptnBufLen = pattLen; - } - - pauseMusic(); - for (x = 0; x < song.antChn; x++) - { - for (i = 0; i < pattLen; i++) - pasteNote(&clearNote, &pattPtr[(i * MAX_VOICES) + x]); - } - resumeMusic(); - - killPatternIfUnused(editor.editPattern); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -void copyPattern(void) -{ - uint16_t i, x, pattLen; - tonTyp *pattPtr; - - pattPtr = patt[editor.editPattern]; - if (pattPtr == NULL) - return; - - pattLen = pattLens[editor.editPattern]; - - memset(ptnCopyBuff, 0, (MAX_PATT_LEN * MAX_VOICES) * sizeof (tonTyp)); - for (x = 0; x < song.antChn; x++) - { - for (i = 0; i < pattLen; i++) - copyNote(&pattPtr[(i * MAX_VOICES) + x], &ptnCopyBuff[(i * MAX_VOICES) + x]); - } - - ptnBufLen = pattLen; - - editor.ui.updatePatternEditor = true; -} - -void pastePattern(void) -{ - uint16_t i, x, pattLen; - tonTyp *pattPtr; - - if (ptnBufLen == 0) - return; - - if (pattLens[editor.editPattern] != ptnBufLen) - { - if (okBox(1, "System request", "Change pattern length to copybuffer's length?") == 1) - setPatternLen(editor.editPattern, ptnBufLen); - } - - if (!allocatePattern(editor.editPattern)) - return; - - pattPtr = patt[editor.editPattern]; - pattLen = pattLens[editor.editPattern]; - - pauseMusic(); - for (x = 0; x < song.antChn; x++) - { - for (i = 0; i < pattLen; i++) - pasteNote(&ptnCopyBuff[(i * MAX_VOICES) + x], &pattPtr[(i * MAX_VOICES) + x]); - } - resumeMusic(); - - killPatternIfUnused(editor.editPattern); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -void cutBlock(void) -{ - uint16_t x, y; - tonTyp *pattPtr; - - if (pattMark.markY1 == pattMark.markY2 || pattMark.markY1 > pattMark.markY2) - return; - - pattPtr = patt[editor.editPattern]; - if (pattPtr == NULL) - return; - - if (config.ptnCutToBuffer) - { - for (x = pattMark.markX1; x <= pattMark.markX2; x++) - { - for (y = pattMark.markY1; y < pattMark.markY2; y++) - { - assert(x < song.antChn && y < pattLens[editor.editPattern]); - copyNote(&pattPtr[(y * MAX_VOICES) + x], - &blkCopyBuff[((y - pattMark.markY1) * MAX_VOICES) + (x - pattMark.markX1)]); - } - } - } - - pauseMusic(); - for (x = pattMark.markX1; x <= pattMark.markX2; x++) - { - for (y = pattMark.markY1; y < pattMark.markY2; y++) - pasteNote(&clearNote, &pattPtr[(y * MAX_VOICES) + x]); - } - resumeMusic(); - - markXSize = pattMark.markX2 - pattMark.markX1; - markYSize = pattMark.markY2 - pattMark.markY1; - blockCopied = true; - - killPatternIfUnused(editor.editPattern); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -void copyBlock(void) -{ - uint16_t x, y; - tonTyp *pattPtr; - - if (pattMark.markY1 == pattMark.markY2 || pattMark.markY1 > pattMark.markY2) - return; - - pattPtr = patt[editor.editPattern]; - if (pattPtr == NULL) - return; - - for (x = pattMark.markX1; x <= pattMark.markX2; x++) - { - for (y = pattMark.markY1; y < pattMark.markY2; y++) - { - assert(x < song.antChn && y < pattLens[editor.editPattern]); - copyNote(&pattPtr[(y * MAX_VOICES) + x], - &blkCopyBuff[((y - pattMark.markY1) * MAX_VOICES) + (x - pattMark.markX1)]); - } - } - - markXSize = pattMark.markX2 - pattMark.markX1; - markYSize = pattMark.markY2 - pattMark.markY1; - blockCopied = true; -} - -void pasteBlock(void) -{ - uint16_t xpos, ypos, j, k, pattLen; - tonTyp *pattPtr; - - if (!blockCopied || !allocatePattern(editor.editPattern)) - return; - - pattLen = pattLens[editor.editPattern]; - - xpos = editor.cursor.ch; - ypos = editor.pattPos; - - j = markXSize; - if (j+xpos >= song.antChn) - j = song.antChn - xpos - 1; - - k = markYSize; - if (k+ypos >= pattLen) - k = pattLen - ypos; - - pattPtr = patt[editor.editPattern]; - - pauseMusic(); - for (uint16_t x = xpos; x <= xpos+j; x++) - { - for (uint16_t y = ypos; y < ypos+k; y++) - { - assert(x < song.antChn && y < pattLen); - pasteNote(&blkCopyBuff[((y - ypos) * MAX_VOICES) + (x - xpos)], &pattPtr[(y * MAX_VOICES) + x]); - } - } - resumeMusic(); - - killPatternIfUnused(editor.editPattern); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -static void remapInstrXY(uint16_t nr, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint8_t src, uint8_t dst) -{ - int32_t noteSkipLen; - tonTyp *pattPtr, *note; - - // this routine is only used sanely, so no need to check input - - pattPtr = patt[nr]; - if (pattPtr == NULL) - return; - - noteSkipLen = MAX_VOICES - ((x2 + 1) - x1); - note = &pattPtr[(y1 * MAX_VOICES) + x1]; - - for (uint16_t y = y1; y <= y2; y++) - { - for (uint16_t x = x1; x <= x2; x++) - { - assert(x < song.antChn && y < pattLens[nr]); - if (note->instr == src) - note->instr = dst; - - note++; - } - - note += noteSkipLen; - } -} - -void remapBlock(void) -{ - if (editor.srcInstr == editor.curInstr || pattMark.markY1 == pattMark.markY2 || pattMark.markY1 > pattMark.markY2) - return; - - pauseMusic(); - remapInstrXY(editor.editPattern, - pattMark.markX1, pattMark.markY1, - pattMark.markX2, pattMark.markY2 - 1, - editor.srcInstr, editor.curInstr); - resumeMusic(); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -void remapTrack(void) -{ - if (editor.srcInstr == editor.curInstr) - return; - - pauseMusic(); - remapInstrXY(editor.editPattern, - editor.cursor.ch, 0, - editor.cursor.ch, pattLens[editor.editPattern] - 1, - editor.srcInstr, editor.curInstr); - resumeMusic(); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -void remapPattern(void) -{ - if (editor.srcInstr == editor.curInstr) - return; - - pauseMusic(); - remapInstrXY(editor.editPattern, - 0, 0, - song.antChn - 1, pattLens[editor.editPattern] - 1, - editor.srcInstr, editor.curInstr); - resumeMusic(); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -void remapSong(void) -{ - uint8_t pattNr; - - if (editor.srcInstr == editor.curInstr) - return; - - pauseMusic(); - for (uint16_t i = 0; i < MAX_PATTERNS; i++) - { - pattNr = (uint8_t)i; - - remapInstrXY(pattNr, - 0, 0, - song.antChn - 1, pattLens[pattNr] - 1, - editor.srcInstr, editor.curInstr); - } - resumeMusic(); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); -} - -static int8_t getNoteVolume(tonTyp *note) -{ - int8_t nv, vv, ev, finalv; - - if (note->vol >= 0x10 && note->vol <= 0x50) - vv = note->vol - 0x10; - else - vv = -1; - - if (note->effTyp == 0xC) - ev = MIN(note->eff, 64); - else - ev = -1; - - if (note->instr != 0 && instr[note->instr] != NULL) - nv = (int8_t)instr[note->instr]->samp[0].vol; - else - nv = -1; - - finalv = -1; - if (nv >= 0) finalv = nv; - if (vv >= 0) finalv = vv; - if (ev >= 0) finalv = ev; - - return finalv; -} - -static void setNoteVolume(tonTyp *note, int8_t newVol) -{ - int8_t oldv; - - if (newVol < 0) - return; - - oldv = getNoteVolume(note); - if (note->vol == oldv) - return; // volume is the same - - if (note->effTyp == 0x0C) - note->eff = newVol; // Cxx effect - else - note->vol = 0x10 + newVol; // volume column -} - -static void scaleNote(uint16_t ptn, int8_t ch, int16_t row, double dScale) -{ - int32_t vol; - uint16_t pattLen; - tonTyp *note; - - if (patt[ptn] == NULL) - return; - - pattLen = pattLens[ptn]; - if (row < 0 || row >= pattLen || ch < 0 || ch >= song.antChn) - return; - - note = &patt[ptn][(row * MAX_VOICES) + ch]; - - vol = getNoteVolume(note); - if (vol >= 0) - { - vol = (int32_t)round(vol * dScale); - vol = MIN(MAX(0, vol), 64); - setNoteVolume(note, (int8_t)vol); - } -} - -static bool askForScaleFade(char *msg) -{ - char *val1, *val2, volstr[32 + 1]; - uint8_t err; - - sprintf(volstr, "%0.2f,%0.2f", dVolScaleFK1, dVolScaleFK2); - if (inputBox(2, msg, volstr, sizeof (volstr) - 1) != 1) - return false; - - err = false; - - val1 = volstr; - if (strlen(val1) < 3) - err = true; - - val2 = strchr(volstr, ','); - if (val2 == NULL || strlen(val2) < 3) - err = true; - - if (err) - { - okBox(0, "System message", "Invalid constant expressions."); - return false; - } - - dVolScaleFK1 = atof(val1); - dVolScaleFK2 = atof(val2 + 1); - - return true; -} - -void scaleFadeVolumeTrack(void) -{ - uint16_t pattLen; - double dIPy, dVol; - - if (!askForScaleFade("Volume scale-fade track (start-, end scale)")) - return; - - if (patt[editor.editPattern] == NULL) - return; - - pattLen = pattLens[editor.editPattern]; - - dIPy = 0.0; - if (pattLen > 0) - dIPy = (dVolScaleFK2 - dVolScaleFK1) / pattLen; - - dVol = dVolScaleFK1; - - pauseMusic(); - for (uint16_t row = 0; row < pattLen; row++) - { - scaleNote(editor.editPattern, editor.cursor.ch, row, dVol); - dVol += dIPy; - } - resumeMusic(); -} - -void scaleFadeVolumePattern(void) -{ - uint16_t pattLen; - double dIPy, dVol; - - if (!askForScaleFade("Volume scale-fade pattern (start-, end scale)")) - return; - - if (patt[editor.editPattern] == NULL) - return; - - pattLen = pattLens[editor.editPattern]; - - dIPy = 0.0; - if (pattLen > 0) - dIPy = (dVolScaleFK2 - dVolScaleFK1) / pattLen; - - dVol = dVolScaleFK1; - - pauseMusic(); - for (uint16_t row = 0; row < pattLen; row++) - { - for (uint8_t ch = 0; ch < song.antChn; ch++) - scaleNote(editor.editPattern, ch, row, dVol); - - dVol += dIPy; - } - resumeMusic(); -} - -void scaleFadeVolumeBlock(void) -{ - uint16_t dy; - double dIPy, dVol; - - if (!askForScaleFade("Volume scale-fade block (start-, end scale)")) - return; - - if (patt[editor.editPattern] == NULL || pattMark.markY1 == pattMark.markY2 || pattMark.markY1 > pattMark.markY2) - return; - - dy = pattMark.markY2 - pattMark.markY1; - - dIPy = 0.0; - if (dy > 0) - dIPy = (dVolScaleFK2 - dVolScaleFK1) / dy; - - dVol = dVolScaleFK1; - - pauseMusic(); - for (uint16_t row = pattMark.markY1; row < pattMark.markY2; row++) - { - for (uint16_t ch = pattMark.markX1; ch <= pattMark.markX2; ch++) - scaleNote(editor.editPattern, (uint8_t)ch, row, dVol); - - dVol += dIPy; - } - resumeMusic(); -} - -void toggleCopyMaskEnable(void) { editor.copyMaskEnable ^= 1; } -void toggleCopyMask0(void) { editor.copyMask[0] ^= 1; }; -void toggleCopyMask1(void) { editor.copyMask[1] ^= 1; }; -void toggleCopyMask2(void) { editor.copyMask[2] ^= 1; }; -void toggleCopyMask3(void) { editor.copyMask[3] ^= 1; }; -void toggleCopyMask4(void) { editor.copyMask[4] ^= 1; }; -void togglePasteMask0(void) { editor.pasteMask[0] ^= 1; }; -void togglePasteMask1(void) { editor.pasteMask[1] ^= 1; }; -void togglePasteMask2(void) { editor.pasteMask[2] ^= 1; }; -void togglePasteMask3(void) { editor.pasteMask[3] ^= 1; }; -void togglePasteMask4(void) { editor.pasteMask[4] ^= 1; }; -void toggleTranspMask0(void) { editor.transpMask[0] ^= 1; }; -void toggleTranspMask1(void) { editor.transpMask[1] ^= 1; }; -void toggleTranspMask2(void) { editor.transpMask[2] ^= 1; }; -void toggleTranspMask3(void) { editor.transpMask[3] ^= 1; }; -void toggleTranspMask4(void) { editor.transpMask[4] ^= 1; }; +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include "ft2_header.h" +#include "ft2_config.h" +#include "ft2_keyboard.h" +#include "ft2_audio.h" +#include "ft2_midi.h" +#include "ft2_pattern_ed.h" +#include "ft2_sysreqs.h" +#include "ft2_textboxes.h" +#include "ft2_tables.h" + +enum +{ + KEYTYPE_NUM = 0, + KEYTYPE_ALPHA = 1 +}; + +static double dVolScaleFK1 = 1.0, dVolScaleFK2 = 1.0; + +// for block cut/copy/paste +static bool blockCopied; +static int16_t markXSize, markYSize; +static uint16_t ptnBufLen, trkBufLen; + +// for transposing - these are set and tested accordingly +static int8_t lastTranspVal; +static uint8_t lastInsMode, lastTranspMode; +static uint32_t transpDelNotes; // count of under-/overflowing notes for warning message +static tonTyp clearNote; + +static tonTyp blkCopyBuff[MAX_PATT_LEN * MAX_VOICES]; +static tonTyp ptnCopyBuff[MAX_PATT_LEN * MAX_VOICES]; +static tonTyp trackCopyBuff[MAX_PATT_LEN]; + +static const int8_t tickArr[16] = { 16, 8, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1 }; + +void recordNote(uint8_t note, int8_t vol); + +// when the cursor is at the note slot +static bool testNoteKeys(SDL_Scancode scancode) +{ + int8_t noteNum = scancodeKeyToNote(scancode); + if (noteNum > 0 && noteNum <= 96) + { + recordNote(noteNum, -1); + return true; // note key pressed (and note triggered) + } + + return false; // no note key pressed +} + +// when the cursor is at the note slot +void testNoteKeysRelease(SDL_Scancode scancode) +{ + int8_t noteNum = scancodeKeyToNote(scancode); // convert key scancode to note number + if (noteNum > 0 && noteNum <= 96) + recordNote(noteNum, 0); // release note +} + +static bool testEditKeys(SDL_Scancode scancode, SDL_Keycode keycode) +{ + int8_t i; + uint8_t oldVal; + uint16_t pattLen; + tonTyp *ton; + + if (editor.cursor.object == CURSOR_NOTE) + { + // the edit cursor is at the note slot + + if (testNoteKeys(scancode)) + { + keyb.keyRepeat = (playMode == PLAYMODE_EDIT); // repeat keys only if in edit mode + return true; // we jammed an instrument + } + + return false; // no note key pressed, test other keys + } + + if (playMode != PLAYMODE_EDIT && playMode != PLAYMODE_RECSONG && playMode != PLAYMODE_RECPATT) + return false; // we're not editing, test other keys + + // convert key to slot data + + if (editor.cursor.object == CURSOR_VOL1) + { + // volume column effect type (mixed keys) + + for (i = 0; i < KEY2VOL_ENTRIES; i++) + { + if (keycode == key2VolTab[i]) + break; + } + + if (i == KEY2VOL_ENTRIES) + i = -1; // invalid key for slot + } + else if (editor.cursor.object == CURSOR_EFX0) + { + // effect type (mixed keys) + + for (i = 0; i < KEY2EFX_ENTRIES; i++) + { + if (keycode == key2EfxTab[i]) + break; + } + + if (i == KEY2EFX_ENTRIES) + i = -1; // invalid key for slot + } + else + { + // all other slots (hex keys) + + for (i = 0; i < KEY2HEX_ENTRIES; i++) + { + if (keycode == key2HexTab[i]) + break; + } + + if (i == KEY2HEX_ENTRIES) + i = -1; // invalid key for slot + } + + if (i == -1 || !allocatePattern(editor.editPattern)) + return false; // no edit to be done + + // insert slot data + + ton = &patt[editor.editPattern][(editor.pattPos * MAX_VOICES) + editor.cursor.ch]; + switch (editor.cursor.object) + { + case CURSOR_INST1: + { + oldVal = ton->instr; + + ton->instr = (ton->instr & 0x0F) | (i << 4); + if (ton->instr > MAX_INST) + ton->instr = MAX_INST; + + if (ton->instr != oldVal) + setSongModifiedFlag(); + } + break; + + case CURSOR_INST2: + { + oldVal = ton->instr; + ton->instr = (ton->instr & 0xF0) | i; + + if (ton->instr != oldVal) + setSongModifiedFlag(); + } + break; + + case CURSOR_VOL1: + { + oldVal = ton->vol; + + ton->vol = (ton->vol & 0x0F) | ((i + 1) << 4); + if (ton->vol >= 0x51 && ton->vol <= 0x5F) + ton->vol = 0x50; + + if (ton->vol != oldVal) + setSongModifiedFlag(); + } + break; + + case CURSOR_VOL2: + { + oldVal = ton->vol; + + if (ton->vol < 0x10) + ton->vol = 0x10 + i; + else + ton->vol = (ton->vol & 0xF0) | i; + + if (ton->vol >= 0x51 && ton->vol <= 0x5F) + ton->vol = 0x50; + + if (ton->vol != oldVal) + setSongModifiedFlag(); + } + break; + + case CURSOR_EFX0: + { + oldVal = ton->effTyp; + + ton->effTyp = i; + + if (ton->effTyp != oldVal) + setSongModifiedFlag(); + } + break; + + case CURSOR_EFX1: + { + oldVal = ton->eff; + + ton->eff = (ton->eff & 0x0F) | (i << 4); + + if (ton->eff != oldVal) + setSongModifiedFlag(); + } + break; + + case CURSOR_EFX2: + { + oldVal = ton->eff; + + ton->eff = (ton->eff & 0xF0) | i; + + if (ton->eff != oldVal) + setSongModifiedFlag(); + } + break; + + default: break; + } + + // increase row (only in edit mode) + + pattLen = pattLens[editor.editPattern]; + if (playMode == PLAYMODE_EDIT && pattLen >= 1) + setPos(-1, (editor.pattPos + editor.ID_Add) % pattLen, true); + + if (i == 0) // if we inserted a zero, check if pattern is empty, for killing + killPatternIfUnused(editor.editPattern); + + editor.ui.updatePatternEditor = true; + return true; +} + +// directly ported from the original FT2 code (fun fact: named EvulateTimeStamp() in the FT2 code) +static void evaluateTimeStamp(int16_t *songPos, int16_t *pattNr, int16_t *pattPos, int16_t *tick) +{ + int16_t nr, t, p, r, sp, row; + uint16_t pattLen; + + sp = editor.songPos; + nr = editor.editPattern; + row = editor.pattPos; + t = editor.tempo - editor.timer; + + t = CLAMP(t, 0, editor.tempo - 1); + + // this is needed, but also breaks quantization on speed>15 + if (t > 15) + t = 15; + + pattLen = pattLens[nr]; + + if (config.recQuant > 0) + { + if (config.recQuantRes >= 16) + { + t += (editor.tempo >> 1) + 1; + } + else + { + r = tickArr[config.recQuantRes-1]; + + p = row & (r - 1); + if (p < (r >> 1)) + row -= p; + else + row = (row + r) - p; + + t = 0; + } + } + + if (t > editor.tempo) + { + t -= editor.tempo; + row++; + } + + if (row >= pattLen) + { + if (playMode == PLAYMODE_RECSONG) + sp++; + + row = 0; + if (sp >= song.len) + sp = song.repS; + + nr = song.songTab[sp]; + } + + *songPos = sp; + *pattNr = nr; + *pattPos = row; + *tick = t; +} + +// directly ported from the original FT2 code - what a mess, but it works... +void recordNote(uint8_t note, int8_t vol) +{ + int8_t i, k, c, editmode, recmode; + int16_t nr, sp, oldpattpos, pattpos, tick; + uint16_t pattLen; + int32_t time; + tonTyp *noteData; + + oldpattpos = editor.pattPos; + + if (songPlaying) + { + // row quantization + evaluateTimeStamp(&sp, &nr, &pattpos, &tick); + } + else + { + sp = editor.songPos; + nr = editor.editPattern; + pattpos = editor.pattPos; + tick = 0; + } + + editmode = (playMode == PLAYMODE_EDIT); + recmode = (playMode == PLAYMODE_RECSONG) || (playMode == PLAYMODE_RECPATT); + + if (note == 97) + vol = 0; + + c = -1; + k = -1; + + if (editmode || recmode) + { + // find out what channel is the most suitable in edit/record mode + + if ((config.multiEdit && editmode) || (config.multiRec && recmode)) + { + time = 0x7FFFFFFF; + for (i = 0; i < song.antChn; i++) + { + if (editor.chnMode[i] && config.multiRecChn[i] && editor.keyOffTime[i] < time && editor.keyOnTab[i] == 0) + { + c = i; + time = editor.keyOffTime[i]; + } + } + } + else + { + c = editor.cursor.ch; + } + + for (i = 0; i < song.antChn; i++) + { + if (note == editor.keyOnTab[i] && config.multiRecChn[i]) + k = i; + } + } + else + { + // find out what channel is the most suitable in idle/play mode (jamming) + if (config.multiKeyJazz) + { + time = 0x7FFFFFFF; + c = 0; + + if (songPlaying) + { + for (i = 0; i < song.antChn; i++) + { + if (editor.keyOffTime[i] < time && editor.keyOnTab[i] == 0 && config.multiRecChn[i]) + { + c = i; + time = editor.keyOffTime[i]; + } + } + } + + if (time == 0x7FFFFFFF) + { + for (i = 0; i < song.antChn; i++) + { + if (editor.keyOffTime[i] < time && editor.keyOnTab[i] == 0) + { + c = i; + time = editor.keyOffTime[i]; + } + } + } + } + else + { + c = editor.cursor.ch; + } + + for (i = 0; i < song.antChn; i++) + { + if (note == editor.keyOnTab[i]) + k = i; + } + } + + if (vol != 0) + { + if (c < 0 || (k >= 0 && (config.multiEdit || (recmode || !editmode)))) + return; + + // play note + + editor.keyOnTab[c] = note; + + if (pattpos >= oldpattpos) // non-FT2 fix: only do this if we didn't quantize to next row + { +#ifdef HAS_MIDI + playTone(c, editor.curInstr, note, vol, midi.currMIDIVibDepth, midi.currMIDIPitch); +#else + playTone(c, editor.curInstr, note, vol, 0, 0); +#endif + } + + if (editmode || recmode) + { + if (allocatePattern(nr)) + { + pattLen = pattLens[nr]; + noteData = &patt[nr][(pattpos * MAX_VOICES) + c]; + + // insert data + noteData->ton = note; + if (editor.curInstr > 0) + noteData->instr = editor.curInstr; + + if (vol >= 0) + noteData->vol = 0x10 + vol; + + if (!recmode) + { + // increase row (only in edit mode) + if (pattLen >= 1) + setPos(-1, (editor.pattPos + editor.ID_Add) % pattLen, true); + } + else + { + // apply tick delay for note if quantization is disabled + if (!config.recQuant && tick > 0) + { + noteData->effTyp = 0x0E; + noteData->eff = 0xD0 + (tick & 0x0F); + } + } + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); + } + } + } + else + { + // note off + + if (k != -1) + c = k; + + if (c < 0) + return; + + editor.keyOnTab[c] = 0; + editor.keyOffTime[c] = ++editor.keyOffNr; + + if (pattpos >= oldpattpos) // non-FT2 fix: only do this if we didn't quantize to next row + { +#ifdef HAS_MIDI + playTone(c, editor.curInstr, 97, vol, midi.currMIDIVibDepth, midi.currMIDIPitch); +#else + playTone(c, editor.curInstr, 97, vol, 0, 0); +#endif + } + + if (config.recRelease && recmode) + { + if (allocatePattern(nr)) + { + // insert data + + pattLen = pattLens[nr]; + noteData = &patt[nr][(pattpos * MAX_VOICES) + c]; + + if (noteData->ton != 0) + pattpos++; + + if (pattpos >= pattLen) + { + if (songPlaying) + sp++; + + if (sp >= song.len) + sp = song.repS; + + nr = song.songTab[sp]; + pattpos = 0; + pattLen = pattLens[nr]; + } + + noteData = &patt[nr][(pattpos * MAX_VOICES) + c]; + noteData->ton = 97; + + if (!recmode) + { + // increase row (only in edit mode) + if (pattLen >= 1) + setPos(-1, (editor.pattPos + editor.ID_Add) % pattLen, true); + } + else + { + // apply tick delay for note if quantization is disabled + if (!config.recQuant && tick > 0) + { + noteData->effTyp = 0x0E; + noteData->eff = 0xD0 + (tick & 0x0F); + } + } + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); + } + } + } +} + +bool handleEditKeys(SDL_Keycode keycode, SDL_Scancode scancode) +{ + bool frKeybHack; + uint16_t pattLen; + tonTyp *note; + + // special case for delete - manipulate note data + if (keycode == SDLK_DELETE) + { + if (playMode != PLAYMODE_EDIT && playMode != PLAYMODE_RECSONG && playMode != PLAYMODE_RECPATT) + return false; // we're not editing, test other keys + + if (patt[editor.editPattern] == NULL) + return true; + + note = &patt[editor.editPattern][(editor.pattPos * MAX_VOICES) + editor.cursor.ch]; + + if (keyb.leftShiftPressed) + { + // delete all + memset(note, 0, sizeof (tonTyp)); + } + else if (keyb.leftCtrlPressed) + { + // delete volume column + effect + note->vol = 0; + note->effTyp = 0; + note->eff = 0; + } + else if (keyb.leftAltPressed) + { + // delete effect + note->effTyp = 0; + note->eff = 0; + } + else + { + if (editor.cursor.object == CURSOR_VOL1 || editor.cursor.object == CURSOR_VOL2) + { + // delete volume column + note->vol = 0; + } + else + { + // delete note + instrument + note->ton = 0; + note->instr = 0; + } + } + + killPatternIfUnused(editor.editPattern); + + // increase row (only in edit mode) + pattLen = pattLens[editor.editPattern]; + if (playMode == PLAYMODE_EDIT && pattLen >= 1) + setPos(-1, (editor.pattPos + editor.ID_Add) % pattLen, true); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); + + return true; + } + + // a kludge for french keyb. layouts to allow writing numbers in the pattern data with left SHIFT + frKeybHack = keyb.leftShiftPressed && !keyb.leftAltPressed && !keyb.leftCtrlPressed && + (scancode >= SDL_SCANCODE_1) && (scancode <= SDL_SCANCODE_0); + + if (frKeybHack || !keyb.keyModifierDown) + return (testEditKeys(scancode, keycode)); + + return false; +} + +void writeToMacroSlot(uint8_t slot) +{ + uint16_t writeVol, writeEff; + tonTyp *note; + + writeVol = 0; + writeEff = 0; + + if (patt[editor.editPattern] != NULL) + { + note = &patt[editor.editPattern][(editor.pattPos * MAX_VOICES) + editor.cursor.ch]; + writeVol = note->vol; + writeEff = (note->effTyp << 8) | note->eff; + } + + if (editor.cursor.object == CURSOR_VOL1 || editor.cursor.object == CURSOR_VOL2) + config.volMacro[slot] = writeVol; + else + config.comMacro[slot] = writeEff; +} + +void writeFromMacroSlot(uint8_t slot) +{ + uint8_t effTyp; + uint16_t pattLen; + tonTyp *note; + + if (playMode != PLAYMODE_EDIT && playMode != PLAYMODE_RECSONG && playMode != PLAYMODE_RECPATT) + return; + + if (!allocatePattern(editor.editPattern)) + return; + + pattLen = pattLens[editor.editPattern]; + note = &patt[editor.editPattern][(editor.pattPos * MAX_VOICES) + editor.cursor.ch]; + + if (editor.cursor.object == CURSOR_VOL1 || editor.cursor.object == CURSOR_VOL2) + { + note->vol = (uint8_t)config.volMacro[slot]; + } + else + { + effTyp = (uint8_t)(config.comMacro[slot] >> 8); + if (effTyp > 35) + { + // illegal effect + note->effTyp = 0; + note->eff = 0; + } + else + { + note->effTyp = effTyp; + note->eff = config.comMacro[slot] & 0xFF; + } + } + + if (playMode == PLAYMODE_EDIT && pattLen >= 1) + setPos(-1, (editor.pattPos + editor.ID_Add) % pattLen, true); + + killPatternIfUnused(editor.editPattern); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +void insertPatternNote(void) +{ + int16_t nr, pattPos; + uint16_t pattLen; + tonTyp *pattPtr; + + if (playMode != PLAYMODE_EDIT && playMode != PLAYMODE_RECPATT && playMode != PLAYMODE_RECSONG) + return; + + nr = editor.editPattern; + + pattPtr = patt[nr]; + if (pattPtr == NULL) + return; + + pattPos = editor.pattPos; + pattLen = pattLens[nr]; + + if (pattLen > 1) + { + for (int32_t i = pattLen-2; i >= pattPos; i--) + pattPtr[((i + 1) * MAX_VOICES) + editor.cursor.ch] = pattPtr[(i * MAX_VOICES) + editor.cursor.ch]; + } + + memset(&pattPtr[(pattPos * MAX_VOICES) + editor.cursor.ch], 0, sizeof (tonTyp)); + + killPatternIfUnused(nr); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +void insertPatternLine(void) +{ + int16_t nr, pattLen, pattPos; + tonTyp *pattPtr; + + if (playMode != PLAYMODE_EDIT && playMode != PLAYMODE_RECPATT && playMode != PLAYMODE_RECSONG) + return; + + nr = editor.editPattern; + + setPatternLen(nr, pattLens[nr] + config.recTrueInsert); // config.recTrueInsert is 0 or 1 + + pattPtr = patt[nr]; + if (pattPtr != NULL) + { + pattPos = editor.pattPos; + pattLen = pattLens[nr]; + + if (pattLen > 1) + { + for (int32_t i = pattLen-2; i >= pattPos; i--) + { + for (int32_t j = 0; j < MAX_VOICES; j++) + pattPtr[((i + 1) * MAX_VOICES) + j] = pattPtr[(i * MAX_VOICES) + j]; + } + } + + memset(&pattPtr[pattPos * MAX_VOICES], 0, TRACK_WIDTH); + + killPatternIfUnused(nr); + } + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +void deletePatternNote(void) +{ + int16_t nr, pattPos; + uint16_t pattLen; + tonTyp *pattPtr; + + if (playMode != PLAYMODE_EDIT && playMode != PLAYMODE_RECPATT && playMode != PLAYMODE_RECSONG) + return; + + nr = editor.editPattern; + pattPos = editor.pattPos; + pattLen = pattLens[nr]; + + pattPtr = patt[editor.editPattern]; + if (pattPtr != NULL) + { + if (pattPos > 0) + { + pattPos--; + editor.pattPos = song.pattPos = pattPos; + + for (int32_t i = pattPos; i < pattLen-1; i++) + pattPtr[(i * MAX_VOICES) + editor.cursor.ch] = pattPtr[((i + 1) * MAX_VOICES) + editor.cursor.ch]; + + memset(&pattPtr[((pattLen - 1) * MAX_VOICES) + editor.cursor.ch], 0, sizeof (tonTyp)); + } + } + else + { + if (pattPos > 0) + { + pattPos--; + editor.pattPos = song.pattPos = pattPos; + } + } + + killPatternIfUnused(nr); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +void deletePatternLine(void) +{ + int16_t nr, pattPos; + uint16_t pattLen; + tonTyp *pattPtr; + + if (playMode != PLAYMODE_EDIT && playMode != PLAYMODE_RECPATT && playMode != PLAYMODE_RECSONG) + return; + + nr = editor.editPattern; + pattPos = editor.pattPos; + pattLen = pattLens[nr]; + + pattPtr = patt[editor.editPattern]; + if (pattPtr != NULL) + { + if (pattPos > 0) + { + pattPos--; + editor.pattPos = song.pattPos = pattPos; + + for (int32_t i = pattPos; i < pattLen-1; i++) + { + for (int32_t j = 0; j < MAX_VOICES; j++) + pattPtr[(i * MAX_VOICES) + j] = pattPtr[((i + 1) * MAX_VOICES) + j]; + } + + memset(&pattPtr[(pattLen - 1) * MAX_VOICES], 0, TRACK_WIDTH); + } + } + else + { + if (pattPos > 0) + { + pattPos--; + editor.pattPos = song.pattPos = pattPos; + } + } + + if (config.recTrueInsert && pattLen > 1) + setPatternLen(nr, pattLen - 1); + + killPatternIfUnused(nr); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +// ----- TRANSPOSE FUNCTIONS ----- + +static void countOverflowingNotes(uint8_t currInsOnly, uint8_t transpMode, int8_t addVal) +{ + uint8_t ton; + uint16_t p, pattLen, ch, row; + tonTyp *pattPtr; + + transpDelNotes = 0; + switch (transpMode) + { + case TRANSP_TRACK: + { + pattPtr = patt[editor.editPattern]; + if (pattPtr == NULL) + return; // empty pattern + + pattPtr += editor.cursor.ch; + + pattLen = pattLens[editor.editPattern]; + for (row = 0; row < pattLen; row++) + { + ton = pattPtr->ton; + if ((ton >= 1 && ton <= 96) && (!currInsOnly || pattPtr->instr == editor.curInstr)) + { + if ((int8_t)ton+addVal > 96 || (int8_t)ton+addVal <= 0) + transpDelNotes++; + } + + pattPtr += MAX_VOICES; + } + } + break; + + case TRANSP_PATT: + { + pattPtr = patt[editor.editPattern]; + if (pattPtr == NULL) + return; // empty pattern + + pattLen = pattLens[editor.editPattern]; + for (row = 0; row < pattLen; row++) + { + for (ch = 0; ch < song.antChn; ch++) + { + ton = pattPtr->ton; + if ((ton >= 1 && ton <= 96) && (!currInsOnly || pattPtr->instr == editor.curInstr)) + { + if ((int8_t)ton+addVal > 96 || (int8_t)ton+addVal <= 0) + transpDelNotes++; + } + + pattPtr++; + } + + pattPtr += MAX_VOICES - song.antChn; + } + } + break; + + case TRANSP_SONG: + { + for (p = 0; p < MAX_PATTERNS; p++) + { + pattPtr = patt[p]; + if (pattPtr == NULL) + continue; // empty pattern + + pattLen = pattLens[p]; + for (row = 0; row < pattLen; row++) + { + for (ch = 0; ch < song.antChn; ch++) + { + ton = pattPtr->ton; + if ((ton >= 1 && ton <= 96) && (!currInsOnly || pattPtr->instr == editor.curInstr)) + { + if ((int8_t)ton+addVal > 96 || (int8_t)ton+addVal <= 0) + transpDelNotes++; + } + + pattPtr++; + } + + pattPtr += MAX_VOICES - song.antChn; + } + } + } + break; + + case TRANSP_BLOCK: + { + if (pattMark.markY1 == pattMark.markY2) + return; // no pattern marking + + pattPtr = patt[editor.editPattern]; + if (pattPtr == NULL) + return; // empty pattern + + pattPtr += (pattMark.markY1 * MAX_VOICES) + pattMark.markX1; + + pattLen = pattLens[editor.editPattern]; + for (row = pattMark.markY1; row < pattMark.markY2; row++) + { + for (ch = pattMark.markX1; ch <= pattMark.markX2; ch++) + { + ton = pattPtr->ton; + if ((ton >= 1 && ton <= 96) && (!currInsOnly || pattPtr->instr == editor.curInstr)) + { + if ((int8_t)ton+addVal > 96 || (int8_t)ton+addVal <= 0) + transpDelNotes++; + } + + pattPtr++; + } + + pattPtr += MAX_VOICES - ((pattMark.markX2 + 1) - pattMark.markX1); + } + } + break; + + default: break; + } +} + +void doTranspose(void) +{ + char text[48]; + uint8_t ton; + uint16_t p, pattLen, ch, row; + tonTyp *pattPtr; + + countOverflowingNotes(lastInsMode, lastTranspMode, lastTranspVal); + if (transpDelNotes > 0) + { + sprintf(text, "%d note(s) will be erased! Proceed?", transpDelNotes); + if (okBox(2, "System request", text) != 1) + return; + } + + // lastTranspVal is never <-12 or >12, so unsigned testing for >96 is safe + switch (lastTranspMode) + { + case TRANSP_TRACK: + { + pattPtr = patt[editor.editPattern]; + if (pattPtr == NULL) + return; // empty pattern + + pattPtr += editor.cursor.ch; + + pattLen = pattLens[editor.editPattern]; + for (row = 0; row < pattLen; row++) + { + ton = pattPtr->ton; + if ((ton >= 1 && ton <= 96) && (!lastInsMode || pattPtr->instr == editor.curInstr)) + { + ton += lastTranspVal; + if (ton > 96) + ton = 0; // also handles underflow + + pattPtr->ton = ton; + } + + pattPtr += MAX_VOICES; + } + } + break; + + case TRANSP_PATT: + { + pattPtr = patt[editor.editPattern]; + if (pattPtr == NULL) + return; // empty pattern + + pattLen = pattLens[editor.editPattern]; + for (row = 0; row < pattLen; row++) + { + for (ch = 0; ch < song.antChn; ch++) + { + ton = pattPtr->ton; + if ((ton >= 1 && ton <= 96) && (!lastInsMode || pattPtr->instr == editor.curInstr)) + { + ton += lastTranspVal; + if (ton > 96) + ton = 0; // also handles underflow + + pattPtr->ton = ton; + } + + pattPtr++; + } + + pattPtr += MAX_VOICES - song.antChn; + } + } + break; + + case TRANSP_SONG: + { + for (p = 0; p < MAX_PATTERNS; p++) + { + pattPtr = patt[p]; + if (pattPtr == NULL) + continue; // empty pattern + + pattLen = pattLens[p]; + for (row = 0; row < pattLen; row++) + { + for (ch = 0; ch < song.antChn; ch++) + { + ton = pattPtr->ton; + if ((ton >= 1 && ton <= 96) && (!lastInsMode || pattPtr->instr == editor.curInstr)) + { + ton += lastTranspVal; + if (ton > 96) + ton = 0; // also handles underflow + + pattPtr->ton = ton; + } + + pattPtr++; + } + + pattPtr += MAX_VOICES - song.antChn; + } + } + } + break; + + case TRANSP_BLOCK: + { + if (pattMark.markY1 == pattMark.markY2) + return; // no pattern marking + + pattPtr = patt[editor.editPattern]; + if (pattPtr == NULL) + return; // empty pattern + + pattPtr += (pattMark.markY1 * MAX_VOICES) + pattMark.markX1; + + pattLen = pattLens[editor.editPattern]; + for (row = pattMark.markY1; row < pattMark.markY2; row++) + { + for (ch = pattMark.markX1; ch <= pattMark.markX2; ch++) + { + ton = pattPtr->ton; + if ((ton >= 1 && ton <= 96) && (!lastInsMode || pattPtr->instr == editor.curInstr)) + { + ton += lastTranspVal; + if (ton > 96) + ton = 0; // also handles underflow + + pattPtr->ton = ton; + } + + pattPtr++; + } + + pattPtr += MAX_VOICES - ((pattMark.markX2 + 1) - pattMark.markX1); + } + } + break; + + default: break; + } + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +void trackTranspCurInsUp(void) +{ + lastTranspMode = TRANSP_TRACK; + lastTranspVal = 1; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void trackTranspCurInsDn(void) +{ + lastTranspMode = TRANSP_TRACK; + lastTranspVal = -1; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void trackTranspCurIns12Up(void) +{ + lastTranspMode = TRANSP_TRACK; + lastTranspVal = 12; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void trackTranspCurIns12Dn(void) +{ + lastTranspMode = TRANSP_TRACK; + lastTranspVal = -12; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void trackTranspAllInsUp(void) +{ + lastTranspMode = TRANSP_TRACK; + lastTranspVal = 1; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void trackTranspAllInsDn(void) +{ + lastTranspMode = TRANSP_TRACK; + lastTranspVal = -1; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void trackTranspAllIns12Up(void) +{ + lastTranspMode = TRANSP_TRACK; + lastTranspVal = 12; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void trackTranspAllIns12Dn(void) +{ + lastTranspMode = TRANSP_TRACK; + lastTranspVal = -12; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void pattTranspCurInsUp(void) +{ + lastTranspMode = TRANSP_PATT; + lastTranspVal = 1; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void pattTranspCurInsDn(void) +{ + lastTranspMode = TRANSP_PATT; + lastTranspVal = -1; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void pattTranspCurIns12Up(void) +{ + lastTranspMode = TRANSP_PATT; + lastTranspVal = 12; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void pattTranspCurIns12Dn(void) +{ + lastTranspMode = TRANSP_PATT; + lastTranspVal = -12; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void pattTranspAllInsUp(void) +{ + lastTranspMode = TRANSP_PATT; + lastTranspVal = 1; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void pattTranspAllInsDn(void) +{ + lastTranspMode = TRANSP_PATT; + lastTranspVal = -1; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void pattTranspAllIns12Up(void) +{ + lastTranspMode = TRANSP_PATT; + lastTranspVal = 12; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void pattTranspAllIns12Dn(void) +{ + lastTranspMode = TRANSP_PATT; + lastTranspVal = -12; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void songTranspCurInsUp(void) +{ + lastTranspMode = TRANSP_SONG; + lastTranspVal = 1; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void songTranspCurInsDn(void) +{ + lastTranspMode = TRANSP_SONG; + lastTranspVal = -1; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void songTranspCurIns12Up(void) +{ + lastTranspMode = TRANSP_SONG; + lastTranspVal = 12; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void songTranspCurIns12Dn(void) +{ + lastTranspMode = TRANSP_SONG; + lastTranspVal = -12; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void songTranspAllInsUp(void) +{ + lastTranspMode = TRANSP_SONG; + lastTranspVal = 1; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void songTranspAllInsDn(void) +{ + lastTranspMode = TRANSP_SONG; + lastTranspVal = -1; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void songTranspAllIns12Up(void) +{ + lastTranspMode = TRANSP_SONG; + lastTranspVal = 12; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void songTranspAllIns12Dn(void) +{ + lastTranspMode = TRANSP_SONG; + lastTranspVal = -12; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void blockTranspCurInsUp(void) +{ + lastTranspMode = TRANSP_BLOCK; + lastTranspVal = 1; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void blockTranspCurInsDn(void) +{ + lastTranspMode = TRANSP_BLOCK; + lastTranspVal = -1; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void blockTranspCurIns12Up(void) +{ + lastTranspMode = TRANSP_BLOCK; + lastTranspVal = 12; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void blockTranspCurIns12Dn(void) +{ + lastTranspMode = TRANSP_BLOCK; + lastTranspVal = -12; + lastInsMode = TRANSP_CUR_INST; + doTranspose(); +} + +void blockTranspAllInsUp(void) +{ + lastTranspMode = TRANSP_BLOCK; + lastTranspVal = 1; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void blockTranspAllInsDn(void) +{ + lastTranspMode = TRANSP_BLOCK; + lastTranspVal = -1; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void blockTranspAllIns12Up(void) +{ + lastTranspMode = TRANSP_BLOCK; + lastTranspVal = 12; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void blockTranspAllIns12Dn(void) +{ + lastTranspMode = TRANSP_BLOCK; + lastTranspVal = -12; + lastInsMode = TRANSP_ALL_INST; + doTranspose(); +} + +void copyNote(tonTyp *src, tonTyp *dst) +{ + if (editor.copyMaskEnable) + { + if (editor.copyMask[0]) dst->ton = src->ton; + if (editor.copyMask[1]) dst->instr = src->instr; + if (editor.copyMask[2]) dst->vol = src->vol; + if (editor.copyMask[3]) dst->effTyp = src->effTyp; + if (editor.copyMask[4]) dst->eff = src->eff; + } + else + { + *dst = *src; + } +} + +void pasteNote(tonTyp *src, tonTyp *dst) +{ + if (editor.copyMaskEnable) + { + if (editor.copyMask[0] && (src->ton != 0 || !editor.transpMask[0])) dst->ton = src->ton; + if (editor.copyMask[1] && (src->instr != 0 || !editor.transpMask[1])) dst->instr = src->instr; + if (editor.copyMask[2] && (src->vol != 0 || !editor.transpMask[2])) dst->vol = src->vol; + if (editor.copyMask[3] && (src->effTyp != 0 || !editor.transpMask[3])) dst->effTyp = src->effTyp; + if (editor.copyMask[4] && (src->eff != 0 || !editor.transpMask[4])) dst->eff = src->eff; + } + else + { + *dst = *src; + } +} + +void cutTrack(void) +{ + uint16_t i, pattLen; + tonTyp *pattPtr; + + pattPtr = patt[editor.editPattern]; + if (pattPtr == NULL) + return; + + pattLen = pattLens[editor.editPattern]; + + if (config.ptnCutToBuffer) + { + memset(trackCopyBuff, 0, MAX_PATT_LEN * sizeof (tonTyp)); + for (i = 0; i < pattLen; i++) + copyNote(&pattPtr[(i * MAX_VOICES) + editor.cursor.ch], &trackCopyBuff[i]); + + trkBufLen = pattLen; + } + + pauseMusic(); + for (i = 0; i < pattLen; i++) + pasteNote(&clearNote, &pattPtr[(i * MAX_VOICES) + editor.cursor.ch]); + resumeMusic(); + + killPatternIfUnused(editor.editPattern); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +void copyTrack(void) +{ + uint16_t i, pattLen; + tonTyp *pattPtr; + + pattPtr = patt[editor.editPattern]; + if (pattPtr == NULL) + return; + + pattLen = pattLens[editor.editPattern]; + + memset(trackCopyBuff, 0, MAX_PATT_LEN * sizeof (tonTyp)); + for (i = 0; i < pattLen; i++) + copyNote(&pattPtr[(i * MAX_VOICES) + editor.cursor.ch], &trackCopyBuff[i]); + + trkBufLen = pattLen; +} + +void pasteTrack(void) +{ + uint16_t i, pattLen; + tonTyp *pattPtr; + + if (trkBufLen == 0 || !allocatePattern(editor.editPattern)) + return; + + pattPtr = patt[editor.editPattern]; + pattLen = pattLens[editor.editPattern]; + + pauseMusic(); + for (i = 0; i < pattLen; i++) + pasteNote(&trackCopyBuff[i], &pattPtr[(i * MAX_VOICES) + editor.cursor.ch]); + resumeMusic(); + + killPatternIfUnused(editor.editPattern); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +void cutPattern(void) +{ + uint16_t i, x, pattLen; + tonTyp *pattPtr; + + pattPtr = patt[editor.editPattern]; + if (pattPtr == NULL) + return; + + pattLen = pattLens[editor.editPattern]; + + if (config.ptnCutToBuffer) + { + memset(ptnCopyBuff, 0, (MAX_PATT_LEN * MAX_VOICES) * sizeof (tonTyp)); + for (x = 0; x < song.antChn; x++) + { + for (i = 0; i < pattLen; i++) + copyNote(&pattPtr[(i * MAX_VOICES) + x], &ptnCopyBuff[(i * MAX_VOICES) + x]); + } + + ptnBufLen = pattLen; + } + + pauseMusic(); + for (x = 0; x < song.antChn; x++) + { + for (i = 0; i < pattLen; i++) + pasteNote(&clearNote, &pattPtr[(i * MAX_VOICES) + x]); + } + resumeMusic(); + + killPatternIfUnused(editor.editPattern); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +void copyPattern(void) +{ + uint16_t i, x, pattLen; + tonTyp *pattPtr; + + pattPtr = patt[editor.editPattern]; + if (pattPtr == NULL) + return; + + pattLen = pattLens[editor.editPattern]; + + memset(ptnCopyBuff, 0, (MAX_PATT_LEN * MAX_VOICES) * sizeof (tonTyp)); + for (x = 0; x < song.antChn; x++) + { + for (i = 0; i < pattLen; i++) + copyNote(&pattPtr[(i * MAX_VOICES) + x], &ptnCopyBuff[(i * MAX_VOICES) + x]); + } + + ptnBufLen = pattLen; + + editor.ui.updatePatternEditor = true; +} + +void pastePattern(void) +{ + uint16_t i, x, pattLen; + tonTyp *pattPtr; + + if (ptnBufLen == 0) + return; + + if (pattLens[editor.editPattern] != ptnBufLen) + { + if (okBox(1, "System request", "Change pattern length to copybuffer's length?") == 1) + setPatternLen(editor.editPattern, ptnBufLen); + } + + if (!allocatePattern(editor.editPattern)) + return; + + pattPtr = patt[editor.editPattern]; + pattLen = pattLens[editor.editPattern]; + + pauseMusic(); + for (x = 0; x < song.antChn; x++) + { + for (i = 0; i < pattLen; i++) + pasteNote(&ptnCopyBuff[(i * MAX_VOICES) + x], &pattPtr[(i * MAX_VOICES) + x]); + } + resumeMusic(); + + killPatternIfUnused(editor.editPattern); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +void cutBlock(void) +{ + uint16_t x, y; + tonTyp *pattPtr; + + if (pattMark.markY1 == pattMark.markY2 || pattMark.markY1 > pattMark.markY2) + return; + + pattPtr = patt[editor.editPattern]; + if (pattPtr == NULL) + return; + + if (config.ptnCutToBuffer) + { + for (x = pattMark.markX1; x <= pattMark.markX2; x++) + { + for (y = pattMark.markY1; y < pattMark.markY2; y++) + { + assert(x < song.antChn && y < pattLens[editor.editPattern]); + copyNote(&pattPtr[(y * MAX_VOICES) + x], + &blkCopyBuff[((y - pattMark.markY1) * MAX_VOICES) + (x - pattMark.markX1)]); + } + } + } + + pauseMusic(); + for (x = pattMark.markX1; x <= pattMark.markX2; x++) + { + for (y = pattMark.markY1; y < pattMark.markY2; y++) + pasteNote(&clearNote, &pattPtr[(y * MAX_VOICES) + x]); + } + resumeMusic(); + + markXSize = pattMark.markX2 - pattMark.markX1; + markYSize = pattMark.markY2 - pattMark.markY1; + blockCopied = true; + + killPatternIfUnused(editor.editPattern); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +void copyBlock(void) +{ + uint16_t x, y; + tonTyp *pattPtr; + + if (pattMark.markY1 == pattMark.markY2 || pattMark.markY1 > pattMark.markY2) + return; + + pattPtr = patt[editor.editPattern]; + if (pattPtr == NULL) + return; + + for (x = pattMark.markX1; x <= pattMark.markX2; x++) + { + for (y = pattMark.markY1; y < pattMark.markY2; y++) + { + assert(x < song.antChn && y < pattLens[editor.editPattern]); + copyNote(&pattPtr[(y * MAX_VOICES) + x], + &blkCopyBuff[((y - pattMark.markY1) * MAX_VOICES) + (x - pattMark.markX1)]); + } + } + + markXSize = pattMark.markX2 - pattMark.markX1; + markYSize = pattMark.markY2 - pattMark.markY1; + blockCopied = true; +} + +void pasteBlock(void) +{ + uint16_t xpos, ypos, j, k, pattLen; + tonTyp *pattPtr; + + if (!blockCopied || !allocatePattern(editor.editPattern)) + return; + + pattLen = pattLens[editor.editPattern]; + + xpos = editor.cursor.ch; + ypos = editor.pattPos; + + j = markXSize; + if (j+xpos >= song.antChn) + j = song.antChn - xpos - 1; + + k = markYSize; + if (k+ypos >= pattLen) + k = pattLen - ypos; + + pattPtr = patt[editor.editPattern]; + + pauseMusic(); + for (uint16_t x = xpos; x <= xpos+j; x++) + { + for (uint16_t y = ypos; y < ypos+k; y++) + { + assert(x < song.antChn && y < pattLen); + pasteNote(&blkCopyBuff[((y - ypos) * MAX_VOICES) + (x - xpos)], &pattPtr[(y * MAX_VOICES) + x]); + } + } + resumeMusic(); + + killPatternIfUnused(editor.editPattern); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +static void remapInstrXY(uint16_t nr, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint8_t src, uint8_t dst) +{ + int32_t noteSkipLen; + tonTyp *pattPtr, *note; + + // this routine is only used sanely, so no need to check input + + pattPtr = patt[nr]; + if (pattPtr == NULL) + return; + + noteSkipLen = MAX_VOICES - ((x2 + 1) - x1); + note = &pattPtr[(y1 * MAX_VOICES) + x1]; + + for (uint16_t y = y1; y <= y2; y++) + { + for (uint16_t x = x1; x <= x2; x++) + { + assert(x < song.antChn && y < pattLens[nr]); + if (note->instr == src) + note->instr = dst; + + note++; + } + + note += noteSkipLen; + } +} + +void remapBlock(void) +{ + if (editor.srcInstr == editor.curInstr || pattMark.markY1 == pattMark.markY2 || pattMark.markY1 > pattMark.markY2) + return; + + pauseMusic(); + remapInstrXY(editor.editPattern, + pattMark.markX1, pattMark.markY1, + pattMark.markX2, pattMark.markY2 - 1, + editor.srcInstr, editor.curInstr); + resumeMusic(); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +void remapTrack(void) +{ + if (editor.srcInstr == editor.curInstr) + return; + + pauseMusic(); + remapInstrXY(editor.editPattern, + editor.cursor.ch, 0, + editor.cursor.ch, pattLens[editor.editPattern] - 1, + editor.srcInstr, editor.curInstr); + resumeMusic(); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +void remapPattern(void) +{ + if (editor.srcInstr == editor.curInstr) + return; + + pauseMusic(); + remapInstrXY(editor.editPattern, + 0, 0, + song.antChn - 1, pattLens[editor.editPattern] - 1, + editor.srcInstr, editor.curInstr); + resumeMusic(); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +void remapSong(void) +{ + uint8_t pattNr; + + if (editor.srcInstr == editor.curInstr) + return; + + pauseMusic(); + for (uint16_t i = 0; i < MAX_PATTERNS; i++) + { + pattNr = (uint8_t)i; + + remapInstrXY(pattNr, + 0, 0, + song.antChn - 1, pattLens[pattNr] - 1, + editor.srcInstr, editor.curInstr); + } + resumeMusic(); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); +} + +static int8_t getNoteVolume(tonTyp *note) +{ + int8_t nv, vv, ev, finalv; + + if (note->vol >= 0x10 && note->vol <= 0x50) + vv = note->vol - 0x10; + else + vv = -1; + + if (note->effTyp == 0xC) + ev = MIN(note->eff, 64); + else + ev = -1; + + if (note->instr != 0 && instr[note->instr] != NULL) + nv = (int8_t)instr[note->instr]->samp[0].vol; + else + nv = -1; + + finalv = -1; + if (nv >= 0) finalv = nv; + if (vv >= 0) finalv = vv; + if (ev >= 0) finalv = ev; + + return finalv; +} + +static void setNoteVolume(tonTyp *note, int8_t newVol) +{ + int8_t oldv; + + if (newVol < 0) + return; + + oldv = getNoteVolume(note); + if (note->vol == oldv) + return; // volume is the same + + if (note->effTyp == 0x0C) + note->eff = newVol; // Cxx effect + else + note->vol = 0x10 + newVol; // volume column +} + +static void scaleNote(uint16_t ptn, int8_t ch, int16_t row, double dScale) +{ + int32_t vol; + uint16_t pattLen; + tonTyp *note; + + if (patt[ptn] == NULL) + return; + + pattLen = pattLens[ptn]; + if (row < 0 || row >= pattLen || ch < 0 || ch >= song.antChn) + return; + + note = &patt[ptn][(row * MAX_VOICES) + ch]; + + vol = getNoteVolume(note); + if (vol >= 0) + { + vol = (int32_t)round(vol * dScale); + vol = MIN(MAX(0, vol), 64); + setNoteVolume(note, (int8_t)vol); + } +} + +static bool askForScaleFade(char *msg) +{ + char *val1, *val2, volstr[32 + 1]; + uint8_t err; + + sprintf(volstr, "%0.2f,%0.2f", dVolScaleFK1, dVolScaleFK2); + if (inputBox(1, msg, volstr, sizeof (volstr) - 1) != 1) + return false; + + err = false; + + val1 = volstr; + if (strlen(val1) < 3) + err = true; + + val2 = strchr(volstr, ','); + if (val2 == NULL || strlen(val2) < 3) + err = true; + + if (err) + { + okBox(0, "System message", "Invalid constant expressions."); + return false; + } + + dVolScaleFK1 = atof(val1); + dVolScaleFK2 = atof(val2 + 1); + + return true; +} + +void scaleFadeVolumeTrack(void) +{ + uint16_t pattLen; + double dIPy, dVol; + + if (!askForScaleFade("Volume scale-fade track (start-, end scale)")) + return; + + if (patt[editor.editPattern] == NULL) + return; + + pattLen = pattLens[editor.editPattern]; + + dIPy = 0.0; + if (pattLen > 0) + dIPy = (dVolScaleFK2 - dVolScaleFK1) / pattLen; + + dVol = dVolScaleFK1; + + pauseMusic(); + for (uint16_t row = 0; row < pattLen; row++) + { + scaleNote(editor.editPattern, editor.cursor.ch, row, dVol); + dVol += dIPy; + } + resumeMusic(); +} + +void scaleFadeVolumePattern(void) +{ + uint16_t pattLen; + double dIPy, dVol; + + if (!askForScaleFade("Volume scale-fade pattern (start-, end scale)")) + return; + + if (patt[editor.editPattern] == NULL) + return; + + pattLen = pattLens[editor.editPattern]; + + dIPy = 0.0; + if (pattLen > 0) + dIPy = (dVolScaleFK2 - dVolScaleFK1) / pattLen; + + dVol = dVolScaleFK1; + + pauseMusic(); + for (uint16_t row = 0; row < pattLen; row++) + { + for (uint8_t ch = 0; ch < song.antChn; ch++) + scaleNote(editor.editPattern, ch, row, dVol); + + dVol += dIPy; + } + resumeMusic(); +} + +void scaleFadeVolumeBlock(void) +{ + uint16_t dy; + double dIPy, dVol; + + if (!askForScaleFade("Volume scale-fade block (start-, end scale)")) + return; + + if (patt[editor.editPattern] == NULL || pattMark.markY1 == pattMark.markY2 || pattMark.markY1 > pattMark.markY2) + return; + + dy = pattMark.markY2 - pattMark.markY1; + + dIPy = 0.0; + if (dy > 0) + dIPy = (dVolScaleFK2 - dVolScaleFK1) / dy; + + dVol = dVolScaleFK1; + + pauseMusic(); + for (uint16_t row = pattMark.markY1; row < pattMark.markY2; row++) + { + for (uint16_t ch = pattMark.markX1; ch <= pattMark.markX2; ch++) + scaleNote(editor.editPattern, (uint8_t)ch, row, dVol); + + dVol += dIPy; + } + resumeMusic(); +} + +void toggleCopyMaskEnable(void) { editor.copyMaskEnable ^= 1; } +void toggleCopyMask0(void) { editor.copyMask[0] ^= 1; }; +void toggleCopyMask1(void) { editor.copyMask[1] ^= 1; }; +void toggleCopyMask2(void) { editor.copyMask[2] ^= 1; }; +void toggleCopyMask3(void) { editor.copyMask[3] ^= 1; }; +void toggleCopyMask4(void) { editor.copyMask[4] ^= 1; }; +void togglePasteMask0(void) { editor.pasteMask[0] ^= 1; }; +void togglePasteMask1(void) { editor.pasteMask[1] ^= 1; }; +void togglePasteMask2(void) { editor.pasteMask[2] ^= 1; }; +void togglePasteMask3(void) { editor.pasteMask[3] ^= 1; }; +void togglePasteMask4(void) { editor.pasteMask[4] ^= 1; }; +void toggleTranspMask0(void) { editor.transpMask[0] ^= 1; }; +void toggleTranspMask1(void) { editor.transpMask[1] ^= 1; }; +void toggleTranspMask2(void) { editor.transpMask[2] ^= 1; }; +void toggleTranspMask3(void) { editor.transpMask[3] ^= 1; }; +void toggleTranspMask4(void) { editor.transpMask[4] ^= 1; }; diff --git a/src/ft2_edit.h b/src/ft2_edit.h index 1b3c739..a67fa46 100644 --- a/src/ft2_edit.h +++ b/src/ft2_edit.h @@ -1,79 +1,79 @@ -#pragma once - -#include -#include - -bool handleEditKeys(SDL_Keycode keycode, SDL_Scancode scancode); -void recordNote(uint8_t note, int8_t vol); -void testNoteKeysRelease(SDL_Scancode scancode); -void writeToMacroSlot(uint8_t slot); -void writeFromMacroSlot(uint8_t slot); -void insertPatternNote(void); -void insertPatternLine(void); -void deletePatternNote(void); -void deletePatternLine(void); -void scaleFadeVolumeTrack(void); -void scaleFadeVolumePattern(void); -void scaleFadeVolumeBlock(void); -void toggleCopyMaskEnable(void); -void toggleCopyMask0(void); -void toggleCopyMask1(void); -void toggleCopyMask2(void); -void toggleCopyMask3(void); -void toggleCopyMask4(void); -void togglePasteMask0(void); -void togglePasteMask1(void); -void togglePasteMask2(void); -void togglePasteMask3(void); -void togglePasteMask4(void); -void toggleTranspMask0(void); -void toggleTranspMask1(void); -void toggleTranspMask2(void); -void toggleTranspMask3(void); -void toggleTranspMask4(void); -void trackTranspCurInsUp(void); -void trackTranspCurInsDn(void); -void trackTranspCurIns12Up(void); -void trackTranspCurIns12Dn(void); -void trackTranspAllInsUp(void); -void trackTranspAllInsDn(void); -void trackTranspAllIns12Up(void); -void trackTranspAllIns12Dn(void); -void pattTranspCurInsUp(void); -void pattTranspCurInsDn(void); -void pattTranspCurIns12Up(void); -void pattTranspCurIns12Dn(void); -void pattTranspAllInsUp(void); -void pattTranspAllInsDn(void); -void pattTranspAllIns12Up(void); -void pattTranspAllIns12Dn(void); -void songTranspCurInsUp(void); -void songTranspCurInsDn(void); -void songTranspCurIns12Up(void); -void songTranspCurIns12Dn(void); -void songTranspAllInsUp(void); -void songTranspAllInsDn(void); -void songTranspAllIns12Up(void); -void songTranspAllIns12Dn(void); -void blockTranspCurInsUp(void); -void blockTranspCurInsDn(void); -void blockTranspCurIns12Up(void); -void blockTranspCurIns12Dn(void); -void blockTranspAllInsUp(void); -void blockTranspAllInsDn(void); -void blockTranspAllIns12Up(void); -void blockTranspAllIns12Dn(void); -void doTranspose(void); // called from buttons above or specific sys req. -void cutTrack(void); -void copyTrack(void); -void pasteTrack(void); -void cutPattern(void); -void copyPattern(void); -void pastePattern(void); -void cutBlock(void); -void copyBlock(void); -void pasteBlock(void); -void remapBlock(void); -void remapTrack(void); -void remapPattern(void); -void remapSong(void); +#pragma once + +#include +#include + +bool handleEditKeys(SDL_Keycode keycode, SDL_Scancode scancode); +void recordNote(uint8_t note, int8_t vol); +void testNoteKeysRelease(SDL_Scancode scancode); +void writeToMacroSlot(uint8_t slot); +void writeFromMacroSlot(uint8_t slot); +void insertPatternNote(void); +void insertPatternLine(void); +void deletePatternNote(void); +void deletePatternLine(void); +void scaleFadeVolumeTrack(void); +void scaleFadeVolumePattern(void); +void scaleFadeVolumeBlock(void); +void toggleCopyMaskEnable(void); +void toggleCopyMask0(void); +void toggleCopyMask1(void); +void toggleCopyMask2(void); +void toggleCopyMask3(void); +void toggleCopyMask4(void); +void togglePasteMask0(void); +void togglePasteMask1(void); +void togglePasteMask2(void); +void togglePasteMask3(void); +void togglePasteMask4(void); +void toggleTranspMask0(void); +void toggleTranspMask1(void); +void toggleTranspMask2(void); +void toggleTranspMask3(void); +void toggleTranspMask4(void); +void trackTranspCurInsUp(void); +void trackTranspCurInsDn(void); +void trackTranspCurIns12Up(void); +void trackTranspCurIns12Dn(void); +void trackTranspAllInsUp(void); +void trackTranspAllInsDn(void); +void trackTranspAllIns12Up(void); +void trackTranspAllIns12Dn(void); +void pattTranspCurInsUp(void); +void pattTranspCurInsDn(void); +void pattTranspCurIns12Up(void); +void pattTranspCurIns12Dn(void); +void pattTranspAllInsUp(void); +void pattTranspAllInsDn(void); +void pattTranspAllIns12Up(void); +void pattTranspAllIns12Dn(void); +void songTranspCurInsUp(void); +void songTranspCurInsDn(void); +void songTranspCurIns12Up(void); +void songTranspCurIns12Dn(void); +void songTranspAllInsUp(void); +void songTranspAllInsDn(void); +void songTranspAllIns12Up(void); +void songTranspAllIns12Dn(void); +void blockTranspCurInsUp(void); +void blockTranspCurInsDn(void); +void blockTranspCurIns12Up(void); +void blockTranspCurIns12Dn(void); +void blockTranspAllInsUp(void); +void blockTranspAllInsDn(void); +void blockTranspAllIns12Up(void); +void blockTranspAllIns12Dn(void); +void doTranspose(void); // called from buttons above or specific sys req. +void cutTrack(void); +void copyTrack(void); +void pasteTrack(void); +void cutPattern(void); +void copyPattern(void); +void pastePattern(void); +void cutBlock(void); +void copyBlock(void); +void pasteBlock(void); +void remapBlock(void); +void remapTrack(void); +void remapPattern(void); +void remapSong(void); diff --git a/src/ft2_events.c b/src/ft2_events.c index a0614ce..7f39ec6 100644 --- a/src/ft2_events.c +++ b/src/ft2_events.c @@ -1,534 +1,539 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#ifdef _WIN32 -#define WIN32_MEAN_AND_LEAN -#include -#include -#else -#include -#include -#include // chdir() -#endif -#include -#include -#include "ft2_header.h" -#include "ft2_config.h" -#include "ft2_diskop.h" -#include "ft2_module_loader.h" -#include "ft2_module_saver.h" -#include "ft2_sample_loader.h" -#include "ft2_mouse.h" -#include "ft2_midi.h" -#include "ft2_video.h" -#include "ft2_trim.h" -#include "ft2_inst_ed.h" -#include "ft2_sampling.h" -#include "ft2_textboxes.h" -#include "ft2_sysreqs.h" -#include "ft2_keyboard.h" -#include "ft2_sample_ed.h" -#include "ft2_sample_ed_features.h" - -#define CRASH_TEXT "Oh no!\nThe Fasttracker II clone has crashed...\n\nA backup .xm was hopefully " \ - "saved to the current module directory.\n\nPlease report this to 8bitbubsy " \ - "(IRC or olav.sorensen@live.no).\nTry to mention what you did before the crash happened." - -static bool backupMadeAfterCrash; - -#ifdef _WIN32 -#define SYSMSG_FILE_ARG (WM_USER + 1) -#define ARGV_SHARED_MEM_MAX_LEN ((MAX_PATH * 2) + 2) -#define SHARED_HWND_NAME TEXT("Local\\FT2CloneHwnd") -#define SHARED_FILENAME TEXT("Local\\FT2CloneFilename") -static HWND hWnd; -static HANDLE oneInstHandle, hMapFile; -static LPCTSTR sharedMemBuf; - -// used for Windows usleep() implementation -static NTSTATUS (__stdcall *NtDelayExecution)(BOOL Alertable, PLARGE_INTEGER DelayInterval); -#endif - -static void handleInput(void); - -// usleep() implementation for Windows -#ifdef _WIN32 -void usleep(uint32_t usec) -{ - LARGE_INTEGER lpDueTime; - - if (NtDelayExecution == NULL) - { - // NtDelayExecution() is not available (shouldn't happen), use regular sleep() - Sleep(usec / 1000); - } - else - { - // this prevents a 64-bit MUL (will not overflow with the ranges we use anyway) - lpDueTime.HighPart = 0xFFFFFFFF; - lpDueTime.LowPart = (DWORD)(-10 * (int32_t)usec); - - NtDelayExecution(false, &lpDueTime); - } -} - -void setupWin32Usleep(void) -{ - NtDelayExecution = (NTSTATUS (__stdcall *)(BOOL, PLARGE_INTEGER))GetProcAddress(GetModuleHandle("ntdll.dll"), "NtDelayExecution"); - timeBeginPeriod(0); // enter highest timer resolution -} - -void freeWin32Usleep(void) -{ - timeEndPeriod(0); // exit highest timer resolution -} -#endif - -void readInput(void) -{ - readMouseXY(); - readKeyModifiers(); - setSyncedReplayerVars(); - handleInput(); -} - -void handleThreadEvents(void) -{ - if (okBoxData.active) - { - okBoxData.returnData = okBox(okBoxData.typ, okBoxData.headline, okBoxData.text); - okBoxData.active = false; - } -} - -void handleEvents(void) -{ - // called after MIDI has been initialized - if (midi.rescanDevicesFlag) - { - midi.rescanDevicesFlag = false; - - rescanMidiInputDevices(); - if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_MIDI_INPUT) - drawMidiInputList(); - } - - if (editor.trimThreadWasDone) - { - editor.trimThreadWasDone = false; - trimThreadDone(); - } - - if (editor.updateCurSmp) - { - editor.updateCurSmp = false; - - updateNewInstrument(); - updateNewSample(); - - diskOpSetFilename(DISKOP_ITEM_SAMPLE, editor.tmpFilenameU); - - removeSampleIsLoadingFlag(); - setMouseBusy(false); - } - - if (editor.updateCurInstr) - { - editor.updateCurInstr = false; - - updateNewInstrument(); - updateNewSample(); - - diskOpSetFilename(DISKOP_ITEM_INSTR, editor.tmpInstrFilenameU); - setMouseBusy(false); - } - - // some Disk Op. stuff - - if (editor.diskOpReadDir) - { - editor.diskOpReadDir = false; - startDiskOpFillThread(); - } - - if (editor.diskOpReadDone) - { - editor.diskOpReadDone = false; - if (editor.ui.diskOpShown) - diskOp_DrawDirectory(); - } - - handleLoadMusicEvents(); - - if (editor.samplingAudioFlag) handleSamplingUpdates(); - if (editor.ui.setMouseBusy) mouseAnimOn(); - if (editor.ui.setMouseIdle) mouseAnimOff(); - - if (editor.updateWindowTitle) - { - editor.updateWindowTitle = false; - updateWindowTitle(false); - } -} - -// Windows specific routines -#ifdef _WIN32 -static bool instanceAlreadyOpen(void) -{ - hMapFile = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, SHARED_HWND_NAME); - if (hMapFile != NULL) - return true; // another instance is already open - - // no instance is open, let's created a shared memory file with hWnd in it - oneInstHandle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof (HWND), SHARED_HWND_NAME); - if (oneInstHandle != NULL) - { - sharedMemBuf = (LPTSTR)MapViewOfFile(oneInstHandle, FILE_MAP_ALL_ACCESS, 0, 0, sizeof (HWND)); - if (sharedMemBuf != NULL) - { - CopyMemory((PVOID)sharedMemBuf, &video.hWnd, sizeof (HWND)); - UnmapViewOfFile(sharedMemBuf); - sharedMemBuf = NULL; - } - } - - return false; -} - -bool handleSingleInstancing(int32_t argc, char **argv) -{ - SDL_SysWMinfo wmInfo; - - SDL_VERSION(&wmInfo.version); - if (!SDL_GetWindowWMInfo(video.window, &wmInfo)) - return false; - - video.hWnd = wmInfo.info.win.window; - if (instanceAlreadyOpen() && argc >= 2 && argv[1][0] != '\0') - { - sharedMemBuf = (LPTSTR)MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, sizeof (HWND)); - if (sharedMemBuf != NULL) - { - memcpy(&hWnd, sharedMemBuf, sizeof (HWND)); - - UnmapViewOfFile(sharedMemBuf); - sharedMemBuf = NULL; - CloseHandle(hMapFile); - hMapFile = NULL; - - hMapFile = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, ARGV_SHARED_MEM_MAX_LEN, SHARED_FILENAME); - if (hMapFile != NULL) - { - sharedMemBuf = (LPTSTR)MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, ARGV_SHARED_MEM_MAX_LEN); - if (sharedMemBuf != NULL) - { - strcpy((char *)sharedMemBuf, argv[1]); - - UnmapViewOfFile(sharedMemBuf); - sharedMemBuf = NULL; - - SendMessage(hWnd, SYSMSG_FILE_ARG, 0, 0); - Sleep(80); // wait a bit to make sure first instance received msg - - CloseHandle(hMapFile); - hMapFile = NULL; - - return true; // quit instance now - } - } - - return true; - } - - CloseHandle(hMapFile); - hMapFile = NULL; - } - - SDL_EventState(SDL_SYSWMEVENT, SDL_ENABLE); - return false; -} - -static void handleSysMsg(SDL_Event inputEvent) -{ - SDL_SysWMmsg *wmMsg; - - if (inputEvent.type == SDL_SYSWMEVENT) - { - wmMsg = inputEvent.syswm.msg; - if (wmMsg->subsystem == SDL_SYSWM_WINDOWS && wmMsg->msg.win.msg == SYSMSG_FILE_ARG) - { - hMapFile = OpenFileMapping(FILE_MAP_READ, FALSE, SHARED_FILENAME); - if (hMapFile != NULL) - { - sharedMemBuf = (LPTSTR)MapViewOfFile(hMapFile, FILE_MAP_READ, 0, 0, ARGV_SHARED_MEM_MAX_LEN); - if (sharedMemBuf != NULL) - { - editor.autoPlayOnDrop = true; - loadDroppedFile((char *)sharedMemBuf, true); - - UnmapViewOfFile(sharedMemBuf); - sharedMemBuf = NULL; - } - - CloseHandle(hMapFile); - hMapFile = NULL; - } - } - } -} - -void closeSingleInstancing(void) -{ - if (oneInstHandle != NULL) - { - CloseHandle(oneInstHandle); - oneInstHandle = NULL; - } -} - -static LONG WINAPI exceptionHandler(EXCEPTION_POINTERS *ptr) -{ -#define BACKUP_FILES_TO_TRY 1000 - char fileName[32]; - uint16_t i; - UNICHAR *fileNameU; - struct stat statBuffer; - - (void)ptr; - - if (oneInstHandle != NULL) - CloseHandle(oneInstHandle); - - if (!backupMadeAfterCrash) - { - if (getDiskOpModPath() != NULL && UNICHAR_CHDIR(getDiskOpModPath()) == 0) - { - // find a free filename - for (i = 1; i < 1000; i++) - { - sprintf(fileName, "backup%03d.xm", i); - if (stat(fileName, &statBuffer) != 0) - break; // filename OK - } - - if (i != 1000) - { - fileNameU = cp437ToUnichar(fileName); - if (fileNameU != NULL) - { - saveXM(fileNameU); - free(fileNameU); - } - } - } - - backupMadeAfterCrash = true; // set this flag to prevent multiple backups from being saved at once - showErrorMsgBox(CRASH_TEXT); - } - - return EXCEPTION_CONTINUE_SEARCH; -} -#else -static void exceptionHandler(int32_t signal) -{ -#define BACKUP_FILES_TO_TRY 1000 - char fileName[32]; - uint16_t i; - UNICHAR *fileNameU; - struct stat statBuffer; - - if (signal == 15) - return; - - if (!backupMadeAfterCrash) - { - if (getDiskOpModPath() != NULL && UNICHAR_CHDIR(getDiskOpModPath()) == 0) - { - // find a free filename - for (i = 1; i < 1000; i++) - { - sprintf(fileName, "backup%03d.xm", i); - if (stat(fileName, &statBuffer) != 0) - break; // filename OK - } - - if (i != 1000) - { - fileNameU = cp437ToUnichar(fileName); - if (fileNameU != NULL) - { - saveXM(fileNameU); - free(fileNameU); - } - } - } - - backupMadeAfterCrash = true; // set this flag to prevent multiple backups from being saved at once - showErrorMsgBox(CRASH_TEXT); - } -} -#endif - -void setupCrashHandler(void) -{ -#ifndef _DEBUG -#ifdef _WIN32 - SetUnhandledExceptionFilter(exceptionHandler); -#else - struct sigaction act; - struct sigaction oldAct; - - memset(&act, 0, sizeof (act)); - act.sa_handler = exceptionHandler; - act.sa_flags = SA_RESETHAND; - - sigaction(SIGILL | SIGABRT | SIGFPE | SIGSEGV, &act, &oldAct); - sigaction(SIGILL, &act, &oldAct); - sigaction(SIGABRT, &act, &oldAct); - sigaction(SIGFPE, &act, &oldAct); - sigaction(SIGSEGV, &act, &oldAct); -#endif -#endif -} - -static void handleInput(void) -{ - char *inputText; - uint8_t vibDepth; - uint32_t eventType; - SDL_Event event; - SDL_Keycode key; - - if (!editor.busy) - handleLastGUIObjectDown(); // this should be handled before main input poll (on next frame) - - while (SDL_PollEvent(&event)) - { - if (video.vsync60HzPresent) - { - /* if we minimize the window and vsync is present, vsync is temporarily turned off. - ** recalc waitVBL() vars so that it can sleep properly in said mode. */ - if (event.type == SDL_WINDOWEVENT && - (event.window.event == SDL_WINDOWEVENT_MINIMIZED || event.window.event == SDL_WINDOWEVENT_FOCUS_LOST)) - { - setupWaitVBL(); - } - } - - if (editor.busy) - { - eventType = event.type; - key = event.key.keysym.scancode; - - /* The Echo tool in Smp. Ed. can literally take forever if abused, - ** let mouse buttons/ESC/SIGTERM force-stop it. */ - if (eventType == SDL_MOUSEBUTTONDOWN || eventType == SDL_QUIT || - (eventType == SDL_KEYUP && key == SDL_SCANCODE_ESCAPE)) - { - handleEchoToolPanic(); - } - - // let certain mouse buttons or keyboard keys stop certain events - if (eventType == SDL_MOUSEBUTTONDOWN || - (eventType == SDL_KEYDOWN && key != SDL_SCANCODE_MUTE && - key != SDL_SCANCODE_AUDIOMUTE && key != SDL_SCANCODE_VOLUMEDOWN && - key != SDL_SCANCODE_VOLUMEUP)) - { - // only let keyboard keys interrupt audio sampling - if (editor.samplingAudioFlag && eventType != SDL_MOUSEBUTTONDOWN) - stopSampling(); - - editor.wavIsRendering = false; - } - - continue; // another thread is busy with something, drop input - } - -#ifdef _WIN32 - handleSysMsg(event); -#endif - // text input when editing texts - if (event.type == SDL_TEXTINPUT) - { - if (editor.editTextFlag) - { - if (keyb.ignoreTextEditKey) - { - keyb.ignoreTextEditKey = false; - continue; - } - - inputText = utf8ToCp437(event.text.text, false); - if (inputText != NULL) - { - if (inputText[0] != '\0') - handleTextEditInputChar(inputText[0]); - - free(inputText); - } - } - } - else if (event.type == SDL_MOUSEWHEEL) - { - if (event.wheel.y > 0) mouseWheelHandler(MOUSE_WHEEL_UP); - else if (event.wheel.y < 0) mouseWheelHandler(MOUSE_WHEEL_DOWN); - } - else if (event.type == SDL_DROPFILE) - { - editor.autoPlayOnDrop = false; - loadDroppedFile(event.drop.file, true); - SDL_free(event.drop.file); - } - else if (event.type == SDL_QUIT) - { - if (editor.ui.sysReqShown) - continue; - - if (editor.editTextFlag) - exitTextEditing(); - - if (!song.isModified) - { - editor.throwExit = true; - } - else - { - if (!video.fullscreen) - { - // de-minimize window and set focus so that the user sees the message box - SDL_RestoreWindow(video.window); - SDL_RaiseWindow(video.window); - } - - if (quitBox(true) == 1) - editor.throwExit = true; - } - } - else if (event.type == SDL_KEYUP) - { - keyUpHandler(event.key.keysym.scancode, event.key.keysym.sym); - } - else if (event.type == SDL_KEYDOWN) - { - keyDownHandler(event.key.keysym.scancode, event.key.keysym.sym, event.key.repeat); - } - else if (event.type == SDL_MOUSEBUTTONUP) - { - mouseButtonUpHandler(event.button.button); - } - else if (event.type == SDL_MOUSEBUTTONDOWN) - { - mouseButtonDownHandler(event.button.button); - } - - if (editor.throwExit) - editor.programRunning = false; - } - - // MIDI vibrato - vibDepth = (midi.currMIDIVibDepth >> 9) & 0x0F; - if (vibDepth > 0) - recordMIDIEffect(0x04, 0xA0 | vibDepth); -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#ifdef _WIN32 +#define WIN32_MEAN_AND_LEAN +#include +#include +#else +#include +#include +#include // chdir() +#endif +#include +#include +#include "ft2_header.h" +#include "ft2_config.h" +#include "ft2_diskop.h" +#include "ft2_module_loader.h" +#include "ft2_module_saver.h" +#include "ft2_sample_loader.h" +#include "ft2_mouse.h" +#include "ft2_midi.h" +#include "ft2_video.h" +#include "ft2_trim.h" +#include "ft2_inst_ed.h" +#include "ft2_sampling.h" +#include "ft2_textboxes.h" +#include "ft2_sysreqs.h" +#include "ft2_keyboard.h" +#include "ft2_sample_ed.h" +#include "ft2_sample_ed_features.h" + +#define CRASH_TEXT "Oh no!\nThe Fasttracker II clone has crashed...\n\nA backup .xm was hopefully " \ + "saved to the current module directory.\n\nPlease report this to 8bitbubsy " \ + "(IRC or olav.sorensen@live.no).\nTry to mention what you did before the crash happened." + +static bool backupMadeAfterCrash; + +#ifdef _WIN32 +#define SYSMSG_FILE_ARG (WM_USER + 1) +#define ARGV_SHARED_MEM_MAX_LEN ((MAX_PATH * 2) + 2) +#define SHARED_HWND_NAME TEXT("Local\\FT2CloneHwnd") +#define SHARED_FILENAME TEXT("Local\\FT2CloneFilename") +static HWND hWnd; +static HANDLE oneInstHandle, hMapFile; +static LPCTSTR sharedMemBuf; + +// used for Windows usleep() implementation +static NTSTATUS (__stdcall *NtDelayExecution)(BOOL Alertable, PLARGE_INTEGER DelayInterval); +#endif + +static void handleInput(void); + +// usleep() implementation for Windows +#ifdef _WIN32 +void usleep(uint32_t usec) +{ + LARGE_INTEGER lpDueTime; + + if (NtDelayExecution == NULL) + { + // NtDelayExecution() is not available (shouldn't happen), use regular sleep() + Sleep(usec / 1000); + } + else + { + // this prevents a 64-bit MUL (will not overflow with the ranges we use anyway) + lpDueTime.HighPart = 0xFFFFFFFF; + lpDueTime.LowPart = (DWORD)(-10 * (int32_t)usec); + + NtDelayExecution(false, &lpDueTime); + } +} + +void setupWin32Usleep(void) +{ + NtDelayExecution = (NTSTATUS (__stdcall *)(BOOL, PLARGE_INTEGER))GetProcAddress(GetModuleHandle("ntdll.dll"), "NtDelayExecution"); + timeBeginPeriod(0); // enter highest timer resolution +} + +void freeWin32Usleep(void) +{ + timeEndPeriod(0); // exit highest timer resolution +} +#endif + +void readInput(void) +{ + readMouseXY(); + readKeyModifiers(); + setSyncedReplayerVars(); + handleInput(); +} + +void handleThreadEvents(void) +{ + if (okBoxData.active) + { + okBoxData.returnData = okBox(okBoxData.typ, okBoxData.headline, okBoxData.text); + okBoxData.active = false; + } +} + +void handleEvents(void) +{ +#ifdef HAS_MIDI + // called after MIDI has been initialized + if (midi.rescanDevicesFlag) + { + midi.rescanDevicesFlag = false; + + rescanMidiInputDevices(); + if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_MIDI_INPUT) + drawMidiInputList(); + } +#endif + + if (editor.trimThreadWasDone) + { + editor.trimThreadWasDone = false; + trimThreadDone(); + } + + if (editor.updateCurSmp) + { + editor.updateCurSmp = false; + + updateNewInstrument(); + updateNewSample(); + + diskOpSetFilename(DISKOP_ITEM_SAMPLE, editor.tmpFilenameU); + + removeSampleIsLoadingFlag(); + setMouseBusy(false); + } + + if (editor.updateCurInstr) + { + editor.updateCurInstr = false; + + updateNewInstrument(); + updateNewSample(); + + diskOpSetFilename(DISKOP_ITEM_INSTR, editor.tmpInstrFilenameU); + setMouseBusy(false); + } + + // some Disk Op. stuff + + if (editor.diskOpReadDir) + { + editor.diskOpReadDir = false; + startDiskOpFillThread(); + } + + if (editor.diskOpReadDone) + { + editor.diskOpReadDone = false; + if (editor.ui.diskOpShown) + diskOp_DrawDirectory(); + } + + handleLoadMusicEvents(); + + if (editor.samplingAudioFlag) handleSamplingUpdates(); + if (editor.ui.setMouseBusy) mouseAnimOn(); + if (editor.ui.setMouseIdle) mouseAnimOff(); + + if (editor.updateWindowTitle) + { + editor.updateWindowTitle = false; + updateWindowTitle(false); + } +} + +// Windows specific routines +#ifdef _WIN32 +static bool instanceAlreadyOpen(void) +{ + hMapFile = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, SHARED_HWND_NAME); + if (hMapFile != NULL) + return true; // another instance is already open + + // no instance is open, let's created a shared memory file with hWnd in it + oneInstHandle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof (HWND), SHARED_HWND_NAME); + if (oneInstHandle != NULL) + { + sharedMemBuf = (LPTSTR)MapViewOfFile(oneInstHandle, FILE_MAP_ALL_ACCESS, 0, 0, sizeof (HWND)); + if (sharedMemBuf != NULL) + { + CopyMemory((PVOID)sharedMemBuf, &video.hWnd, sizeof (HWND)); + UnmapViewOfFile(sharedMemBuf); + sharedMemBuf = NULL; + } + } + + return false; +} + +bool handleSingleInstancing(int32_t argc, char **argv) +{ + SDL_SysWMinfo wmInfo; + + SDL_VERSION(&wmInfo.version); + if (!SDL_GetWindowWMInfo(video.window, &wmInfo)) + return false; + + video.hWnd = wmInfo.info.win.window; + if (instanceAlreadyOpen() && argc >= 2 && argv[1][0] != '\0') + { + sharedMemBuf = (LPTSTR)MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, sizeof (HWND)); + if (sharedMemBuf != NULL) + { + memcpy(&hWnd, sharedMemBuf, sizeof (HWND)); + + UnmapViewOfFile(sharedMemBuf); + sharedMemBuf = NULL; + CloseHandle(hMapFile); + hMapFile = NULL; + + hMapFile = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, ARGV_SHARED_MEM_MAX_LEN, SHARED_FILENAME); + if (hMapFile != NULL) + { + sharedMemBuf = (LPTSTR)MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, ARGV_SHARED_MEM_MAX_LEN); + if (sharedMemBuf != NULL) + { + strcpy((char *)sharedMemBuf, argv[1]); + + UnmapViewOfFile(sharedMemBuf); + sharedMemBuf = NULL; + + SendMessage(hWnd, SYSMSG_FILE_ARG, 0, 0); + Sleep(80); // wait a bit to make sure first instance received msg + + CloseHandle(hMapFile); + hMapFile = NULL; + + return true; // quit instance now + } + } + + return true; + } + + CloseHandle(hMapFile); + hMapFile = NULL; + } + + SDL_EventState(SDL_SYSWMEVENT, SDL_ENABLE); + return false; +} + +static void handleSysMsg(SDL_Event inputEvent) +{ + SDL_SysWMmsg *wmMsg; + + if (inputEvent.type == SDL_SYSWMEVENT) + { + wmMsg = inputEvent.syswm.msg; + if (wmMsg->subsystem == SDL_SYSWM_WINDOWS && wmMsg->msg.win.msg == SYSMSG_FILE_ARG) + { + hMapFile = OpenFileMapping(FILE_MAP_READ, FALSE, SHARED_FILENAME); + if (hMapFile != NULL) + { + sharedMemBuf = (LPTSTR)MapViewOfFile(hMapFile, FILE_MAP_READ, 0, 0, ARGV_SHARED_MEM_MAX_LEN); + if (sharedMemBuf != NULL) + { + editor.autoPlayOnDrop = true; + loadDroppedFile((char *)sharedMemBuf, true); + + UnmapViewOfFile(sharedMemBuf); + sharedMemBuf = NULL; + } + + CloseHandle(hMapFile); + hMapFile = NULL; + } + } + } +} + +void closeSingleInstancing(void) +{ + if (oneInstHandle != NULL) + { + CloseHandle(oneInstHandle); + oneInstHandle = NULL; + } +} + +static LONG WINAPI exceptionHandler(EXCEPTION_POINTERS *ptr) +{ +#define BACKUP_FILES_TO_TRY 1000 + char fileName[32]; + uint16_t i; + UNICHAR *fileNameU; + struct stat statBuffer; + + (void)ptr; + + if (oneInstHandle != NULL) + CloseHandle(oneInstHandle); + + if (!backupMadeAfterCrash) + { + if (getDiskOpModPath() != NULL && UNICHAR_CHDIR(getDiskOpModPath()) == 0) + { + // find a free filename + for (i = 1; i < 1000; i++) + { + sprintf(fileName, "backup%03d.xm", i); + if (stat(fileName, &statBuffer) != 0) + break; // filename OK + } + + if (i != 1000) + { + fileNameU = cp437ToUnichar(fileName); + if (fileNameU != NULL) + { + saveXM(fileNameU); + free(fileNameU); + } + } + } + + backupMadeAfterCrash = true; // set this flag to prevent multiple backups from being saved at once + showErrorMsgBox(CRASH_TEXT); + } + + return EXCEPTION_CONTINUE_SEARCH; +} +#else +static void exceptionHandler(int32_t signal) +{ +#define BACKUP_FILES_TO_TRY 1000 + char fileName[32]; + uint16_t i; + UNICHAR *fileNameU; + struct stat statBuffer; + + if (signal == 15) + return; + + if (!backupMadeAfterCrash) + { + if (getDiskOpModPath() != NULL && UNICHAR_CHDIR(getDiskOpModPath()) == 0) + { + // find a free filename + for (i = 1; i < 1000; i++) + { + sprintf(fileName, "backup%03d.xm", i); + if (stat(fileName, &statBuffer) != 0) + break; // filename OK + } + + if (i != 1000) + { + fileNameU = cp437ToUnichar(fileName); + if (fileNameU != NULL) + { + saveXM(fileNameU); + free(fileNameU); + } + } + } + + backupMadeAfterCrash = true; // set this flag to prevent multiple backups from being saved at once + showErrorMsgBox(CRASH_TEXT); + } +} +#endif + +void setupCrashHandler(void) +{ +#ifndef _DEBUG +#ifdef _WIN32 + SetUnhandledExceptionFilter(exceptionHandler); +#else + struct sigaction act; + struct sigaction oldAct; + + memset(&act, 0, sizeof (act)); + act.sa_handler = exceptionHandler; + act.sa_flags = SA_RESETHAND; + + sigaction(SIGILL | SIGABRT | SIGFPE | SIGSEGV, &act, &oldAct); + sigaction(SIGILL, &act, &oldAct); + sigaction(SIGABRT, &act, &oldAct); + sigaction(SIGFPE, &act, &oldAct); + sigaction(SIGSEGV, &act, &oldAct); +#endif +#endif +} + +static void handleInput(void) +{ + char *inputText; + uint32_t eventType; + SDL_Event event; + SDL_Keycode key; + + if (!editor.busy) + handleLastGUIObjectDown(); // this should be handled before main input poll (on next frame) + + while (SDL_PollEvent(&event)) + { + if (video.vsync60HzPresent) + { + /* if we minimize the window and vsync is present, vsync is temporarily turned off. + ** recalc waitVBL() vars so that it can sleep properly in said mode. */ + if (event.type == SDL_WINDOWEVENT && + (event.window.event == SDL_WINDOWEVENT_MINIMIZED || event.window.event == SDL_WINDOWEVENT_FOCUS_LOST)) + { + setupWaitVBL(); + } + } + + if (editor.busy) + { + eventType = event.type; + key = event.key.keysym.scancode; + + /* The Echo tool in Smp. Ed. can literally take forever if abused, + ** let mouse buttons/ESC/SIGTERM force-stop it. */ + if (eventType == SDL_MOUSEBUTTONDOWN || eventType == SDL_QUIT || + (eventType == SDL_KEYUP && key == SDL_SCANCODE_ESCAPE)) + { + handleEchoToolPanic(); + } + + // let certain mouse buttons or keyboard keys stop certain events + if (eventType == SDL_MOUSEBUTTONDOWN || + (eventType == SDL_KEYDOWN && key != SDL_SCANCODE_MUTE && + key != SDL_SCANCODE_AUDIOMUTE && key != SDL_SCANCODE_VOLUMEDOWN && + key != SDL_SCANCODE_VOLUMEUP)) + { + // only let keyboard keys interrupt audio sampling + if (editor.samplingAudioFlag && eventType != SDL_MOUSEBUTTONDOWN) + stopSampling(); + + editor.wavIsRendering = false; + } + + continue; // another thread is busy with something, drop input + } + +#ifdef _WIN32 + handleSysMsg(event); +#endif + // text input when editing texts + if (event.type == SDL_TEXTINPUT) + { + if (editor.editTextFlag) + { + if (keyb.ignoreTextEditKey) + { + keyb.ignoreTextEditKey = false; + continue; + } + + inputText = utf8ToCp437(event.text.text, false); + if (inputText != NULL) + { + if (inputText[0] != '\0') + handleTextEditInputChar(inputText[0]); + + free(inputText); + } + } + } + else if (event.type == SDL_MOUSEWHEEL) + { + if (event.wheel.y > 0) + mouseWheelHandler(MOUSE_WHEEL_UP); + else if (event.wheel.y < 0) + mouseWheelHandler(MOUSE_WHEEL_DOWN); + } + else if (event.type == SDL_DROPFILE) + { + editor.autoPlayOnDrop = false; + loadDroppedFile(event.drop.file, true); + SDL_free(event.drop.file); + } + else if (event.type == SDL_QUIT) + { + if (editor.ui.sysReqShown) + continue; + + if (editor.editTextFlag) + exitTextEditing(); + + if (!song.isModified) + { + editor.throwExit = true; + } + else + { + if (!video.fullscreen) + { + // de-minimize window and set focus so that the user sees the message box + SDL_RestoreWindow(video.window); + SDL_RaiseWindow(video.window); + } + + if (quitBox(true) == 1) + editor.throwExit = true; + } + } + else if (event.type == SDL_KEYUP) + { + keyUpHandler(event.key.keysym.scancode, event.key.keysym.sym); + } + else if (event.type == SDL_KEYDOWN) + { + keyDownHandler(event.key.keysym.scancode, event.key.keysym.sym, event.key.repeat); + } + else if (event.type == SDL_MOUSEBUTTONUP) + { + mouseButtonUpHandler(event.button.button); + } + else if (event.type == SDL_MOUSEBUTTONDOWN) + { + mouseButtonDownHandler(event.button.button); + } + + if (editor.throwExit) + editor.programRunning = false; + } + +#ifdef HAS_MIDI + // MIDI vibrato + uint8_t vibDepth = (midi.currMIDIVibDepth >> 9) & 0x0F; + if (vibDepth > 0) + recordMIDIEffect(0x04, 0xA0 | vibDepth); +#endif +} diff --git a/src/ft2_events.h b/src/ft2_events.h index c63b96e..1ad30cb 100644 --- a/src/ft2_events.h +++ b/src/ft2_events.h @@ -1,24 +1,24 @@ -#pragma once - -#include -#include - -enum -{ - EVENT_NONE = 0, - EVENT_LOADMUSIC_ARGV = 1, - EVENT_LOADMUSIC_DRAGNDROP = 2, - EVENT_LOADMUSIC_DISKOP = 3, -}; - -void handleThreadEvents(void); -void readInput(void); -void handleEvents(void); -void setupCrashHandler(void); -#ifdef _WIN32 -bool handleSingleInstancing(int32_t argc, char **argv); -void closeSingleInstancing(void); -void usleep(uint32_t usec); -void setupWin32Usleep(void); -void freeWin32Usleep(void); -#endif +#pragma once + +#include +#include + +enum +{ + EVENT_NONE = 0, + EVENT_LOADMUSIC_ARGV = 1, + EVENT_LOADMUSIC_DRAGNDROP = 2, + EVENT_LOADMUSIC_DISKOP = 3, +}; + +void handleThreadEvents(void); +void readInput(void); +void handleEvents(void); +void setupCrashHandler(void); +#ifdef _WIN32 +bool handleSingleInstancing(int32_t argc, char **argv); +void closeSingleInstancing(void); +void usleep(uint32_t usec); +void setupWin32Usleep(void); +void freeWin32Usleep(void); +#endif diff --git a/src/ft2_gfxdata.h b/src/ft2_gfxdata.h index 4d7969e..7f3a09a 100644 --- a/src/ft2_gfxdata.h +++ b/src/ft2_gfxdata.h @@ -1,59 +1,59 @@ -#pragma once - -#include - -// ft2_gfx_fonts.c -extern const uint8_t prop8Width[128]; -extern const uint8_t prop16Width[128]; -extern const uint8_t smallHexBitmap[560]; -extern const uint8_t font1Data[10240]; -extern const uint8_t font2Data[40960]; -extern const uint8_t font3Data[1376]; -extern const uint8_t font4Data[18688]; -extern const uint8_t font5Data[19968]; -extern const uint8_t font6Data[896]; -extern const uint8_t font7Data[1120]; - -// ft2_gfx_logo.c -extern const uint8_t aboutText[10121]; -extern const uint32_t ft2Logo[33675]; -extern const uint8_t ft2InfoBadges[3200]; -extern const uint8_t ft2LogoBadges[19712]; - -// ft2_gfx_mouse.c -extern const uint8_t mouseCursors[7774]; -extern const uint8_t mouseCursorBusyClock[2990]; -extern const uint8_t mouseCursorBusyGlass[13156]; - -// ft2_gfx_nibbles.c -extern const uint8_t nibblesLogo[5369]; -extern const uint8_t nibblesStages[53000]; - -// ft2_gfx_instr.c -extern const uint8_t vibWaveformBitmap[480]; -extern const uint8_t whitePianoKeysBitmap[3036]; -extern const uint8_t blackPianoKeysBitmap[378]; - -// ft2_gfx_sampler.c -extern const uint8_t leftLoopPinUnclicked[2464]; -extern const uint8_t leftLoopPinClicked[2464]; -extern const uint8_t rightLoopPinUnclicked[2464]; -extern const uint8_t rightLoopPinClicked[2464]; - -// ft2_gfx_scopes.c -extern const uint8_t scopeRecBMP[52]; -extern const uint8_t scopeMuteBMP1[4374]; -extern const uint8_t scopeMuteBMP2[2997]; -extern const uint8_t scopeMuteBMP3[1976]; -extern const uint8_t scopeMuteBMP4[1400]; -extern const uint8_t scopeMuteBMP5[1050]; -extern const uint8_t scopeMuteBMP6[875]; -extern const uint8_t scopeMuteBMP7[672]; -extern const uint8_t scopeMuteBMP8[576]; -extern const uint8_t scopeMuteBMP9[504]; -extern const uint8_t scopeMuteBMP10[408]; -extern const uint8_t scopeMuteBMP11[288]; -extern const uint8_t scopeMuteBMP12[216]; - -// ft2_midi.c -extern const uint8_t midiLogo[3800]; +#pragma once + +#include + +// ft2_gfx_fonts.c +extern const uint8_t prop8Width[128]; +extern const uint8_t prop16Width[128]; +extern const uint8_t smallHexBitmap[560]; +extern const uint8_t font1Data[10240]; +extern const uint8_t font2Data[40960]; +extern const uint8_t font3Data[1376]; +extern const uint8_t font4Data[18688]; +extern const uint8_t font5Data[19968]; +extern const uint8_t font6Data[896]; +extern const uint8_t font7Data[1120]; + +// ft2_gfx_logo.c +extern const uint8_t aboutText[10121]; +extern const uint32_t ft2Logo[33675]; +extern const uint8_t ft2InfoBadges[3200]; +extern const uint8_t ft2LogoBadges[19712]; + +// ft2_gfx_mouse.c +extern const uint8_t mouseCursors[7774]; +extern const uint8_t mouseCursorBusyClock[2990]; +extern const uint8_t mouseCursorBusyGlass[13156]; + +// ft2_gfx_nibbles.c +extern const uint8_t nibblesLogo[5369]; +extern const uint8_t nibblesStages[53000]; + +// ft2_gfx_instr.c +extern const uint8_t vibWaveformBitmap[480]; +extern const uint8_t whitePianoKeysBitmap[3036]; +extern const uint8_t blackPianoKeysBitmap[378]; + +// ft2_gfx_sampler.c +extern const uint8_t leftLoopPinUnclicked[2464]; +extern const uint8_t leftLoopPinClicked[2464]; +extern const uint8_t rightLoopPinUnclicked[2464]; +extern const uint8_t rightLoopPinClicked[2464]; + +// ft2_gfx_scopes.c +extern const uint8_t scopeRecBMP[52]; +extern const uint8_t scopeMuteBMP1[4374]; +extern const uint8_t scopeMuteBMP2[2997]; +extern const uint8_t scopeMuteBMP3[1976]; +extern const uint8_t scopeMuteBMP4[1400]; +extern const uint8_t scopeMuteBMP5[1050]; +extern const uint8_t scopeMuteBMP6[875]; +extern const uint8_t scopeMuteBMP7[672]; +extern const uint8_t scopeMuteBMP8[576]; +extern const uint8_t scopeMuteBMP9[504]; +extern const uint8_t scopeMuteBMP10[408]; +extern const uint8_t scopeMuteBMP11[288]; +extern const uint8_t scopeMuteBMP12[216]; + +// ft2_midi.c +extern const uint8_t midiLogo[3800]; diff --git a/src/ft2_gui.c b/src/ft2_gui.c index 4757c2a..468c19b 100644 --- a/src/ft2_gui.c +++ b/src/ft2_gui.c @@ -1,1227 +1,1323 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include "ft2_header.h" -#include "ft2_gfxdata.h" -#include "ft2_config.h" -#include "ft2_about.h" -#include "ft2_mouse.h" -#include "ft2_nibbles.h" -#include "ft2_gui.h" -#include "ft2_pattern_ed.h" -#include "ft2_scopes.h" -#include "ft2_help.h" -#include "ft2_sample_ed.h" -#include "ft2_inst_ed.h" -#include "ft2_diskop.h" -#include "ft2_wav_renderer.h" -#include "ft2_trim.h" -#include "ft2_video.h" - -static void releaseMouseStates(void) -{ - mouse.lastUsedObjectID = OBJECT_ID_NONE; - mouse.lastUsedObjectType = OBJECT_NONE; - mouse.leftButtonPressed = false; - mouse.leftButtonReleased = false; - mouse.rightButtonPressed = false; - mouse.rightButtonReleased = false; - mouse.firstTimePressingButton = false; - mouse.buttonCounter = 0; - mouse.lastX = 0; - mouse.lastY = 0; - editor.ui.sampleDataOrLoopDrag = -1; - editor.ui.leftLoopPinMoving = false; - editor.ui.rightLoopPinMoving = false; -} - -void unstuckLastUsedGUIElement(void) -{ - pushButton_t *p; - radioButton_t *r; - checkBox_t *c; - scrollBar_t *s; - - if (mouse.lastUsedObjectID == OBJECT_ID_NONE) - { - /* if last object ID is OBJECT_ID_NONE, check if we moved the - ** sample data loop pins, and unstuck them if so */ - - if (editor.ui.leftLoopPinMoving) - { - setLeftLoopPinState(false); - editor.ui.leftLoopPinMoving = false; - } - - if (editor.ui.rightLoopPinMoving) - { - setRightLoopPinState(false); - editor.ui.rightLoopPinMoving = false; - } - - releaseMouseStates(); - return; - } - - switch (mouse.lastUsedObjectType) - { - default: break; - - case OBJECT_PUSHBUTTON: - { - assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_PUSHBUTTONS); - p = &pushButtons[mouse.lastUsedObjectID]; - if (p->state == PUSHBUTTON_PRESSED) - { - p->state = PUSHBUTTON_UNPRESSED; - if (p->visible) - drawPushButton(mouse.lastUsedObjectID); - } - } - break; - - case OBJECT_RADIOBUTTON: - { - assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_RADIOBUTTONS); - r = &radioButtons[mouse.lastUsedObjectID]; - if (r->state == RADIOBUTTON_PRESSED) - { - r->state = RADIOBUTTON_UNCHECKED; - if (r->visible) - drawRadioButton(mouse.lastUsedObjectID); - } - } - break; - - case OBJECT_CHECKBOX: - { - assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_CHECKBOXES); - c = &checkBoxes[mouse.lastUsedObjectID]; - if (c->state == CHECKBOX_PRESSED) - { - c->state = CHECKBOX_UNPRESSED; - if (c->visible) - drawCheckBox(mouse.lastUsedObjectID); - } - } - break; - - case OBJECT_SCROLLBAR: - { - assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_SCROLLBARS); - s = &scrollBars[mouse.lastUsedObjectID]; - if (s->state == SCROLLBAR_PRESSED) - { - s->state = SCROLLBAR_UNPRESSED; - if (s->visible) - drawScrollBar(mouse.lastUsedObjectID); - } - } - break; - } - - releaseMouseStates(); -} - -bool setupGUI(void) -{ - int32_t i; - textBox_t *t; - pushButton_t *p; - checkBox_t *c; - radioButton_t *r; - scrollBar_t *s; - - // all memory will be NULL-tested and free'd if we return false somewhere in this function - - editor.tmpFilenameU = (UNICHAR *)calloc(PATH_MAX + 1, sizeof (UNICHAR)); - editor.tmpInstrFilenameU = (UNICHAR *)calloc(PATH_MAX + 1, sizeof (UNICHAR)); - - if (editor.tmpFilenameU == NULL || editor.tmpInstrFilenameU == NULL) - goto setupGUI_OOM; - - // set uninitialized GUI struct entries - - for (i = 1; i < NUM_TEXTBOXES; i++) // skip first entry, it's reserved for inputBox()) - { - t = &textBoxes[i]; - - t->visible = false; - t->bufOffset = 0; - t->cursorPos = 0; - t->textPtr = NULL; - t->renderBufW = (9 + 1) * t->maxChars; // 9 = max character/glyph width possible - t->renderBufH = 10; // 10 = max character height possible - t->renderW = t->w - (t->tx * 2); - - t->renderBuf = (uint8_t *)malloc(t->renderBufW * t->renderBufH * sizeof (int8_t)); - if (t->renderBuf == NULL) - goto setupGUI_OOM; - } - - for (i = 0; i < NUM_PUSHBUTTONS; i++) - { - p = &pushButtons[i]; - - p->state = 0; - p->visible = false; - - if (i == PB_LOGO || i == PB_BADGE) - { - p->bitmapFlag = true; - } - else - { - p->bitmapFlag = false; - p->bitmapUnpressed = NULL; - p->bitmapPressed = NULL; - } - } - - for (i = 0; i < NUM_CHECKBOXES; i++) - { - c = &checkBoxes[i]; - - c->state = 0; - c->checked = false; - c->visible = false; - } - - for (i = 0; i < NUM_RADIOBUTTONS; i++) - { - r = &radioButtons[i]; - - r->state = 0; - r->visible = false; - } - - for (i = 0; i < NUM_SCROLLBARS; i++) - { - s = &scrollBars[i]; - - s->visible = false; - s->state = 0; - s->pos = 0; - s->page = 0; - s->end = 0; - s->thumbX = 0; - s->thumbY = 0; - s->thumbW = 0; - s->thumbH = 0; - } - - setPal16(palTable[config.cfg_StdPalNr], false); - - seedAboutScreenRandom((uint32_t)time(NULL)); - setupInitialTextBoxPointers(); - setInitialTrimFlags(); - initializeScrollBars(); - setMouseMode(MOUSE_MODE_NORMAL); - updateTextBoxPointers(); - drawGUIOnRunTime(); - updateSampleEditorSample(); - updatePatternWidth(); - initFTHelp(); - - return true; - -setupGUI_OOM: - showErrorMsgBox("Not enough memory!"); - return false; -} - -// TEXT ROUTINES - -// returns full pixel width of a char/glyph -uint8_t charWidth(char ch) -{ - return prop8Width[ch & 0x7F]; -} - -// returns full pixel width of a char/glyph (big font) -uint8_t charWidth16(char ch) -{ - return prop16Width[ch & 0x7F]; -} - -// return full pixel width of a text string -uint16_t textWidth(const char *textPtr) -{ - uint16_t textWidth; - - assert(textPtr != NULL); - - textWidth = 0; - while (*textPtr != '\0') - textWidth += charWidth(*textPtr++); - - // there will be a pixel spacer at the end of the last char/glyph, remove it - if (textWidth > 0) - textWidth--; - - return textWidth; -} - -uint16_t textNWidth(const char *textPtr, int32_t length) -{ - char ch; - uint16_t textWidth; - - assert(textPtr != NULL); - - textWidth = 0; - for (int32_t i = 0; i < length; i++) - { - ch = textPtr[i]; - if (ch == '\0') - break; - - textWidth += charWidth(ch); - } - - // there will be a pixel spacer at the end of the last char/glyph, remove it - if (textWidth > 0) - textWidth--; - - return textWidth; -} - -// return full pixel width of a text string (big font) -uint16_t textWidth16(const char *textPtr) -{ - uint16_t textWidth; - - assert(textPtr != NULL); - - textWidth = 0; - while (*textPtr != '\0') - textWidth += charWidth(*textPtr++); - - // there will be a pixel spacer at the end of the last char/glyph, remove it - if (textWidth > 0) - textWidth--; - - return textWidth; -} - -void charOut(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, char chr) -{ - const uint8_t *srcPtr; - uint32_t *dstPtr, pixVal; - - assert(xPos < SCREEN_W && yPos < SCREEN_H); - - chr &= 0x7F; - if (chr == ' ') - return; - - pixVal = video.palette[paletteIndex]; - srcPtr = &font1Data[chr * FONT1_CHAR_W]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (uint32_t y = 0; y < FONT1_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT1_CHAR_W; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT1_WIDTH; - dstPtr += SCREEN_W; - } -} - -void charOutBg(uint16_t xPos, uint16_t yPos, uint8_t fgPalette, uint8_t bgPalette, char chr) -{ - const uint8_t *srcPtr; - uint32_t *dstPtr, fg, bg; - - assert(xPos < SCREEN_W && yPos < SCREEN_H); - - chr &= 0x7F; - if (chr == ' ') - return; - - fg = video.palette[fgPalette]; - bg = video.palette[bgPalette]; - - srcPtr = &font1Data[chr * FONT1_CHAR_W]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (uint32_t y = 0; y < FONT1_CHAR_H; y++) - { - for (uint32_t x = 0; x < 7; x++) - dstPtr[x] = srcPtr[x] ? fg : bg; - - srcPtr += FONT1_WIDTH; - dstPtr += SCREEN_W; - } -} - -void charOutOutlined(uint16_t x, uint16_t y, uint8_t paletteIndex, char chr) -{ - charOut(x - 1, y, PAL_BCKGRND, chr); - charOut(x + 1, y, PAL_BCKGRND, chr); - charOut(x, y - 1, PAL_BCKGRND, chr); - charOut(x, y + 1, PAL_BCKGRND, chr); - - charOut(x, y, paletteIndex, chr); -} - -void charOutShadow(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, uint8_t shadowPaletteIndex, char chr) -{ - const uint8_t *srcPtr; - uint32_t *dstPtr, pixVal1, pixVal2; - - assert(xPos < SCREEN_W && yPos < SCREEN_H); - - chr &= 0x7F; - if (chr == ' ') - return; - - pixVal1 = video.palette[paletteIndex]; - pixVal2 = video.palette[shadowPaletteIndex]; - srcPtr = &font1Data[chr * FONT1_CHAR_W]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (uint32_t y = 0; y < FONT1_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT1_CHAR_W; x++) - { - if (srcPtr[x]) - { - dstPtr[x+(SCREEN_W+1)] = pixVal2; - dstPtr[x] = pixVal1; - } - } - - srcPtr += FONT1_WIDTH; - dstPtr += SCREEN_W; - } -} - -void charOutClipX(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, char chr, uint16_t clipX) -{ - const uint8_t *srcPtr; - uint16_t width; - uint32_t *dstPtr, pixVal; - - assert(xPos < SCREEN_W && yPos < SCREEN_H); - - if (xPos > clipX) - return; - - chr &= 0x7F; - if (chr == ' ') - return; - - pixVal = video.palette[paletteIndex]; - srcPtr = &font1Data[chr * FONT1_CHAR_W]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - width = FONT1_CHAR_W; - if (xPos+width > clipX) - width = FONT1_CHAR_W - ((xPos + width) - clipX); - - for (uint32_t y = 0; y < FONT1_CHAR_H; y++) - { - for (uint32_t x = 0; x < width; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT1_WIDTH; - dstPtr += SCREEN_W; - } -} - -void bigCharOut(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, char chr) -{ - const uint8_t *srcPtr; - uint32_t *dstPtr, pixVal; - - assert(xPos < SCREEN_W && yPos < SCREEN_H); - - chr &= 0x7F; - if (chr == ' ') - return; - - srcPtr = &font2Data[chr * FONT2_CHAR_W]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - pixVal = video.palette[paletteIndex]; - - for (uint32_t y = 0; y < FONT2_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT2_CHAR_W; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT2_WIDTH; - dstPtr += SCREEN_W; - } -} - -static void bigCharOutShadow(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, uint8_t shadowPaletteIndex, char chr) -{ - const uint8_t *srcPtr; - uint32_t *dstPtr, pixVal1, pixVal2; - - assert(xPos < SCREEN_W && yPos < SCREEN_H); - - chr &= 0x7F; - if (chr == ' ') - return; - - pixVal1 = video.palette[paletteIndex]; - pixVal2 = video.palette[shadowPaletteIndex]; - srcPtr = &font2Data[chr * FONT2_CHAR_W]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (uint32_t y = 0; y < FONT2_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT2_CHAR_W; x++) - { - if (srcPtr[x]) - { - dstPtr[x+(SCREEN_W+1)] = pixVal2; - dstPtr[x] = pixVal1; - } - } - - srcPtr += FONT2_WIDTH; - dstPtr += SCREEN_W; - } -} - -void textOut(uint16_t x, uint16_t y, uint8_t paletteIndex, const char *textPtr) -{ - char chr; - uint16_t currX; - - assert(textPtr != NULL); - - currX = x; - while (true) - { - chr = *textPtr++; - if (chr == '\0') - break; - - charOut(currX, y, paletteIndex, chr); - currX += charWidth(chr); - } -} - -// fixed width -void textOutFixed(uint16_t x, uint16_t y, uint8_t fgPaltete, uint8_t bgPalette, const char *textPtr) -{ - char chr; - uint16_t currX; - - assert(textPtr != NULL); - - currX = x; - while (true) - { - chr = *textPtr++; - if (chr == '\0') - break; - - charOutBg(currX, y, fgPaltete, bgPalette, chr); - currX += FONT1_CHAR_W-1; - } -} - -void textOutShadow(uint16_t x, uint16_t y, uint8_t paletteIndex, uint8_t shadowPaletteIndex, const char *textPtr) -{ - char chr; - uint16_t currX; - - assert(textPtr != NULL); - - currX = x; - while (true) - { - chr = *textPtr++; - if (chr == '\0') - break; - - charOutShadow(currX, y, paletteIndex, shadowPaletteIndex, chr); - currX += charWidth(chr); - } -} - -void bigTextOut(uint16_t x, uint16_t y, uint8_t paletteIndex, const char *textPtr) -{ - char chr; - uint16_t currX; - - assert(textPtr != NULL); - - currX = x; - while (true) - { - chr = *textPtr++; - if (chr == '\0') - break; - - bigCharOut(currX, y, paletteIndex, chr); - currX += charWidth16(chr); - } -} - -void bigTextOutShadow(uint16_t x, uint16_t y, uint8_t paletteIndex, uint8_t shadowPaletteIndex, const char *textPtr) -{ - char chr; - uint16_t currX; - - assert(textPtr != NULL); - - currX = x; - while (true) - { - chr = *textPtr++; - if (chr == '\0') - break; - - bigCharOutShadow(currX, y, paletteIndex, shadowPaletteIndex, chr); - currX += charWidth16(chr); - } -} - -void textOutClipX(uint16_t x, uint16_t y, uint8_t paletteIndex, const char *textPtr, uint16_t clipX) -{ - char chr; - uint16_t currX; - - assert(textPtr != NULL); - - currX = x; - while (true) - { - chr = *textPtr++; - if (chr == '\0') - break; - - charOutClipX(currX, y, paletteIndex, chr, clipX); - - currX += charWidth(chr); - if (currX >= clipX) - break; - } -} - -void hexOut(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, uint32_t val, uint8_t numDigits) -{ - const uint8_t *srcPtr; - uint32_t *dstPtr, pixVal; - - assert(xPos < SCREEN_W && yPos < SCREEN_H); - - pixVal = video.palette[paletteIndex]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (int32_t i = numDigits-1; i >= 0; i--) - { - srcPtr = &font6Data[((val >> (i * 4)) & 15) * FONT6_CHAR_W]; - - // render glyph - for (uint32_t y = 0; y < FONT6_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT6_CHAR_W; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT6_WIDTH; - dstPtr += SCREEN_W; - } - - dstPtr -= (SCREEN_W * FONT6_CHAR_H) - FONT6_CHAR_W; // xpos += FONT6_CHAR_W - } -} - -void hexOutBg(uint16_t xPos, uint16_t yPos, uint8_t fgPalette, uint8_t bgPalette, uint32_t val, uint8_t numDigits) -{ - const uint8_t *srcPtr; - uint32_t *dstPtr, fg, bg; - - assert(xPos < SCREEN_W && yPos < SCREEN_H); - - fg = video.palette[fgPalette]; - bg = video.palette[bgPalette]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (int32_t i = numDigits-1; i >= 0; i--) - { - // extract current nybble and set pointer to glyph - srcPtr = &font6Data[((val >> (i * 4)) & 15) * FONT6_CHAR_W]; - - // render glyph - for (uint32_t y = 0; y < FONT6_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT6_CHAR_W; x++) - dstPtr[x] = srcPtr[x] ? fg : bg; - - srcPtr += FONT6_WIDTH; - dstPtr += SCREEN_W; - } - - dstPtr -= (SCREEN_W * FONT6_CHAR_H) - FONT6_CHAR_W; // xpos += FONT6_CHAR_W - } -} - -void hexOutShadow(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, uint8_t shadowPaletteIndex, uint32_t val, uint8_t numDigits) -{ - hexOut(xPos + 1, yPos + 1, shadowPaletteIndex, val, numDigits); - hexOut(xPos + 0, yPos + 0, paletteIndex, val, numDigits); -} - -// FILL ROUTINES - -void clearRect(uint16_t xPos, uint16_t yPos, uint16_t w, uint16_t h) -{ - uint32_t *dstPtr, fillNumDwords; - - assert(xPos < SCREEN_W && yPos < SCREEN_H && (xPos + w) <= SCREEN_W && (yPos + h) <= SCREEN_H); - - fillNumDwords = w * sizeof (int32_t); - - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - for (uint32_t y = 0; y < h; y++) - { - memset(dstPtr, 0, fillNumDwords); - dstPtr += SCREEN_W; - } -} - -void fillRect(uint16_t xPos, uint16_t yPos, uint16_t w, uint16_t h, uint8_t paletteIndex) -{ - uint32_t *dstPtr, pixVal; - - assert(xPos < SCREEN_W && yPos < SCREEN_H && (xPos + w) <= SCREEN_W && (yPos + h) <= SCREEN_H); - - pixVal = video.palette[paletteIndex]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (uint32_t y = 0; y < h; y++) - { - for (uint32_t x = 0; x < w; x++) - dstPtr[x] = pixVal; - - dstPtr += SCREEN_W; - } -} - -void blit32(uint16_t xPos, uint16_t yPos, const uint32_t* srcPtr, uint16_t w, uint16_t h) -{ - uint32_t* dstPtr; - - assert(srcPtr != NULL && xPos < SCREEN_W && yPos < SCREEN_H && (xPos + w) <= SCREEN_W && (yPos + h) <= SCREEN_H); - - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - for (uint32_t y = 0; y < h; y++) - { - for (uint32_t x = 0; x < w; x++) - { - if (srcPtr[x] != 0x00FF00) - dstPtr[x] = srcPtr[x] | 0xFF000000; // most significant 8 bits = palette number. 0xFF because no true palette - } - - srcPtr += w; - dstPtr += SCREEN_W; - } -} - -void blit(uint16_t xPos, uint16_t yPos, const uint8_t *srcPtr, uint16_t w, uint16_t h) -{ - uint32_t *dstPtr; - - assert(srcPtr != NULL && xPos < SCREEN_W && yPos < SCREEN_H && (xPos + w) <= SCREEN_W && (yPos + h) <= SCREEN_H); - - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - for (uint32_t y = 0; y < h; y++) - { - for (uint32_t x = 0; x < w; x++) - { - if (srcPtr[x] != PAL_TRANSPR) - dstPtr[x] = video.palette[srcPtr[x]]; - } - - srcPtr += w; - dstPtr += SCREEN_W; - } -} - -void blitFast(uint16_t xPos, uint16_t yPos, const uint8_t *srcPtr, uint16_t w, uint16_t h) // no transparency/colorkey -{ - uint32_t *dstPtr; - - assert(srcPtr != NULL && xPos < SCREEN_W && yPos < SCREEN_H && (xPos + w) <= SCREEN_W && (yPos + h) <= SCREEN_H); - - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - for (uint32_t y = 0; y < h; y++) - { - for (uint32_t x = 0; x < w; x++) - dstPtr[x] = video.palette[srcPtr[x]]; - - srcPtr += w; - dstPtr += SCREEN_W; - } -} - -// LINE ROUTINES - -void hLine(uint16_t x, uint16_t y, uint16_t w, uint8_t paletteIndex) -{ - uint32_t *dstPtr, pixVal; - - assert(x < SCREEN_W && y < SCREEN_H && (x + w) <= SCREEN_W); - - pixVal = video.palette[paletteIndex]; - - dstPtr = &video.frameBuffer[(y * SCREEN_W) + x]; - for (uint32_t i = 0; i < w; i++) - dstPtr[i] = pixVal; -} - -void vLine(uint16_t x, uint16_t y, uint16_t h, uint8_t paletteIndex) -{ - uint32_t *dstPtr, pixVal; - - assert(x < SCREEN_W && y < SCREEN_H && (y + h) <= SCREEN_W); - - pixVal = video.palette[paletteIndex]; - - dstPtr = &video.frameBuffer[(y * SCREEN_W) + x]; - for (uint32_t i = 0; i < h; i++) - { - *dstPtr = pixVal; - dstPtr += SCREEN_W; - } -} - -void hLineDouble(uint16_t x, uint16_t y, uint16_t w, uint8_t paletteIndex) -{ - hLine(x, y, w, paletteIndex); - hLine(x, y+1, w, paletteIndex); -} - -void vLineDouble(uint16_t x, uint16_t y, uint16_t h, uint8_t paletteIndex) -{ - vLine(x, y, h, paletteIndex); - vLine(x+1, y, h, paletteIndex); -} - -void line(int16_t x1, int16_t x2, int16_t y1, int16_t y2, uint8_t paletteIndex) -{ - int16_t d, x, y, sx, sy, dx, dy; - uint16_t ax, ay; - int32_t pitch; - uint32_t pixVal, *dst32; - - // get coefficients - dx = x2 - x1; - ax = ABS(dx) * 2; - sx = SGN(dx); - dy = y2 - y1; - ay = ABS(dy) * 2; - sy = SGN(dy); - x = x1; - y = y1; - - pixVal = video.palette[paletteIndex]; - pitch = sy * SCREEN_W; - dst32 = &video.frameBuffer[(y * SCREEN_W) + x]; - - // draw line - if (ax > ay) - { - d = ay - (ax / 2); - while (true) - { - *dst32 = pixVal; - if (x == x2) - break; - - if (d >= 0) - { - d -= ax; - dst32 += pitch; - } - - x += sx; - d += ay; - dst32 += sx; - } - } - else - { - d = ax - (ay / 2); - while (true) - { - *dst32 = pixVal; - if (y == y2) - break; - - if (d >= 0) - { - d -= ay; - dst32 += sx; - } - - y += sy; - d += ax; - dst32 += pitch; - } - } -} - -void drawFramework(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint8_t type) -{ - assert(x < SCREEN_W && y < SCREEN_H && w >= 2 && h >= h); - - h--; - w--; - - if (type == FRAMEWORK_TYPE1) - { - // top left corner - hLine(x, y, w, PAL_DSKTOP1); - vLine(x, y + 1, h - 1, PAL_DSKTOP1); - - // bottom right corner - hLine(x, y + h, w, PAL_DSKTOP2); - vLine(x + w, y, h + 1, PAL_DSKTOP2); - - // fill background - fillRect(x + 1, y + 1, w - 1, h - 1, PAL_DESKTOP); - } - else - { - // top left corner - hLine(x, y, w + 1, PAL_DSKTOP2); - vLine(x, y + 1, h, PAL_DSKTOP2); - - // bottom right corner - hLine(x + 1, y + h, w, PAL_DSKTOP1); - vLine(x + w, y + 1, h - 1, PAL_DSKTOP1); - - // clear background - clearRect(x + 1, y + 1, w - 1, h - 1); - } -} - -// GUI FUNCTIONS - -void showTopLeftMainScreen(bool restoreScreens) -{ - editor.ui.diskOpShown = false; - editor.ui.sampleEditorExtShown = false; - editor.ui.instEditorExtShown = false; - editor.ui.transposeShown = false; - editor.ui.advEditShown = false; - editor.ui.wavRendererShown = false; - editor.ui.trimScreenShown = false; - - editor.ui.scopesShown = true; - if (restoreScreens) - { - switch (editor.ui.oldTopLeftScreen) - { - default: break; - case 1: editor.ui.diskOpShown = true; break; - case 2: editor.ui.sampleEditorExtShown = true; break; - case 3: editor.ui.instEditorExtShown = true; break; - case 4: editor.ui.transposeShown = true; break; - case 5: editor.ui.advEditShown = true; break; - case 6: editor.ui.wavRendererShown = true; break; - case 7: editor.ui.trimScreenShown = true; break; - } - - if (editor.ui.oldTopLeftScreen > 0) - editor.ui.scopesShown = false; - } - - editor.ui.oldTopLeftScreen = 0; - - if (editor.ui.diskOpShown) - { - showDiskOpScreen(); - } - else - { - // pos ed. - drawFramework(0, 0, 112, 77, FRAMEWORK_TYPE1); - drawFramework(2, 2, 51, 19, FRAMEWORK_TYPE2); - drawFramework(2,30, 51, 19, FRAMEWORK_TYPE2); - showScrollBar(SB_POS_ED); - showPushButton(PB_POSED_POS_UP); - showPushButton(PB_POSED_POS_DOWN); - showPushButton(PB_POSED_INS); - showPushButton(PB_POSED_PATT_UP); - showPushButton(PB_POSED_PATT_DOWN); - showPushButton(PB_POSED_DEL); - showPushButton(PB_POSED_LEN_UP); - showPushButton(PB_POSED_LEN_DOWN); - showPushButton(PB_POSED_REP_UP); - showPushButton(PB_POSED_REP_DOWN); - textOutShadow(4, 52, PAL_FORGRND, PAL_DSKTOP2, "Songlen."); - textOutShadow(4, 64, PAL_FORGRND, PAL_DSKTOP2, "Repstart"); - drawPosEdNums(song.songPos); - drawSongLength(); - drawSongRepS(); - - // logo button - showPushButton(PB_LOGO); - showPushButton(PB_BADGE); - - // left menu - drawFramework(291, 0, 65, 173, FRAMEWORK_TYPE1); - showPushButton(PB_ABOUT); - showPushButton(PB_NIBBLES); - showPushButton(PB_KILL); - showPushButton(PB_TRIM); - showPushButton(PB_EXTEND_VIEW); - showPushButton(PB_TRANSPOSE); - showPushButton(PB_INST_ED_EXT); - showPushButton(PB_SMP_ED_EXT); - showPushButton(PB_ADV_EDIT); - showPushButton(PB_ADD_CHANNELS); - showPushButton(PB_SUB_CHANNELS); - - // song/pattern - drawFramework(112, 32, 94, 45, FRAMEWORK_TYPE1); - drawFramework(206, 32, 85, 45, FRAMEWORK_TYPE1); - showPushButton(PB_BPM_UP); - showPushButton(PB_BPM_DOWN); - showPushButton(PB_SPEED_UP); - showPushButton(PB_SPEED_DOWN); - showPushButton(PB_EDITADD_UP); - showPushButton(PB_EDITADD_DOWN); - showPushButton(PB_PATT_UP); - showPushButton(PB_PATT_DOWN); - showPushButton(PB_PATTLEN_UP); - showPushButton(PB_PATTLEN_DOWN); - showPushButton(PB_PATT_EXPAND); - showPushButton(PB_PATT_SHRINK); - textOutShadow(116, 36, PAL_FORGRND, PAL_DSKTOP2, "BPM"); - textOutShadow(116, 50, PAL_FORGRND, PAL_DSKTOP2, "Spd."); - textOutShadow(116, 64, PAL_FORGRND, PAL_DSKTOP2, "Add."); - textOutShadow(210, 36, PAL_FORGRND, PAL_DSKTOP2, "Ptn."); - textOutShadow(210, 50, PAL_FORGRND, PAL_DSKTOP2, "Ln."); - drawSongBPM(song.speed); - drawSongSpeed(song.tempo); - drawEditPattern(editor.editPattern); - drawPatternLength(editor.editPattern); - drawIDAdd(); - - // status bar - drawFramework(0, 77, 291, 15, FRAMEWORK_TYPE1); - textOutShadow(4, 80, PAL_FORGRND, PAL_DSKTOP2, "Global volume"); - drawGlobalVol(song.globVol); - - editor.ui.updatePosSections = true; - - textOutShadow(204, 80, PAL_FORGRND, PAL_DSKTOP2, "Time"); - charOutShadow(250, 80, PAL_FORGRND, PAL_DSKTOP2, ':'); - charOutShadow(270, 80, PAL_FORGRND, PAL_DSKTOP2, ':'); - drawPlaybackTime(); - - if (editor.ui.sampleEditorExtShown) drawSampleEditorExt(); - else if (editor.ui.instEditorExtShown) drawInstEditorExt(); - else if (editor.ui.transposeShown) drawTranspose(); - else if (editor.ui.advEditShown) drawAdvEdit(); - else if (editor.ui.wavRendererShown) drawWavRenderer(); - else if (editor.ui.trimScreenShown) drawTrimScreen(); - - if (editor.ui.scopesShown) - drawScopeFramework(); - } -} - -void hideTopLeftMainScreen(void) -{ - hideDiskOpScreen(); - hideInstEditorExt(); - hideSampleEditorExt(); - hideTranspose(); - hideAdvEdit(); - hideWavRenderer(); - hideTrimScreen(); - - editor.ui.scopesShown = false; - - // position editor - hideScrollBar(SB_POS_ED); - - hidePushButton(PB_POSED_POS_UP); - hidePushButton(PB_POSED_POS_DOWN); - hidePushButton(PB_POSED_INS); - hidePushButton(PB_POSED_PATT_UP); - hidePushButton(PB_POSED_PATT_DOWN); - hidePushButton(PB_POSED_DEL); - hidePushButton(PB_POSED_LEN_UP); - hidePushButton(PB_POSED_LEN_DOWN); - hidePushButton(PB_POSED_REP_UP); - hidePushButton(PB_POSED_REP_DOWN); - - // logo button - hidePushButton(PB_LOGO); - hidePushButton(PB_BADGE); - - // left menu - hidePushButton(PB_ABOUT); - hidePushButton(PB_NIBBLES); - hidePushButton(PB_KILL); - hidePushButton(PB_TRIM); - hidePushButton(PB_EXTEND_VIEW); - hidePushButton(PB_TRANSPOSE); - hidePushButton(PB_INST_ED_EXT); - hidePushButton(PB_SMP_ED_EXT); - hidePushButton(PB_ADV_EDIT); - hidePushButton(PB_ADD_CHANNELS); - hidePushButton(PB_SUB_CHANNELS); - - // song/pattern - hidePushButton(PB_BPM_UP); - hidePushButton(PB_BPM_DOWN); - hidePushButton(PB_SPEED_UP); - hidePushButton(PB_SPEED_DOWN); - hidePushButton(PB_EDITADD_UP); - hidePushButton(PB_EDITADD_DOWN); - hidePushButton(PB_PATT_UP); - hidePushButton(PB_PATT_DOWN); - hidePushButton(PB_PATTLEN_UP); - hidePushButton(PB_PATTLEN_DOWN); - hidePushButton(PB_PATT_EXPAND); - hidePushButton(PB_PATT_SHRINK); -} - -void showTopRightMainScreen(void) -{ - // right menu - drawFramework(356, 0, 65, 173, FRAMEWORK_TYPE1); - showPushButton(PB_PLAY_SONG); - showPushButton(PB_PLAY_PATT); - showPushButton(PB_STOP); - showPushButton(PB_RECORD_SONG); - showPushButton(PB_RECORD_PATT); - showPushButton(PB_DISK_OP); - showPushButton(PB_INST_ED); - showPushButton(PB_SMP_ED); - showPushButton(PB_CONFIG); - showPushButton(PB_HELP); - - // instrument switcher - editor.ui.instrSwitcherShown = true; - showInstrumentSwitcher(); - - // song name - showTextBox(TB_SONG_NAME); - drawSongName(); -} - -void hideTopRightMainScreen(void) -{ - // right menu - hidePushButton(PB_PLAY_SONG); - hidePushButton(PB_PLAY_PATT); - hidePushButton(PB_STOP); - hidePushButton(PB_RECORD_SONG); - hidePushButton(PB_RECORD_PATT); - hidePushButton(PB_DISK_OP); - hidePushButton(PB_INST_ED); - hidePushButton(PB_SMP_ED); - hidePushButton(PB_CONFIG); - hidePushButton(PB_HELP); - - // instrument switcher - hideInstrumentSwitcher(); - editor.ui.instrSwitcherShown = false; - - hideTextBox(TB_SONG_NAME); -} - -// BOTTOM STUFF - -void setOldTopLeftScreenFlag(void) -{ - if (editor.ui.diskOpShown) editor.ui.oldTopLeftScreen = 1; - else if (editor.ui.sampleEditorExtShown) editor.ui.oldTopLeftScreen = 2; - else if (editor.ui.instEditorExtShown) editor.ui.oldTopLeftScreen = 3; - else if (editor.ui.transposeShown) editor.ui.oldTopLeftScreen = 4; - else if (editor.ui.advEditShown) editor.ui.oldTopLeftScreen = 5; - else if (editor.ui.wavRendererShown) editor.ui.oldTopLeftScreen = 6; - else if (editor.ui.trimScreenShown) editor.ui.oldTopLeftScreen = 7; -} - -void hideTopLeftScreen(void) -{ - setOldTopLeftScreenFlag(); - - hideTopLeftMainScreen(); - hideNibblesScreen(); - hideConfigScreen(); - hideAboutScreen(); - hideHelpScreen(); -} - -void hideTopScreen(void) -{ - setOldTopLeftScreenFlag(); - - hideTopLeftMainScreen(); - hideTopRightMainScreen(); - hideNibblesScreen(); - hideConfigScreen(); - hideAboutScreen(); - hideHelpScreen(); - - editor.ui.instrSwitcherShown = false; - editor.ui.scopesShown = false; -} - -void showTopScreen(bool restoreScreens) -{ - editor.ui.scopesShown = false; - - if (editor.ui.aboutScreenShown) showAboutScreen(); - else if (editor.ui.configScreenShown) showConfigScreen(); - else if (editor.ui.helpScreenShown) showHelpScreen(); - else if (editor.ui.nibblesShown) showNibblesScreen(); - else - { - showTopLeftMainScreen(restoreScreens); // updates editor.ui.scopesShown - showTopRightMainScreen(); - } -} - -void showBottomScreen(void) -{ - if (editor.ui.extended || editor.ui.patternEditorShown) - showPatternEditor(); - else if (editor.ui.instEditorShown) - showInstEditor(); - else if (editor.ui.sampleEditorShown) - showSampleEditor(); -} - -void drawGUIOnRunTime(void) -{ - setScrollBarPos(SB_POS_ED, 0, false); - - showTopScreen(false); // false = don't restore screens - showPatternEditor(); - - editor.ui.updatePosSections = true; -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include "ft2_header.h" +#include "ft2_gfxdata.h" +#include "ft2_config.h" +#include "ft2_about.h" +#include "ft2_mouse.h" +#include "ft2_nibbles.h" +#include "ft2_gui.h" +#include "ft2_pattern_ed.h" +#include "ft2_scopes.h" +#include "ft2_help.h" +#include "ft2_sample_ed.h" +#include "ft2_inst_ed.h" +#include "ft2_diskop.h" +#include "ft2_wav_renderer.h" +#include "ft2_trim.h" +#include "ft2_video.h" +#include "ft2_tables.h" + +static void releaseMouseStates(void) +{ + mouse.lastUsedObjectID = OBJECT_ID_NONE; + mouse.lastUsedObjectType = OBJECT_NONE; + mouse.leftButtonPressed = false; + mouse.leftButtonReleased = false; + mouse.rightButtonPressed = false; + mouse.rightButtonReleased = false; + mouse.firstTimePressingButton = false; + mouse.buttonCounter = 0; + mouse.lastX = 0; + mouse.lastY = 0; + editor.ui.sampleDataOrLoopDrag = -1; + editor.ui.leftLoopPinMoving = false; + editor.ui.rightLoopPinMoving = false; +} + +void unstuckLastUsedGUIElement(void) +{ + pushButton_t *p; + radioButton_t *r; + checkBox_t *c; + scrollBar_t *s; + + if (mouse.lastUsedObjectID == OBJECT_ID_NONE) + { + /* if last object ID is OBJECT_ID_NONE, check if we moved the + ** sample data loop pins, and unstuck them if so + */ + + if (editor.ui.leftLoopPinMoving) + { + setLeftLoopPinState(false); + editor.ui.leftLoopPinMoving = false; + } + + if (editor.ui.rightLoopPinMoving) + { + setRightLoopPinState(false); + editor.ui.rightLoopPinMoving = false; + } + + releaseMouseStates(); + return; + } + + switch (mouse.lastUsedObjectType) + { + default: break; + + case OBJECT_PUSHBUTTON: + { + assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_PUSHBUTTONS); + p = &pushButtons[mouse.lastUsedObjectID]; + if (p->state == PUSHBUTTON_PRESSED) + { + p->state = PUSHBUTTON_UNPRESSED; + if (p->visible) + drawPushButton(mouse.lastUsedObjectID); + } + } + break; + + case OBJECT_RADIOBUTTON: + { + assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_RADIOBUTTONS); + r = &radioButtons[mouse.lastUsedObjectID]; + if (r->state == RADIOBUTTON_PRESSED) + { + r->state = RADIOBUTTON_UNCHECKED; + if (r->visible) + drawRadioButton(mouse.lastUsedObjectID); + } + } + break; + + case OBJECT_CHECKBOX: + { + assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_CHECKBOXES); + c = &checkBoxes[mouse.lastUsedObjectID]; + if (c->state == CHECKBOX_PRESSED) + { + c->state = CHECKBOX_UNPRESSED; + if (c->visible) + drawCheckBox(mouse.lastUsedObjectID); + } + } + break; + + case OBJECT_SCROLLBAR: + { + assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_SCROLLBARS); + s = &scrollBars[mouse.lastUsedObjectID]; + if (s->state == SCROLLBAR_PRESSED) + { + s->state = SCROLLBAR_UNPRESSED; + if (s->visible) + drawScrollBar(mouse.lastUsedObjectID); + } + } + break; + } + + releaseMouseStates(); +} + +bool setupGUI(void) +{ + int32_t i; + textBox_t *t; + pushButton_t *p; + checkBox_t *c; + radioButton_t *r; + scrollBar_t *s; + + // all memory will be NULL-tested and free'd if we return false somewhere in this function + + editor.tmpFilenameU = (UNICHAR *)calloc(PATH_MAX + 1, sizeof (UNICHAR)); + editor.tmpInstrFilenameU = (UNICHAR *)calloc(PATH_MAX + 1, sizeof (UNICHAR)); + + if (editor.tmpFilenameU == NULL || editor.tmpInstrFilenameU == NULL) + goto setupGUI_OOM; + + // set uninitialized GUI struct entries + + for (i = 1; i < NUM_TEXTBOXES; i++) // skip first entry, it's reserved for inputBox()) + { + t = &textBoxes[i]; + + t->visible = false; + t->bufOffset = 0; + t->cursorPos = 0; + t->textPtr = NULL; + t->renderBufW = (9 + 1) * t->maxChars; // 9 = max character/glyph width possible + t->renderBufH = 10; // 10 = max character height possible + t->renderW = t->w - (t->tx * 2); + + t->renderBuf = (uint8_t *)malloc(t->renderBufW * t->renderBufH * sizeof (int8_t)); + if (t->renderBuf == NULL) + goto setupGUI_OOM; + } + + for (i = 0; i < NUM_PUSHBUTTONS; i++) + { + p = &pushButtons[i]; + + p->state = 0; + p->visible = false; + + if (i == PB_LOGO || i == PB_BADGE) + { + p->bitmapFlag = true; + } + else + { + p->bitmapFlag = false; + p->bitmapUnpressed = NULL; + p->bitmapPressed = NULL; + } + } + + for (i = 0; i < NUM_CHECKBOXES; i++) + { + c = &checkBoxes[i]; + + c->state = 0; + c->checked = false; + c->visible = false; + } + + for (i = 0; i < NUM_RADIOBUTTONS; i++) + { + r = &radioButtons[i]; + + r->state = 0; + r->visible = false; + } + + for (i = 0; i < NUM_SCROLLBARS; i++) + { + s = &scrollBars[i]; + + s->visible = false; + s->state = 0; + s->pos = 0; + s->page = 0; + s->end = 0; + s->thumbX = 0; + s->thumbY = 0; + s->thumbW = 0; + s->thumbH = 0; + } + + setPal16(palTable[config.cfg_StdPalNr], false); + + seedAboutScreenRandom((uint32_t)time(NULL)); + setupInitialTextBoxPointers(); + setInitialTrimFlags(); + initializeScrollBars(); + setMouseMode(MOUSE_MODE_NORMAL); + updateTextBoxPointers(); + drawGUIOnRunTime(); + updateSampleEditorSample(); + updatePatternWidth(); + initFTHelp(); + + return true; + +setupGUI_OOM: + showErrorMsgBox("Not enough memory!"); + return false; +} + +// TEXT ROUTINES + +// returns full pixel width of a char/glyph +uint8_t charWidth(char ch) +{ + return prop8Width[ch & 0x7F]; +} + +// returns full pixel width of a char/glyph (big font) +uint8_t charWidth16(char ch) +{ + return prop16Width[ch & 0x7F]; +} + +// return full pixel width of a text string +uint16_t textWidth(const char *textPtr) +{ + uint16_t textWidth; + + assert(textPtr != NULL); + + textWidth = 0; + while (*textPtr != '\0') + textWidth += charWidth(*textPtr++); + + // there will be a pixel spacer at the end of the last char/glyph, remove it + if (textWidth > 0) + textWidth--; + + return textWidth; +} + +uint16_t textNWidth(const char *textPtr, int32_t length) +{ + char ch; + uint16_t textWidth; + + assert(textPtr != NULL); + + textWidth = 0; + for (int32_t i = 0; i < length; i++) + { + ch = textPtr[i]; + if (ch == '\0') + break; + + textWidth += charWidth(ch); + } + + // there will be a pixel spacer at the end of the last char/glyph, remove it + if (textWidth > 0) + textWidth--; + + return textWidth; +} + +// return full pixel width of a text string (big font) +uint16_t textWidth16(const char *textPtr) +{ + uint16_t textWidth; + + assert(textPtr != NULL); + + textWidth = 0; + while (*textPtr != '\0') + textWidth += charWidth(*textPtr++); + + // there will be a pixel spacer at the end of the last char/glyph, remove it + if (textWidth > 0) + textWidth--; + + return textWidth; +} + +void charOut(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, char chr) +{ + const uint8_t *srcPtr; + uint32_t *dstPtr, pixVal; +#ifndef __arm__ + uint32_t tmp; +#endif + + assert(xPos < SCREEN_W && yPos < SCREEN_H); + + chr &= 0x7F; // this is important to get the nordic glyphs in the font + if (chr == ' ') + return; + + pixVal = video.palette[paletteIndex]; + srcPtr = &font1Data[chr * FONT1_CHAR_W]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + for (uint32_t y = 0; y < FONT1_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT1_CHAR_W; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + dstPtr[x] = pixVal; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (srcPtr[x] != 0) tmp = pixVal; + dstPtr[x] = tmp; +#endif + } + + srcPtr += FONT1_WIDTH; + dstPtr += SCREEN_W; + } +} + +void charOutBg(uint16_t xPos, uint16_t yPos, uint8_t fgPalette, uint8_t bgPalette, char chr) +{ + const uint8_t *srcPtr; + uint32_t *dstPtr, fg, bg; + + assert(xPos < SCREEN_W && yPos < SCREEN_H); + + chr &= 0x7F; // this is important to get the nordic glyphs in the font + if (chr == ' ') + return; + + fg = video.palette[fgPalette]; + bg = video.palette[bgPalette]; + + srcPtr = &font1Data[chr * FONT1_CHAR_W]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + for (uint32_t y = 0; y < FONT1_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT1_CHAR_W-1; x++) + dstPtr[x] = srcPtr[x] ? fg : bg; // compiles nicely into conditional move instructions + + srcPtr += FONT1_WIDTH; + dstPtr += SCREEN_W; + } +} + +void charOutOutlined(uint16_t x, uint16_t y, uint8_t paletteIndex, char chr) +{ + charOut(x - 1, y, PAL_BCKGRND, chr); + charOut(x + 1, y, PAL_BCKGRND, chr); + charOut(x, y - 1, PAL_BCKGRND, chr); + charOut(x, y + 1, PAL_BCKGRND, chr); + + charOut(x, y, paletteIndex, chr); +} + +void charOutShadow(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, uint8_t shadowPaletteIndex, char chr) +{ + const uint8_t *srcPtr; + uint32_t *dstPtr1, *dstPtr2, pixVal1, pixVal2; +#ifndef __arm__ + uint32_t tmp; +#endif + + assert(xPos < SCREEN_W && yPos < SCREEN_H); + + chr &= 0x7F; // this is important to get the nordic glyphs in the font + if (chr == ' ') + return; + + pixVal1 = video.palette[paletteIndex]; + pixVal2 = video.palette[shadowPaletteIndex]; + srcPtr = &font1Data[chr * FONT1_CHAR_W]; + dstPtr1 = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + dstPtr2 = dstPtr1 + (SCREEN_W+1); + + for (uint32_t y = 0; y < FONT1_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT1_CHAR_W; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + { + dstPtr2[x] = pixVal2; + dstPtr1[x] = pixVal1; + } +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr2[x]; + if (srcPtr[x] != 0) tmp = pixVal2; + dstPtr2[x] = tmp; + + tmp = dstPtr1[x]; + if (srcPtr[x] != 0) tmp = pixVal1; + dstPtr1[x] = tmp; +#endif + } + + srcPtr += FONT1_WIDTH; + dstPtr1 += SCREEN_W; + dstPtr2 += SCREEN_W; + } +} + +void charOutClipX(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, char chr, uint16_t clipX) +{ + const uint8_t *srcPtr; + uint16_t width; + uint32_t *dstPtr, pixVal; +#ifndef __arm__ + uint32_t tmp; +#endif + + assert(xPos < SCREEN_W && yPos < SCREEN_H); + + if (xPos > clipX) + return; + + chr &= 0x7F; // this is important to get the nordic glyphs in the font + if (chr == ' ') + return; + + pixVal = video.palette[paletteIndex]; + srcPtr = &font1Data[chr * FONT1_CHAR_W]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + width = FONT1_CHAR_W; + if (xPos+width > clipX) + width = FONT1_CHAR_W - ((xPos + width) - clipX); + + for (uint32_t y = 0; y < FONT1_CHAR_H; y++) + { + for (uint32_t x = 0; x < width; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + dstPtr[x] = pixVal; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (srcPtr[x] != 0) tmp = pixVal; + dstPtr[x] = tmp; +#endif + } + + srcPtr += FONT1_WIDTH; + dstPtr += SCREEN_W; + } +} + +void bigCharOut(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, char chr) +{ + const uint8_t *srcPtr; + uint32_t *dstPtr, pixVal; +#ifndef __arm__ + uint32_t tmp; +#endif + + assert(xPos < SCREEN_W && yPos < SCREEN_H); + + chr &= 0x7F; // this is important to get the nordic glyphs in the font + if (chr == ' ') + return; + + srcPtr = &font2Data[chr * FONT2_CHAR_W]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + pixVal = video.palette[paletteIndex]; + + for (uint32_t y = 0; y < FONT2_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT2_CHAR_W; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + dstPtr[x] = pixVal; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (srcPtr[x] != 0) tmp = pixVal; + dstPtr[x] = tmp; +#endif + } + + srcPtr += FONT2_WIDTH; + dstPtr += SCREEN_W; + } +} + +static void bigCharOutShadow(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, uint8_t shadowPaletteIndex, char chr) +{ + const uint8_t *srcPtr; + uint32_t *dstPtr1, *dstPtr2, pixVal1, pixVal2; +#ifndef __arm__ + uint32_t tmp; +#endif + + assert(xPos < SCREEN_W && yPos < SCREEN_H); + + chr &= 0x7F; // this is important to get the nordic glyphs in the font + if (chr == ' ') + return; + + pixVal1 = video.palette[paletteIndex]; + pixVal2 = video.palette[shadowPaletteIndex]; + srcPtr = &font2Data[chr * FONT2_CHAR_W]; + dstPtr1 = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + dstPtr2 = dstPtr1 + (SCREEN_W+1); + + for (uint32_t y = 0; y < FONT2_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT2_CHAR_W; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + { + dstPtr2[x] = pixVal2; + dstPtr1[x] = pixVal1; + } +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr2[x]; + if (srcPtr[x] != 0) tmp = pixVal2; + dstPtr2[x] = tmp; + + tmp = dstPtr1[x]; + if (srcPtr[x] != 0) tmp = pixVal1; + dstPtr1[x] = tmp; +#endif + } + + srcPtr += FONT2_WIDTH; + dstPtr1 += SCREEN_W; + dstPtr2 += SCREEN_W; + } +} + +void textOut(uint16_t x, uint16_t y, uint8_t paletteIndex, const char *textPtr) +{ + char chr; + uint16_t currX; + + assert(textPtr != NULL); + + currX = x; + while (true) + { + chr = *textPtr++; + if (chr == '\0') + break; + + charOut(currX, y, paletteIndex, chr); + currX += charWidth(chr); + } +} + +void textOutBorder(uint16_t x, uint16_t y, uint8_t paletteIndex, uint8_t borderPaletteIndex, const char *textPtr) +{ + textOut(x, y-1, borderPaletteIndex, textPtr); // top + textOut(x+1, y, borderPaletteIndex, textPtr); // right + textOut(x, y+1, borderPaletteIndex, textPtr); // bottom + textOut(x-1, y, borderPaletteIndex, textPtr); // left + + textOut(x, y, paletteIndex, textPtr); +} + +// fixed width +void textOutFixed(uint16_t x, uint16_t y, uint8_t fgPaltete, uint8_t bgPalette, const char *textPtr) +{ + char chr; + uint16_t currX; + + assert(textPtr != NULL); + + currX = x; + while (true) + { + chr = *textPtr++; + if (chr == '\0') + break; + + charOutBg(currX, y, fgPaltete, bgPalette, chr); + currX += FONT1_CHAR_W-1; + } +} + +void textOutShadow(uint16_t x, uint16_t y, uint8_t paletteIndex, uint8_t shadowPaletteIndex, const char *textPtr) +{ + char chr; + uint16_t currX; + + assert(textPtr != NULL); + + currX = x; + while (true) + { + chr = *textPtr++; + if (chr == '\0') + break; + + charOutShadow(currX, y, paletteIndex, shadowPaletteIndex, chr); + currX += charWidth(chr); + } +} + +void bigTextOut(uint16_t x, uint16_t y, uint8_t paletteIndex, const char *textPtr) +{ + char chr; + uint16_t currX; + + assert(textPtr != NULL); + + currX = x; + while (true) + { + chr = *textPtr++; + if (chr == '\0') + break; + + bigCharOut(currX, y, paletteIndex, chr); + currX += charWidth16(chr); + } +} + +void bigTextOutShadow(uint16_t x, uint16_t y, uint8_t paletteIndex, uint8_t shadowPaletteIndex, const char *textPtr) +{ + char chr; + uint16_t currX; + + assert(textPtr != NULL); + + currX = x; + while (true) + { + chr = *textPtr++; + if (chr == '\0') + break; + + bigCharOutShadow(currX, y, paletteIndex, shadowPaletteIndex, chr); + currX += charWidth16(chr); + } +} + +void textOutClipX(uint16_t x, uint16_t y, uint8_t paletteIndex, const char *textPtr, uint16_t clipX) +{ + char chr; + uint16_t currX; + + assert(textPtr != NULL); + + currX = x; + while (true) + { + chr = *textPtr++; + if (chr == '\0') + break; + + charOutClipX(currX, y, paletteIndex, chr, clipX); + + currX += charWidth(chr); + if (currX >= clipX) + break; + } +} + +void hexOut(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, uint32_t val, uint8_t numDigits) +{ + const uint8_t *srcPtr; + uint32_t *dstPtr, pixVal; +#ifndef __arm__ + uint32_t tmp; +#endif + + assert(xPos < SCREEN_W && yPos < SCREEN_H); + + pixVal = video.palette[paletteIndex]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + for (int32_t i = numDigits-1; i >= 0; i--) + { + srcPtr = &font6Data[((val >> (i * 4)) & 15) * FONT6_CHAR_W]; + + // render glyph + for (uint32_t y = 0; y < FONT6_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT6_CHAR_W; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + dstPtr[x] = pixVal; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (srcPtr[x] != 0) tmp = pixVal; + dstPtr[x] = tmp; +#endif + } + + srcPtr += FONT6_WIDTH; + dstPtr += SCREEN_W; + } + + dstPtr -= (SCREEN_W * FONT6_CHAR_H) - FONT6_CHAR_W; // xpos += FONT6_CHAR_W + } +} + +void hexOutBg(uint16_t xPos, uint16_t yPos, uint8_t fgPalette, uint8_t bgPalette, uint32_t val, uint8_t numDigits) +{ + const uint8_t *srcPtr; + uint32_t *dstPtr, fg, bg; + + assert(xPos < SCREEN_W && yPos < SCREEN_H); + + fg = video.palette[fgPalette]; + bg = video.palette[bgPalette]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + for (int32_t i = numDigits-1; i >= 0; i--) + { + // extract current nybble and set pointer to glyph + srcPtr = &font6Data[((val >> (i * 4)) & 15) * FONT6_CHAR_W]; + + // render glyph + for (uint32_t y = 0; y < FONT6_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT6_CHAR_W; x++) + dstPtr[x] = srcPtr[x] ? fg : bg; // compiles nicely into conditional move instructions + + srcPtr += FONT6_WIDTH; + dstPtr += SCREEN_W; + } + + dstPtr -= (SCREEN_W * FONT6_CHAR_H) - FONT6_CHAR_W; // xpos += FONT6_CHAR_W + } +} + +void hexOutShadow(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, uint8_t shadowPaletteIndex, uint32_t val, uint8_t numDigits) +{ + hexOut(xPos + 1, yPos + 1, shadowPaletteIndex, val, numDigits); + hexOut(xPos + 0, yPos + 0, paletteIndex, val, numDigits); +} + +// FILL ROUTINES + +void clearRect(uint16_t xPos, uint16_t yPos, uint16_t w, uint16_t h) +{ + uint32_t *dstPtr, fillNumDwords; + + assert(xPos < SCREEN_W && yPos < SCREEN_H && (xPos + w) <= SCREEN_W && (yPos + h) <= SCREEN_H); + + fillNumDwords = w * sizeof (int32_t); + + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + for (uint32_t y = 0; y < h; y++) + { + memset(dstPtr, 0, fillNumDwords); + dstPtr += SCREEN_W; + } +} + +void fillRect(uint16_t xPos, uint16_t yPos, uint16_t w, uint16_t h, uint8_t paletteIndex) +{ + uint32_t *dstPtr, pixVal; + + assert(xPos < SCREEN_W && yPos < SCREEN_H && (xPos + w) <= SCREEN_W && (yPos + h) <= SCREEN_H); + + pixVal = video.palette[paletteIndex]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + for (uint32_t y = 0; y < h; y++) + { + for (uint32_t x = 0; x < w; x++) + dstPtr[x] = pixVal; + + dstPtr += SCREEN_W; + } +} + +void blit32(uint16_t xPos, uint16_t yPos, const uint32_t* srcPtr, uint16_t w, uint16_t h) +{ + uint32_t* dstPtr; + + assert(srcPtr != NULL && xPos < SCREEN_W && yPos < SCREEN_H && (xPos + w) <= SCREEN_W && (yPos + h) <= SCREEN_H); + + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + for (uint32_t y = 0; y < h; y++) + { + for (uint32_t x = 0; x < w; x++) + { + if (srcPtr[x] != 0x00FF00) + dstPtr[x] = srcPtr[x] | 0xFF000000; // most significant 8 bits = palette number. 0xFF because no true palette + } + + srcPtr += w; + dstPtr += SCREEN_W; + } +} + +void blit(uint16_t xPos, uint16_t yPos, const uint8_t *srcPtr, uint16_t w, uint16_t h) +{ + uint32_t *dstPtr; + + assert(srcPtr != NULL && xPos < SCREEN_W && yPos < SCREEN_H && (xPos + w) <= SCREEN_W && (yPos + h) <= SCREEN_H); + + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + for (uint32_t y = 0; y < h; y++) + { + for (uint32_t x = 0; x < w; x++) + { + if (srcPtr[x] != PAL_TRANSPR) + dstPtr[x] = video.palette[srcPtr[x]]; + } + + srcPtr += w; + dstPtr += SCREEN_W; + } +} + +void blitFast(uint16_t xPos, uint16_t yPos, const uint8_t *srcPtr, uint16_t w, uint16_t h) // no transparency/colorkey +{ + uint32_t *dstPtr; + + assert(srcPtr != NULL && xPos < SCREEN_W && yPos < SCREEN_H && (xPos + w) <= SCREEN_W && (yPos + h) <= SCREEN_H); + + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + for (uint32_t y = 0; y < h; y++) + { + for (uint32_t x = 0; x < w; x++) + dstPtr[x] = video.palette[srcPtr[x]]; + + srcPtr += w; + dstPtr += SCREEN_W; + } +} + +// LINE ROUTINES + +void hLine(uint16_t x, uint16_t y, uint16_t w, uint8_t paletteIndex) +{ + uint32_t *dstPtr, pixVal; + + assert(x < SCREEN_W && y < SCREEN_H && (x + w) <= SCREEN_W); + + pixVal = video.palette[paletteIndex]; + + dstPtr = &video.frameBuffer[(y * SCREEN_W) + x]; + for (uint32_t i = 0; i < w; i++) + dstPtr[i] = pixVal; +} + +void vLine(uint16_t x, uint16_t y, uint16_t h, uint8_t paletteIndex) +{ + uint32_t *dstPtr, pixVal; + + assert(x < SCREEN_W && y < SCREEN_H && (y + h) <= SCREEN_W); + + pixVal = video.palette[paletteIndex]; + + dstPtr = &video.frameBuffer[(y * SCREEN_W) + x]; + for (uint32_t i = 0; i < h; i++) + { + *dstPtr = pixVal; + dstPtr += SCREEN_W; + } +} + +void hLineDouble(uint16_t x, uint16_t y, uint16_t w, uint8_t paletteIndex) +{ + hLine(x, y, w, paletteIndex); + hLine(x, y+1, w, paletteIndex); +} + +void vLineDouble(uint16_t x, uint16_t y, uint16_t h, uint8_t paletteIndex) +{ + vLine(x, y, h, paletteIndex); + vLine(x+1, y, h, paletteIndex); +} + +void line(int16_t x1, int16_t x2, int16_t y1, int16_t y2, uint8_t paletteIndex) +{ + int16_t d, x, y, sx, sy, dx, dy; + uint16_t ax, ay; + int32_t pitch; + uint32_t pixVal, *dst32; + + // get coefficients + dx = x2 - x1; + ax = ABS(dx) * 2; + sx = SGN(dx); + dy = y2 - y1; + ay = ABS(dy) * 2; + sy = SGN(dy); + x = x1; + y = y1; + + pixVal = video.palette[paletteIndex]; + pitch = sy * SCREEN_W; + dst32 = &video.frameBuffer[(y * SCREEN_W) + x]; + + // draw line + if (ax > ay) + { + d = ay - (ax / 2); + while (true) + { + *dst32 = pixVal; + if (x == x2) + break; + + if (d >= 0) + { + d -= ax; + dst32 += pitch; + } + + x += sx; + d += ay; + dst32 += sx; + } + } + else + { + d = ax - (ay / 2); + while (true) + { + *dst32 = pixVal; + if (y == y2) + break; + + if (d >= 0) + { + d -= ay; + dst32 += sx; + } + + y += sy; + d += ax; + dst32 += pitch; + } + } +} + +void drawFramework(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint8_t type) +{ + assert(x < SCREEN_W && y < SCREEN_H && w >= 2 && h >= h); + + h--; + w--; + + if (type == FRAMEWORK_TYPE1) + { + // top left corner + hLine(x, y, w, PAL_DSKTOP1); + vLine(x, y + 1, h - 1, PAL_DSKTOP1); + + // bottom right corner + hLine(x, y + h, w, PAL_DSKTOP2); + vLine(x + w, y, h + 1, PAL_DSKTOP2); + + // fill background + fillRect(x + 1, y + 1, w - 1, h - 1, PAL_DESKTOP); + } + else + { + // top left corner + hLine(x, y, w + 1, PAL_DSKTOP2); + vLine(x, y + 1, h, PAL_DSKTOP2); + + // bottom right corner + hLine(x + 1, y + h, w, PAL_DSKTOP1); + vLine(x + w, y + 1, h - 1, PAL_DSKTOP1); + + // clear background + clearRect(x + 1, y + 1, w - 1, h - 1); + } +} + +// GUI FUNCTIONS + +void showTopLeftMainScreen(bool restoreScreens) +{ + editor.ui.diskOpShown = false; + editor.ui.sampleEditorExtShown = false; + editor.ui.instEditorExtShown = false; + editor.ui.transposeShown = false; + editor.ui.advEditShown = false; + editor.ui.wavRendererShown = false; + editor.ui.trimScreenShown = false; + + editor.ui.scopesShown = true; + if (restoreScreens) + { + switch (editor.ui.oldTopLeftScreen) + { + default: break; + case 1: editor.ui.diskOpShown = true; break; + case 2: editor.ui.sampleEditorExtShown = true; break; + case 3: editor.ui.instEditorExtShown = true; break; + case 4: editor.ui.transposeShown = true; break; + case 5: editor.ui.advEditShown = true; break; + case 6: editor.ui.wavRendererShown = true; break; + case 7: editor.ui.trimScreenShown = true; break; + } + + if (editor.ui.oldTopLeftScreen > 0) + editor.ui.scopesShown = false; + } + + editor.ui.oldTopLeftScreen = 0; + + if (editor.ui.diskOpShown) + { + showDiskOpScreen(); + } + else + { + // pos ed. + drawFramework(0, 0, 112, 77, FRAMEWORK_TYPE1); + drawFramework(2, 2, 51, 19, FRAMEWORK_TYPE2); + drawFramework(2,30, 51, 19, FRAMEWORK_TYPE2); + showScrollBar(SB_POS_ED); + showPushButton(PB_POSED_POS_UP); + showPushButton(PB_POSED_POS_DOWN); + showPushButton(PB_POSED_INS); + showPushButton(PB_POSED_PATT_UP); + showPushButton(PB_POSED_PATT_DOWN); + showPushButton(PB_POSED_DEL); + showPushButton(PB_POSED_LEN_UP); + showPushButton(PB_POSED_LEN_DOWN); + showPushButton(PB_POSED_REP_UP); + showPushButton(PB_POSED_REP_DOWN); + textOutShadow(4, 52, PAL_FORGRND, PAL_DSKTOP2, "Songlen."); + textOutShadow(4, 64, PAL_FORGRND, PAL_DSKTOP2, "Repstart"); + drawPosEdNums(song.songPos); + drawSongLength(); + drawSongRepS(); + + // logo button + showPushButton(PB_LOGO); + showPushButton(PB_BADGE); + + // left menu + drawFramework(291, 0, 65, 173, FRAMEWORK_TYPE1); + showPushButton(PB_ABOUT); + showPushButton(PB_NIBBLES); + showPushButton(PB_KILL); + showPushButton(PB_TRIM); + showPushButton(PB_EXTEND_VIEW); + showPushButton(PB_TRANSPOSE); + showPushButton(PB_INST_ED_EXT); + showPushButton(PB_SMP_ED_EXT); + showPushButton(PB_ADV_EDIT); + showPushButton(PB_ADD_CHANNELS); + showPushButton(PB_SUB_CHANNELS); + + // song/pattern + drawFramework(112, 32, 94, 45, FRAMEWORK_TYPE1); + drawFramework(206, 32, 85, 45, FRAMEWORK_TYPE1); + showPushButton(PB_BPM_UP); + showPushButton(PB_BPM_DOWN); + showPushButton(PB_SPEED_UP); + showPushButton(PB_SPEED_DOWN); + showPushButton(PB_EDITADD_UP); + showPushButton(PB_EDITADD_DOWN); + showPushButton(PB_PATT_UP); + showPushButton(PB_PATT_DOWN); + showPushButton(PB_PATTLEN_UP); + showPushButton(PB_PATTLEN_DOWN); + showPushButton(PB_PATT_EXPAND); + showPushButton(PB_PATT_SHRINK); + textOutShadow(116, 36, PAL_FORGRND, PAL_DSKTOP2, "BPM"); + textOutShadow(116, 50, PAL_FORGRND, PAL_DSKTOP2, "Spd."); + textOutShadow(116, 64, PAL_FORGRND, PAL_DSKTOP2, "Add."); + textOutShadow(210, 36, PAL_FORGRND, PAL_DSKTOP2, "Ptn."); + textOutShadow(210, 50, PAL_FORGRND, PAL_DSKTOP2, "Ln."); + drawSongBPM(song.speed); + drawSongSpeed(song.tempo); + drawEditPattern(editor.editPattern); + drawPatternLength(editor.editPattern); + drawIDAdd(); + + // status bar + drawFramework(0, 77, 291, 15, FRAMEWORK_TYPE1); + textOutShadow(4, 80, PAL_FORGRND, PAL_DSKTOP2, "Global volume"); + drawGlobalVol(song.globVol); + + editor.ui.updatePosSections = true; + + textOutShadow(204, 80, PAL_FORGRND, PAL_DSKTOP2, "Time"); + charOutShadow(250, 80, PAL_FORGRND, PAL_DSKTOP2, ':'); + charOutShadow(270, 80, PAL_FORGRND, PAL_DSKTOP2, ':'); + drawPlaybackTime(); + + if (editor.ui.sampleEditorExtShown) drawSampleEditorExt(); + else if (editor.ui.instEditorExtShown) drawInstEditorExt(); + else if (editor.ui.transposeShown) drawTranspose(); + else if (editor.ui.advEditShown) drawAdvEdit(); + else if (editor.ui.wavRendererShown) drawWavRenderer(); + else if (editor.ui.trimScreenShown) drawTrimScreen(); + + if (editor.ui.scopesShown) + drawScopeFramework(); + } +} + +void hideTopLeftMainScreen(void) +{ + hideDiskOpScreen(); + hideInstEditorExt(); + hideSampleEditorExt(); + hideTranspose(); + hideAdvEdit(); + hideWavRenderer(); + hideTrimScreen(); + + editor.ui.scopesShown = false; + + // position editor + hideScrollBar(SB_POS_ED); + + hidePushButton(PB_POSED_POS_UP); + hidePushButton(PB_POSED_POS_DOWN); + hidePushButton(PB_POSED_INS); + hidePushButton(PB_POSED_PATT_UP); + hidePushButton(PB_POSED_PATT_DOWN); + hidePushButton(PB_POSED_DEL); + hidePushButton(PB_POSED_LEN_UP); + hidePushButton(PB_POSED_LEN_DOWN); + hidePushButton(PB_POSED_REP_UP); + hidePushButton(PB_POSED_REP_DOWN); + + // logo button + hidePushButton(PB_LOGO); + hidePushButton(PB_BADGE); + + // left menu + hidePushButton(PB_ABOUT); + hidePushButton(PB_NIBBLES); + hidePushButton(PB_KILL); + hidePushButton(PB_TRIM); + hidePushButton(PB_EXTEND_VIEW); + hidePushButton(PB_TRANSPOSE); + hidePushButton(PB_INST_ED_EXT); + hidePushButton(PB_SMP_ED_EXT); + hidePushButton(PB_ADV_EDIT); + hidePushButton(PB_ADD_CHANNELS); + hidePushButton(PB_SUB_CHANNELS); + + // song/pattern + hidePushButton(PB_BPM_UP); + hidePushButton(PB_BPM_DOWN); + hidePushButton(PB_SPEED_UP); + hidePushButton(PB_SPEED_DOWN); + hidePushButton(PB_EDITADD_UP); + hidePushButton(PB_EDITADD_DOWN); + hidePushButton(PB_PATT_UP); + hidePushButton(PB_PATT_DOWN); + hidePushButton(PB_PATTLEN_UP); + hidePushButton(PB_PATTLEN_DOWN); + hidePushButton(PB_PATT_EXPAND); + hidePushButton(PB_PATT_SHRINK); +} + +void showTopRightMainScreen(void) +{ + // right menu + drawFramework(356, 0, 65, 173, FRAMEWORK_TYPE1); + showPushButton(PB_PLAY_SONG); + showPushButton(PB_PLAY_PATT); + showPushButton(PB_STOP); + showPushButton(PB_RECORD_SONG); + showPushButton(PB_RECORD_PATT); + showPushButton(PB_DISK_OP); + showPushButton(PB_INST_ED); + showPushButton(PB_SMP_ED); + showPushButton(PB_CONFIG); + showPushButton(PB_HELP); + + // instrument switcher + editor.ui.instrSwitcherShown = true; + showInstrumentSwitcher(); + + // song name + showTextBox(TB_SONG_NAME); + drawSongName(); +} + +void hideTopRightMainScreen(void) +{ + // right menu + hidePushButton(PB_PLAY_SONG); + hidePushButton(PB_PLAY_PATT); + hidePushButton(PB_STOP); + hidePushButton(PB_RECORD_SONG); + hidePushButton(PB_RECORD_PATT); + hidePushButton(PB_DISK_OP); + hidePushButton(PB_INST_ED); + hidePushButton(PB_SMP_ED); + hidePushButton(PB_CONFIG); + hidePushButton(PB_HELP); + + // instrument switcher + hideInstrumentSwitcher(); + editor.ui.instrSwitcherShown = false; + + hideTextBox(TB_SONG_NAME); +} + +// BOTTOM STUFF + +void setOldTopLeftScreenFlag(void) +{ + if (editor.ui.diskOpShown) editor.ui.oldTopLeftScreen = 1; + else if (editor.ui.sampleEditorExtShown) editor.ui.oldTopLeftScreen = 2; + else if (editor.ui.instEditorExtShown) editor.ui.oldTopLeftScreen = 3; + else if (editor.ui.transposeShown) editor.ui.oldTopLeftScreen = 4; + else if (editor.ui.advEditShown) editor.ui.oldTopLeftScreen = 5; + else if (editor.ui.wavRendererShown) editor.ui.oldTopLeftScreen = 6; + else if (editor.ui.trimScreenShown) editor.ui.oldTopLeftScreen = 7; +} + +void hideTopLeftScreen(void) +{ + setOldTopLeftScreenFlag(); + + hideTopLeftMainScreen(); + hideNibblesScreen(); + hideConfigScreen(); + hideAboutScreen(); + hideHelpScreen(); +} + +void hideTopScreen(void) +{ + setOldTopLeftScreenFlag(); + + hideTopLeftMainScreen(); + hideTopRightMainScreen(); + hideNibblesScreen(); + hideConfigScreen(); + hideAboutScreen(); + hideHelpScreen(); + + editor.ui.instrSwitcherShown = false; + editor.ui.scopesShown = false; +} + +void showTopScreen(bool restoreScreens) +{ + editor.ui.scopesShown = false; + + if (editor.ui.aboutScreenShown) + { + showAboutScreen(); + } + else if (editor.ui.configScreenShown) + { + showConfigScreen(); + } + else if (editor.ui.helpScreenShown) + { + showHelpScreen(); + } + else if (editor.ui.nibblesShown) + { + showNibblesScreen(); + } + else + { + showTopLeftMainScreen(restoreScreens); // updates editor.ui.scopesShown + showTopRightMainScreen(); + } +} + +void showBottomScreen(void) +{ + if (editor.ui.extended || editor.ui.patternEditorShown) + showPatternEditor(); + else if (editor.ui.instEditorShown) + showInstEditor(); + else if (editor.ui.sampleEditorShown) + showSampleEditor(); +} + +void drawGUIOnRunTime(void) +{ + setScrollBarPos(SB_POS_ED, 0, false); + + showTopScreen(false); // false = don't restore screens + showPatternEditor(); + + editor.ui.updatePosSections = true; +} diff --git a/src/ft2_gui.h b/src/ft2_gui.h index c114a13..459c8f5 100644 --- a/src/ft2_gui.h +++ b/src/ft2_gui.h @@ -1,114 +1,115 @@ -#pragma once - -#include -#include -#include "ft2_pushbuttons.h" -#include "ft2_radiobuttons.h" -#include "ft2_checkboxes.h" -#include "ft2_scrollbars.h" -#include "ft2_sysreqs.h" -#include "ft2_textboxes.h" -#include "ft2_palette.h" - -#define FONT1_CHAR_W 8 -#define FONT1_CHAR_H 10 -#define FONT1_WIDTH 1024 -#define FONT2_CHAR_W 16 -#define FONT2_CHAR_H 20 -#define FONT2_WIDTH 2048 -#define FONT3_CHAR_W 4 -#define FONT3_CHAR_H 8 -#define FONT3_WIDTH 172 -#define FONT4_CHAR_W 8 -#define FONT4_CHAR_H 8 -#define FONT4_WIDTH 584 -#define FONT5_CHAR_W 16 -#define FONT5_CHAR_H 8 -#define FONT5_WIDTH 624 -#define FONT6_CHAR_W 7 -#define FONT6_CHAR_H 8 -#define FONT6_WIDTH 112 -#define FONT7_CHAR_W 6 -#define FONT7_CHAR_H 8 -#define FONT7_WIDTH 140 - -enum -{ - FRAMEWORK_TYPE1 = 0, - FRAMEWORK_TYPE2 = 1, - - FONT_TYPE1 = 0, - FONT_TYPE2 = 1, - FONT_TYPE3 = 2, - FONT_TYPE4 = 3, - FONT_TYPE5 = 4, - FONT_TYPE6 = 5, - FONT_TYPE7 = 6, - - OBJECT_ID_NONE = -1, - - OBJECT_NONE = 0, - OBJECT_PUSHBUTTON = 1, - OBJECT_RADIOBUTTON = 2, - OBJECT_CHECKBOX = 3, - OBJECT_SCROLLBAR = 4, - OBJECT_TEXTBOX = 5, - OBJECT_INSTRSWITCH = 6, - OBJECT_PATTERNMARK = 7, - OBJECT_DISKOPLIST = 8, - OBJECT_SMPDATA = 9, - OBJECT_PIANO = 10, - OBJECT_INSVOLENV = 11, - OBJECT_INSPANENV = 12 -}; - -extern pushButton_t pushButtons[NUM_PUSHBUTTONS]; -extern radioButton_t radioButtons[NUM_RADIOBUTTONS]; -extern checkBox_t checkBoxes[NUM_CHECKBOXES]; -extern scrollBar_t scrollBars[NUM_SCROLLBARS]; -extern textBox_t textBoxes[NUM_TEXTBOXES]; - -void unstuckLastUsedGUIElement(void); -bool setupGUI(void); - -void hLine(uint16_t x, uint16_t y, uint16_t width, uint8_t paletteIndex); -void vLine(uint16_t x, uint16_t y, uint16_t h, uint8_t paletteIndex); -void hLineDouble(uint16_t x, uint16_t y, uint16_t w, uint8_t paletteIndex); -void vLineDouble(uint16_t x, uint16_t y, uint16_t h, uint8_t paletteIndex); -void line(int16_t x1, int16_t x2, int16_t y1, int16_t y2, uint8_t paletteIndex); -void clearRect(uint16_t xPos, uint16_t yPos, uint16_t w, uint16_t h); -void fillRect(uint16_t xPos, uint16_t yPos, uint16_t w, uint16_t h, uint8_t paletteIndex); -void drawFramework(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint8_t type); -void blit32(uint16_t xPos, uint16_t yPos, const uint32_t* srcPtr, uint16_t w, uint16_t h); -void blit(uint16_t xPos, uint16_t yPos, const uint8_t *srcPtr, uint16_t w, uint16_t h); -void blitFast(uint16_t xPos, uint16_t yPos, const uint8_t *srcPtr, uint16_t w, uint16_t h); // no colorkey -void hexOut(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, uint32_t val, uint8_t numDigits); -void hexOutBg(uint16_t xPos, uint16_t yPos, uint8_t fgPalette, uint8_t bgPalette, uint32_t val, uint8_t numDigits); -void hexOutShadow(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, uint8_t shadowPaletteIndex, uint32_t val, uint8_t numDigits); -void charOut(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, char chr); -void charOutBg(uint16_t xPos, uint16_t yPos, uint8_t fgPalette, uint8_t bgPalette, char chr); -void charOutShadow(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, uint8_t shadowPaletteIndex, char chr); -void charOutClipX(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, char chr, uint16_t clipX); -void bigCharOut(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, char chr); -void charOutShadow(uint16_t x, uint16_t y, uint8_t paletteIndex, uint8_t shadowPaletteIndex, char chr); -void charOutOutlined(uint16_t x, uint16_t y, uint8_t paletteIndex, char chr); -void textOut(uint16_t x, uint16_t y, uint8_t paletteIndex, const char *textPtr); -void textOutFixed(uint16_t x, uint16_t y, uint8_t fgPaltete, uint8_t bgPalette, const char *textPtr); -void bigTextOut(uint16_t x, uint16_t y, uint8_t paletteIndex, const char *textPtr); -void bigTextOutShadow(uint16_t x, uint16_t y, uint8_t paletteIndex, uint8_t shadowPaletteIndex, const char *textPtr); -void textOutClipX(uint16_t x, uint16_t y, uint8_t paletteIndex, const char *textPtr, uint16_t clipX); -void textOutShadow(uint16_t x, uint16_t y, uint8_t paletteIndex, uint8_t shadowPaletteIndex, const char *textPtr); -uint8_t charWidth(char ch); -uint8_t charWidth16(char ch); -uint16_t textWidth(const char *textPtr); -uint16_t textNWidth(const char *textPtr, int32_t length); -uint16_t textWidth16(const char *textPtr); -void drawGUIOnRunTime(void); -void showTopLeftMainScreen(bool restoreScreens); -void hideTopLeftMainScreen(void); -void showTopRightMainScreen(void); -void hideTopRightMainScreen(void); -void hideTopLeftScreen(void); -void hideTopScreen(void); -void showTopScreen(bool restoreScreens); -void showBottomScreen(void); +#pragma once + +#include +#include +#include "ft2_pushbuttons.h" +#include "ft2_radiobuttons.h" +#include "ft2_checkboxes.h" +#include "ft2_scrollbars.h" +#include "ft2_sysreqs.h" +#include "ft2_textboxes.h" +#include "ft2_palette.h" + +#define FONT1_CHAR_W 8 +#define FONT1_CHAR_H 10 +#define FONT1_WIDTH 1024 +#define FONT2_CHAR_W 16 +#define FONT2_CHAR_H 20 +#define FONT2_WIDTH 2048 +#define FONT3_CHAR_W 4 +#define FONT3_CHAR_H 8 +#define FONT3_WIDTH 172 +#define FONT4_CHAR_W 8 +#define FONT4_CHAR_H 8 +#define FONT4_WIDTH 584 +#define FONT5_CHAR_W 16 +#define FONT5_CHAR_H 8 +#define FONT5_WIDTH 624 +#define FONT6_CHAR_W 7 +#define FONT6_CHAR_H 8 +#define FONT6_WIDTH 112 +#define FONT7_CHAR_W 6 +#define FONT7_CHAR_H 8 +#define FONT7_WIDTH 140 + +enum +{ + FRAMEWORK_TYPE1 = 0, + FRAMEWORK_TYPE2 = 1, + + FONT_TYPE1 = 0, + FONT_TYPE2 = 1, + FONT_TYPE3 = 2, + FONT_TYPE4 = 3, + FONT_TYPE5 = 4, + FONT_TYPE6 = 5, + FONT_TYPE7 = 6, + + OBJECT_ID_NONE = -1, + + OBJECT_NONE = 0, + OBJECT_PUSHBUTTON = 1, + OBJECT_RADIOBUTTON = 2, + OBJECT_CHECKBOX = 3, + OBJECT_SCROLLBAR = 4, + OBJECT_TEXTBOX = 5, + OBJECT_INSTRSWITCH = 6, + OBJECT_PATTERNMARK = 7, + OBJECT_DISKOPLIST = 8, + OBJECT_SMPDATA = 9, + OBJECT_PIANO = 10, + OBJECT_INSVOLENV = 11, + OBJECT_INSPANENV = 12 +}; + +extern pushButton_t pushButtons[NUM_PUSHBUTTONS]; +extern radioButton_t radioButtons[NUM_RADIOBUTTONS]; +extern checkBox_t checkBoxes[NUM_CHECKBOXES]; +extern scrollBar_t scrollBars[NUM_SCROLLBARS]; +extern textBox_t textBoxes[NUM_TEXTBOXES]; + +void unstuckLastUsedGUIElement(void); +bool setupGUI(void); + +void hLine(uint16_t x, uint16_t y, uint16_t width, uint8_t paletteIndex); +void vLine(uint16_t x, uint16_t y, uint16_t h, uint8_t paletteIndex); +void hLineDouble(uint16_t x, uint16_t y, uint16_t w, uint8_t paletteIndex); +void vLineDouble(uint16_t x, uint16_t y, uint16_t h, uint8_t paletteIndex); +void line(int16_t x1, int16_t x2, int16_t y1, int16_t y2, uint8_t paletteIndex); +void clearRect(uint16_t xPos, uint16_t yPos, uint16_t w, uint16_t h); +void fillRect(uint16_t xPos, uint16_t yPos, uint16_t w, uint16_t h, uint8_t paletteIndex); +void drawFramework(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint8_t type); +void blit32(uint16_t xPos, uint16_t yPos, const uint32_t* srcPtr, uint16_t w, uint16_t h); +void blit(uint16_t xPos, uint16_t yPos, const uint8_t *srcPtr, uint16_t w, uint16_t h); +void blitFast(uint16_t xPos, uint16_t yPos, const uint8_t *srcPtr, uint16_t w, uint16_t h); // no colorkey +void hexOut(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, uint32_t val, uint8_t numDigits); +void hexOutBg(uint16_t xPos, uint16_t yPos, uint8_t fgPalette, uint8_t bgPalette, uint32_t val, uint8_t numDigits); +void hexOutShadow(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, uint8_t shadowPaletteIndex, uint32_t val, uint8_t numDigits); +void charOut(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, char chr); +void charOutBg(uint16_t xPos, uint16_t yPos, uint8_t fgPalette, uint8_t bgPalette, char chr); +void charOutShadow(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, uint8_t shadowPaletteIndex, char chr); +void charOutClipX(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, char chr, uint16_t clipX); +void bigCharOut(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, char chr); +void charOutShadow(uint16_t x, uint16_t y, uint8_t paletteIndex, uint8_t shadowPaletteIndex, char chr); +void charOutOutlined(uint16_t x, uint16_t y, uint8_t paletteIndex, char chr); +void textOut(uint16_t x, uint16_t y, uint8_t paletteIndex, const char *textPtr); +void textOutBorder(uint16_t x, uint16_t y, uint8_t paletteIndex, uint8_t borderPaletteIndex, const char *textPtr); +void textOutFixed(uint16_t x, uint16_t y, uint8_t fgPaltete, uint8_t bgPalette, const char *textPtr); +void bigTextOut(uint16_t x, uint16_t y, uint8_t paletteIndex, const char *textPtr); +void bigTextOutShadow(uint16_t x, uint16_t y, uint8_t paletteIndex, uint8_t shadowPaletteIndex, const char *textPtr); +void textOutClipX(uint16_t x, uint16_t y, uint8_t paletteIndex, const char *textPtr, uint16_t clipX); +void textOutShadow(uint16_t x, uint16_t y, uint8_t paletteIndex, uint8_t shadowPaletteIndex, const char *textPtr); +uint8_t charWidth(char ch); +uint8_t charWidth16(char ch); +uint16_t textWidth(const char *textPtr); +uint16_t textNWidth(const char *textPtr, int32_t length); +uint16_t textWidth16(const char *textPtr); +void drawGUIOnRunTime(void); +void showTopLeftMainScreen(bool restoreScreens); +void hideTopLeftMainScreen(void); +void showTopRightMainScreen(void); +void hideTopRightMainScreen(void); +void hideTopLeftScreen(void); +void hideTopScreen(void); +void showTopScreen(bool restoreScreens); +void showBottomScreen(void); diff --git a/src/ft2_header.h b/src/ft2_header.h index 1b0c774..a82d293 100644 --- a/src/ft2_header.h +++ b/src/ft2_header.h @@ -1,146 +1,151 @@ -#pragma once - -#include -#include -#include -#include -#ifdef _WIN32 -#define WIN32_MEAN_AND_LEAN -#include -#include // for intrinsics -#else -#include // PATH_MAX +#pragma once + +#include +#include +#include +#include +#ifdef _WIN32 +#define WIN32_MEAN_AND_LEAN +#include +#else +#include // PATH_MAX +#endif +#include "ft2_replayer.h" #include // FILE -#endif -#ifndef _MSC_VER #include // M_* -#endif -#include "ft2_replayer.h" - -#define BETA_VERSION 168 - -// do NOT change these! It will only mess things up... - -/* "60Hz" ranges everywhere from 59..61Hz depending on the monitor, so with -** no vsync we will get stuttering because the rate is not perfect... */ -#define VBLANK_HZ 60 - -/* Scopes are clocked at 64Hz instead of 60Hz to prevent possible stutters -** from monitors not being exactly 60Hz (and unstable non-vsync mode). */ -#define SCOPE_HZ 64 - -#define FT2_VBLANK_HZ 70 -#define SCREEN_W 632 -#define SCREEN_H 400 - -/* Amount of extra bytes to allocate for every instrument sample, -** this is used for a hack for resampling interpolation to be -** branchless in the inner channel mixer loop. -** Warning: Do not change this! */ -#define LOOP_FIX_LEN 4 - -#ifndef _WIN32 -#define _stricmp strcasecmp -#define _strnicmp strncasecmp -#define DIR_DELIMITER '/' -#else -#define DIR_DELIMITER '\\' -#define PATH_MAX MAX_PATH -#endif - -#define SGN(x) (((x) >= 0) ? 1 : -1) -#define ABS(a) (((a) < 0) ? -(a) : (a)) -#define MIN(a, b) (((a) < (b)) ? (a) : (b)) -#define MAX(a, b) (((a) > (b)) ? (a) : (b)) -#define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) - -// fast 32-bit -> 8-bit clamp -#define CLAMP8(i) if ((int8_t)(i) != i) i = 0x7F ^ (i >> 31) - -// fast 32-bit -> 16-bit clamp -#define CLAMP16(i) if ((int16_t)(i) != i) i = 0x7FFF ^ (i >> 31) - -#define SWAP16(value) \ -( \ - (((uint16_t)((value) & 0x00FF)) << 8) | \ - (((uint16_t)((value) & 0xFF00)) >> 8) \ -) - -#define SWAP32(value) \ -( \ - (((uint32_t)((value) & 0x000000FF)) << 24) | \ - (((uint32_t)((value) & 0x0000FF00)) << 8) | \ - (((uint32_t)((value) & 0x00FF0000)) >> 8) | \ - (((uint32_t)((value) & 0xFF000000)) >> 24) \ -) - -struct cpu_t -{ - bool hasSSE, hasSSE2; -} cpu; - -struct editor_t -{ - struct ui_t - { - volatile bool setMouseBusy, setMouseIdle; - bool sysReqEnterPressed; - char fullscreenButtonText[24]; - - // all screens - bool extended, sysReqShown; - - // top screens - bool instrSwitcherShown, aboutScreenShown, helpScreenShown, configScreenShown; - bool scopesShown, diskOpShown, nibblesShown, transposeShown, instEditorExtShown; - bool sampleEditorExtShown, advEditShown, wavRendererShown, trimScreenShown; - bool drawBPMFlag, drawSpeedFlag, drawGlobVolFlag, drawPosEdFlag, drawPattNumLenFlag; - bool updatePosSections; - uint8_t oldTopLeftScreen; - - // bottom screens - bool patternEditorShown, instEditorShown, sampleEditorShown, pattChanScrollShown; - bool leftLoopPinMoving, rightLoopPinMoving; - bool drawReplayerPianoFlag, drawPianoFlag, updatePatternEditor; - uint8_t channelOffset, numChannelsShown, maxVisibleChannels; - uint16_t patternChannelWidth; - int32_t sampleDataOrLoopDrag; - - // backup flag for when entering/exiting extended pattern editor (TODO: this is lame and shouldn't be hardcoded) - bool _aboutScreenShown, _helpScreenShown, _configScreenShown, _diskOpShown; - bool _nibblesShown, _transposeShown, _instEditorShown; - bool _instEditorExtShown, _sampleEditorExtShown, _patternEditorShown; - bool _sampleEditorShown, _advEditShown, _wavRendererShown, _trimScreenShown; - // ------------------------------------------------------------------------- - } ui; - - struct cursor_t - { - uint8_t ch; - int8_t object; - } cursor; - - UNICHAR binaryPathU[PATH_MAX + 2]; - UNICHAR *tmpFilenameU, *tmpInstrFilenameU; // used by saving/loading threads - UNICHAR *configFileLocation, *audioDevConfigFileLocation, *midiConfigFileLocation; - - volatile bool busy, scopeThreadMutex, programRunning, wavIsRendering, wavReachedEndFlag; - volatile bool updateCurSmp, updateCurInstr, diskOpReadDir, diskOpReadDone, updateWindowTitle; - volatile uint8_t loadMusicEvent; - volatile FILE *wavRendererFileHandle; - - bool autoPlayOnDrop, trimThreadWasDone, throwExit, editTextFlag; - bool copyMaskEnable, diskOpReadOnOpen, samplingAudioFlag, editSampleFlag; - bool instrBankSwapped, chnMode[MAX_VOICES], NI_Play; - - uint8_t curPlayInstr, curPlaySmp, curSmpChannel, currPanEnvPoint, currVolEnvPoint; - uint8_t copyMask[5], pasteMask[5], transpMask[5], smpEd_NoteNr, instrBankOffset, sampleBankOffset; - uint8_t srcInstr, curInstr, srcSmp, curSmp, currHelpScreen, currConfigScreen, textCursorBlinkCounter; - uint8_t keyOnTab[MAX_VOICES], ID_Add, curOctave; - uint8_t sampleSaveMode, moduleSaveMode, ptnJumpPos[4]; - int16_t globalVol, songPos, pattPos; - uint16_t tmpPattern, editPattern, speed, tempo, timer, ptnCursorY; - int32_t keyOffNr, keyOffTime[MAX_VOICES]; - uint32_t framesPassed, wavRendererTime; - double dPerfFreq, dPerfFreqMulMicro, dPerfFreqMulMs; -} editor; + +#define PROG_VER_STR "1.10" + +// do NOT change these! It will only mess things up... + +/* "60Hz" ranges everywhere from 59..61Hz depending on the monitor, so with +** no vsync we will get stuttering because the rate is not perfect... +*/ +#define VBLANK_HZ 60 + +/* Scopes are clocked at 64Hz instead of 60Hz to prevent possible stutters +** from monitors not being exactly 60Hz (and unstable non-vsync mode). +*/ +#define SCOPE_HZ 64 + +#define FT2_VBLANK_HZ 70 +#define SCREEN_W 632 +#define SCREEN_H 400 + +/* Amount of extra bytes to allocate for every instrument sample, +** this is used for a hack for resampling interpolation to be +** branchless in the inner channel mixer loop. +** Warning: Do not change this! +*/ +#define LOOP_FIX_LEN 8 +#define SMP_DAT_OFFSET 4 + +#ifndef _WIN32 +#define _stricmp strcasecmp +#define _strnicmp strncasecmp +#define DIR_DELIMITER '/' +#else +#define DIR_DELIMITER '\\' +#define PATH_MAX MAX_PATH +#endif + +#define SGN(x) (((x) >= 0) ? 1 : -1) +#define ABS(a) (((a) < 0) ? -(a) : (a)) +#define MIN(a, b) (((a) < (b)) ? (a) : (b)) +#define MAX(a, b) (((a) > (b)) ? (a) : (b)) +#define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) + +// fast 32-bit -> 8-bit clamp +#define CLAMP8(i) if ((int8_t)(i) != i) i = 0x7F ^ (i >> 31) + +// fast 32-bit -> 16-bit clamp +#define CLAMP16(i) if ((int16_t)(i) != i) i = 0x7FFF ^ (i >> 31) + +#define ALIGN_PTR(p, x) (((uintptr_t)(p) + ((x)-1)) & ~((x)-1)) +#define MALLOC_PAD(size, pad) (malloc((size) + (pad))) + +#define SWAP16(value) \ +( \ + (((uint16_t)((value) & 0x00FF)) << 8) | \ + (((uint16_t)((value) & 0xFF00)) >> 8) \ +) + +#define SWAP32(value) \ +( \ + (((uint32_t)((value) & 0x000000FF)) << 24) | \ + (((uint32_t)((value) & 0x0000FF00)) << 8) | \ + (((uint32_t)((value) & 0x00FF0000)) >> 8) | \ + (((uint32_t)((value) & 0xFF000000)) >> 24) \ +) + +struct cpu_t +{ + bool hasSSE, hasSSE2; +} cpu; + +struct editor_t +{ + struct ui_t + { + volatile bool setMouseBusy, setMouseIdle; + bool sysReqEnterPressed; + char fullscreenButtonText[24]; + + // all screens + bool extended, sysReqShown; + + // top screens + bool instrSwitcherShown, aboutScreenShown, helpScreenShown, configScreenShown; + bool scopesShown, diskOpShown, nibblesShown, transposeShown, instEditorExtShown; + bool sampleEditorExtShown, advEditShown, wavRendererShown, trimScreenShown; + bool drawBPMFlag, drawSpeedFlag, drawGlobVolFlag, drawPosEdFlag, drawPattNumLenFlag; + bool updatePosSections, updatePosEdScrollBar; + uint8_t oldTopLeftScreen; + + // bottom screens + bool patternEditorShown, instEditorShown, sampleEditorShown, pattChanScrollShown; + bool leftLoopPinMoving, rightLoopPinMoving; + bool drawReplayerPianoFlag, drawPianoFlag, updatePatternEditor; + uint8_t channelOffset, numChannelsShown, maxVisibleChannels; + uint16_t patternChannelWidth; + int32_t sampleDataOrLoopDrag; + + // backup flag for when entering/exiting extended pattern editor (TODO: this is lame and shouldn't be hardcoded) + bool _aboutScreenShown, _helpScreenShown, _configScreenShown, _diskOpShown; + bool _nibblesShown, _transposeShown, _instEditorShown; + bool _instEditorExtShown, _sampleEditorExtShown, _patternEditorShown; + bool _sampleEditorShown, _advEditShown, _wavRendererShown, _trimScreenShown; + // ------------------------------------------------------------------------- + } ui; + + struct cursor_t + { + uint8_t ch; + int8_t object; + } cursor; + + UNICHAR binaryPathU[PATH_MAX + 2]; + UNICHAR *tmpFilenameU, *tmpInstrFilenameU; // used by saving/loading threads + UNICHAR *configFileLocation, *audioDevConfigFileLocation, *midiConfigFileLocation; + + volatile bool mainLoopOngoing; + volatile bool busy, scopeThreadMutex, programRunning, wavIsRendering, wavReachedEndFlag; + volatile bool updateCurSmp, updateCurInstr, diskOpReadDir, diskOpReadDone, updateWindowTitle; + volatile uint8_t loadMusicEvent; + volatile FILE *wavRendererFileHandle; + + bool autoPlayOnDrop, trimThreadWasDone, throwExit, editTextFlag; + bool copyMaskEnable, diskOpReadOnOpen, samplingAudioFlag, editSampleFlag; + bool instrBankSwapped, chnMode[MAX_VOICES], NI_Play; + + uint8_t curPlayInstr, curPlaySmp, curSmpChannel, currPanEnvPoint, currVolEnvPoint; + uint8_t copyMask[5], pasteMask[5], transpMask[5], smpEd_NoteNr, instrBankOffset, sampleBankOffset; + uint8_t srcInstr, curInstr, srcSmp, curSmp, currHelpScreen, currConfigScreen, textCursorBlinkCounter; + uint8_t keyOnTab[MAX_VOICES], ID_Add, curOctave; + uint8_t sampleSaveMode, moduleSaveMode, ptnJumpPos[4]; + int16_t globalVol, songPos, pattPos; + uint16_t tmpPattern, editPattern, speed, tempo, timer, ptnCursorY; + int32_t keyOffNr, keyOffTime[MAX_VOICES]; + uint32_t framesPassed, wavRendererTime; + double dPerfFreq, dPerfFreqMulMicro, dPerfFreqMulMs; +} editor; diff --git a/src/ft2_help.c b/src/ft2_help.c index 65d373a..5f547bf 100644 --- a/src/ft2_help.c +++ b/src/ft2_help.c @@ -1,516 +1,516 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include "ft2_header.h" -#include "ft2_gui.h" -#include "ft2_help.h" -#include "ft2_video.h" -#include "ft2_pattern_ed.h" -#include "ft2_gfxdata.h" -#include "helpdata/ft2_help_data.h" - -typedef struct -{ - bool bigFont, noLine; - uint8_t color; - int16_t xPos; - char text[100]; -} helpRec; - -#define HELP_LINES 15 -#define MAX_HELP_LINES 768 -#define HELP_SIZE sizeof (helpRec) -#define MAX_SUBJ 10 -#define HELP_KOL 135 -#define HELP_WIDTH (596 - HELP_KOL) - -static uint8_t fHlp_Nr; -static int16_t textLine, fHlp_Line, subjLen[MAX_SUBJ]; -static int32_t helpBufferPos; -static helpRec *subjPtrArr[MAX_SUBJ]; - -static void addText(helpRec *t, int16_t xPos, uint8_t color, char *text) -{ - if (*text == '\0') - return; - - t->xPos = xPos; - t->color = color; - t->bigFont = false; - t->noLine = false; - strcpy(t->text, text); - *text = '\0'; // empty old string - - textLine++; -} - -static bool getLine(char *output) -{ - uint8_t strLen; - - if (helpBufferPos >= (int32_t)sizeof (helpData)) - { - *output = '\0'; - return false; - } - - strLen = helpData[helpBufferPos++]; - memcpy(output, &helpData[helpBufferPos], strLen); - output[strLen] = '\0'; - - helpBufferPos += strLen; - - return true; -} - -static int16_t controlCodeToNum(const char *controlCode) -{ - return (((controlCode[0]-'0')%10)*100) + (((controlCode[1]-'0')%10)*10) + ((controlCode[2]-'0')%10); -} - -static char *ltrim(char *s) -{ - if (*s == '\0') - return (s); - - while (*s == ' ') s++; - - return s; -} - -static char *rtrim(char *s) -{ - int32_t i; - - if (*s == '\0') - return (s); - - i = (int32_t)strlen(s) - 1; - while (i >= 0) - { - if (s[i] != ' ') - { - s[i+1] = '\0'; - break; - } - - i--; - } - - return s; -} - -static void readHelp(void) // this is really messy, directly ported from Pascal code... -{ - char text[256], text2[256], *s, *sEnd, *s2, *s3; - uint8_t currColor; - int16_t a, b, i, k, currKol, strLen; - helpRec *tempText, *t; - - tempText = (helpRec *)malloc(HELP_SIZE * MAX_HELP_LINES); - if (tempText == NULL) - { - okBox(0, "System message", "Not enough memory!"); - return; - } - - text[0] = '\0'; - text2[0] = '\0'; - - s2 = text2; - - helpBufferPos = 0; - for (int16_t subj = 0; subj < MAX_SUBJ; subj++) - { - textLine = 0; - currKol = 0; - currColor = PAL_FORGRND; - - getLine(text); s = text; - while (strncmp(s, "END", 3) != 0) - { - if (*s == ';') - { - if (!getLine(text)) - break; - - s = text; - continue; - } - - if (*(uint16_t *)s == 0x4C40) // @L - "big font" - { - addText(&tempText[textLine], currKol, currColor, s2); - s += 2; - - if (*(uint16_t *)s == 0x5840) // @X - "change X position" - { - currKol = controlCodeToNum(&s[2]); - s += 5; - } - - if (*(uint16_t *)s == 0x4340) // @C - "change color - { - currColor = (uint8_t)controlCodeToNum(&s[2]); - currColor = (currColor < 2) ? PAL_FORGRND : PAL_BUTTONS; - s += 5; - } - - t = &tempText[textLine]; - t->xPos = currKol; - t->color = currColor; - t->bigFont = true; - t->noLine = false; - strcpy(t->text, s); - textLine++; - - t = &tempText[textLine]; - t->noLine = true; - textLine++; - } - else - { - if (*s == '>') - { - addText(&tempText[textLine], currKol, currColor, s2); - s++; - } - - if (*(uint16_t *)s == 0x5840) // @X - "set X position (relative to help X start)" - { - currKol = controlCodeToNum(&s[2]); - s += 5; - } - - if (*(uint16_t *)s == 0x4340) // @C - "change color" - { - currColor = (uint8_t)controlCodeToNum(&s[2]); - currColor = (currColor < 2) ? PAL_FORGRND : PAL_BUTTONS; - s += 5; - } - - s = ltrim(rtrim(s)); - if (*s == '\0') - { - addText(&tempText[textLine], currKol, currColor, s2); - strcpy(s2, " "); - addText(&tempText[textLine], currKol, currColor, s2); - } - - strLen = (int16_t)strlen(s); - - sEnd = &s[strLen]; - while (s < sEnd) - { - if (strLen < 0) - strLen = 0; - - i = 0; - while (s[i] != ' ' && i < strLen) i++; - i++; - - if (*(uint16_t *)s == 0x5440) // @T - "set absolute X position (in the middle of text)" - { - k = controlCodeToNum(&s[2]); - s += 5; strLen -= 5; - - s3 = &s2[strlen(s2)]; - while (textWidth(s2) + charWidth(' ') + 1 < k-currKol) - { - s3[0] = ' '; - s3[1] = '\0'; - s3++; - } - - b = textWidth(s2) + 1; - if (b < (k - currKol)) - { - s3 = &s2[strlen(s2)]; - for (a = 0; a < k-b-currKol; a++) - s3[a] = 127; // one-pixel spacer glyph - s3[a] = '\0'; - } - } - - if (textWidth(s2)+textNWidth(s,i)+2 > HELP_WIDTH-currKol) - addText(&tempText[textLine], currKol, currColor, s2); - - strncat(s2, s, i); - - s += i; strLen -= i; - if ((*s == '\0') || (s >= sEnd)) - strcat(s2, " "); - } - } - - if (textLine >= MAX_HELP_LINES || !getLine(text)) - break; - - s = text; - } - - subjPtrArr[subj] = (helpRec *)malloc(HELP_SIZE * textLine); - if (subjPtrArr[subj] == NULL) - { - okBox(0, "System message", "Not enough memory!"); - break; - } - - memcpy(subjPtrArr[subj], tempText, HELP_SIZE * textLine); - subjLen[subj] = textLine; - } - - free(tempText); -} - -static void bigTextOutHalf(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, bool lowerHalf, const char *textPtr) -{ - char chr; - const uint8_t *srcPtr; - uint16_t currX; - uint32_t *dstPtr, pixVal; - - assert(textPtr != NULL); - - currX = xPos; - while (true) - { - chr = *textPtr++ & 0x7F; - if (chr == '\0') - break; - - if (chr != ' ') - { - srcPtr = &font2Data[chr * FONT2_CHAR_W]; - if (!lowerHalf) - srcPtr += (FONT2_CHAR_H / 2) * FONT2_WIDTH; - - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + currX]; - pixVal = video.palette[paletteIndex]; - - for (uint32_t y = 0; y < FONT2_CHAR_H/2; y++) - { - for (uint32_t x = 0; x < FONT2_CHAR_W; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT2_WIDTH; - dstPtr += SCREEN_W; - } - } - - currX += charWidth16(chr); - } -} - -static void writeHelp(void) -{ - int16_t k; - helpRec *pek; - - pek = subjPtrArr[fHlp_Nr]; - if (pek == NULL) - return; - - for (int16_t i = 0; i < HELP_LINES; i++) - { - k = i + fHlp_Line; - if (k >= subjLen[fHlp_Nr]) - break; - - clearRect(HELP_KOL, 5 + (i * 11), HELP_WIDTH, 11); - - if (pek[k].noLine) - { - if (i == 0) - bigTextOutHalf(HELP_KOL + pek[k-1].xPos, 5 + (i * 11), PAL_FORGRND, false, pek[k-1].text); - } - else - { - if (pek[k].bigFont) - { - if (i == (HELP_LINES - 1)) - { - bigTextOutHalf(HELP_KOL + pek[k].xPos, 5 + (i * 11), PAL_FORGRND, true, pek[k].text); - return; - } - else - { - clearRect(HELP_KOL, 5 + ((i + 1) * 11), HELP_WIDTH, 11); - bigTextOut(HELP_KOL + pek[k].xPos, 5 + (i * 11), PAL_FORGRND, pek[k].text); - i++; - } - } - else - { - textOut(HELP_KOL + pek[k].xPos, 5 + (i * 11), pek[k].color, pek[k].text); - } - } - } -} - -void helpScrollUp(void) -{ - if (fHlp_Line > 0) - { - scrollBarScrollUp(SB_HELP_SCROLL, 1); - writeHelp(); - } -} - -void helpScrollDown(void) -{ - if (fHlp_Line < subjLen[fHlp_Nr]-1) - { - scrollBarScrollDown(SB_HELP_SCROLL, 1); - writeHelp(); - } -} - -void helpScrollSetPos(uint32_t pos) -{ - if (fHlp_Line != (int16_t)pos) - { - fHlp_Line = (int16_t)pos; - writeHelp(); - } -} - -void showHelpScreen(void) -{ - uint16_t tmpID; - - if (editor.ui.extended) - exitPatternEditorExtended(); - - hideTopScreen(); - editor.ui.helpScreenShown = true; - - drawFramework(0, 0, 128, 173, FRAMEWORK_TYPE1); - drawFramework(128, 0, 504, 173, FRAMEWORK_TYPE1); - drawFramework(130, 2, 479, 169, FRAMEWORK_TYPE2); - - showPushButton(PB_HELP_EXIT); - showPushButton(PB_HELP_SCROLL_UP); - showPushButton(PB_HELP_SCROLL_DOWN); - - uncheckRadioButtonGroup(RB_GROUP_HELP); - switch (fHlp_Nr) - { - default: - case 0: tmpID = RB_HELP_FEATURES; break; - case 1: tmpID = RB_HELP_EFFECTS; break; - case 2: tmpID = RB_HELP_KEYBOARD; break; - case 3: tmpID = RB_HELP_HOW_TO_USE_FT2; break; - case 4: tmpID = RB_HELP_FAQ; break; - case 5: tmpID = RB_HELP_KNOWN_BUGS; break; - } - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - showRadioButtonGroup(RB_GROUP_HELP); - - showScrollBar(SB_HELP_SCROLL); - - textOutShadow(4, 3, PAL_FORGRND, PAL_DSKTOP2, "Subjects:"); - textOutShadow(20, 17, PAL_FORGRND, PAL_DSKTOP2, "Features"); - textOutShadow(20, 32, PAL_FORGRND, PAL_DSKTOP2, "Effects"); - textOutShadow(20, 47, PAL_FORGRND, PAL_DSKTOP2, "Keyboard"); - textOutShadow(20, 62, PAL_FORGRND, PAL_DSKTOP2, "How to use FT2"); - textOutShadow(20, 77, PAL_FORGRND, PAL_DSKTOP2, "Problems/FAQ"); - textOutShadow(20, 92, PAL_FORGRND, PAL_DSKTOP2, "Known bugs"); - - writeHelp(); -} - -void hideHelpScreen(void) -{ - hidePushButton(PB_HELP_EXIT); - hidePushButton(PB_HELP_SCROLL_UP); - hidePushButton(PB_HELP_SCROLL_DOWN); - - hideRadioButtonGroup(RB_GROUP_HELP); - hideScrollBar(SB_HELP_SCROLL); - - editor.ui.helpScreenShown = false; -} - -void exitHelpScreen(void) -{ - hideHelpScreen(); - showTopScreen(true); -} - -static void setHelpSubject(uint8_t Nr) -{ - fHlp_Nr = Nr; - fHlp_Line = 0; - - setScrollBarEnd(SB_HELP_SCROLL, subjLen[fHlp_Nr]); - setScrollBarPos(SB_HELP_SCROLL, fHlp_Line, false); -} - -void rbHelpFeatures(void) -{ - checkRadioButton(RB_HELP_FEATURES); - setHelpSubject(0); - writeHelp(); -} - -void rbHelpEffects(void) -{ - checkRadioButton(RB_HELP_EFFECTS); - setHelpSubject(1); - writeHelp(); -} - -void rbHelpKeyboard(void) -{ - checkRadioButton(RB_HELP_KEYBOARD); - setHelpSubject(2); - writeHelp(); -} - -void rbHelpHowToUseFT2(void) -{ - checkRadioButton(RB_HELP_HOW_TO_USE_FT2); - setHelpSubject(3); - writeHelp(); -} - -void rbHelpFAQ(void) -{ - checkRadioButton(RB_HELP_FAQ); - setHelpSubject(4); - writeHelp(); -} - -void rbHelpKnownBugs(void) -{ - checkRadioButton(RB_HELP_KNOWN_BUGS); - setHelpSubject(5); - writeHelp(); -} - -void initFTHelp(void) -{ - readHelp(); - setHelpSubject(0); -} - -void windUpFTHelp(void) -{ - for (int16_t i = 0; i < MAX_SUBJ; i++) - { - if (subjPtrArr[i] != NULL) - { - free(subjPtrArr[i]); - subjPtrArr[i] = NULL; - } - } -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include "ft2_header.h" +#include "ft2_gui.h" +#include "ft2_help.h" +#include "ft2_video.h" +#include "ft2_pattern_ed.h" +#include "ft2_gfxdata.h" +#include "helpdata/ft2_help_data.h" + +typedef struct +{ + bool bigFont, noLine; + uint8_t color; + int16_t xPos; + char text[100]; +} helpRec; + +#define HELP_LINES 15 +#define MAX_HELP_LINES 768 +#define HELP_SIZE sizeof (helpRec) +#define MAX_SUBJ 10 +#define HELP_KOL 135 +#define HELP_WIDTH (596 - HELP_KOL) + +static uint8_t fHlp_Nr; +static int16_t textLine, fHlp_Line, subjLen[MAX_SUBJ]; +static int32_t helpBufferPos; +static helpRec *subjPtrArr[MAX_SUBJ]; + +static void addText(helpRec *t, int16_t xPos, uint8_t color, char *text) +{ + if (*text == '\0') + return; + + t->xPos = xPos; + t->color = color; + t->bigFont = false; + t->noLine = false; + strcpy(t->text, text); + *text = '\0'; // empty old string + + textLine++; +} + +static bool getLine(char *output) +{ + uint8_t strLen; + + if (helpBufferPos >= (int32_t)sizeof (helpData)) + { + *output = '\0'; + return false; + } + + strLen = helpData[helpBufferPos++]; + memcpy(output, &helpData[helpBufferPos], strLen); + output[strLen] = '\0'; + + helpBufferPos += strLen; + + return true; +} + +static int16_t controlCodeToNum(const char *controlCode) +{ + return (((controlCode[0]-'0')%10)*100) + (((controlCode[1]-'0')%10)*10) + ((controlCode[2]-'0')%10); +} + +static char *ltrim(char *s) +{ + if (*s == '\0') + return (s); + + while (*s == ' ') s++; + + return s; +} + +static char *rtrim(char *s) +{ + int32_t i; + + if (*s == '\0') + return (s); + + i = (int32_t)strlen(s) - 1; + while (i >= 0) + { + if (s[i] != ' ') + { + s[i+1] = '\0'; + break; + } + + i--; + } + + return s; +} + +static void readHelp(void) // this is really messy, directly ported from Pascal code... +{ + char text[256], text2[256], *s, *sEnd, *s2, *s3; + uint8_t currColor; + int16_t a, b, i, k, currKol, strLen; + helpRec *tempText, *t; + + tempText = (helpRec *)malloc(HELP_SIZE * MAX_HELP_LINES); + if (tempText == NULL) + { + okBox(0, "System message", "Not enough memory!"); + return; + } + + text[0] = '\0'; + text2[0] = '\0'; + + s2 = text2; + + helpBufferPos = 0; + for (int16_t subj = 0; subj < MAX_SUBJ; subj++) + { + textLine = 0; + currKol = 0; + currColor = PAL_FORGRND; + + getLine(text); s = text; + while (strncmp(s, "END", 3) != 0) + { + if (*s == ';') + { + if (!getLine(text)) + break; + + s = text; + continue; + } + + if (*(uint16_t *)s == 0x4C40) // @L - "big font" + { + addText(&tempText[textLine], currKol, currColor, s2); + s += 2; + + if (*(uint16_t *)s == 0x5840) // @X - "change X position" + { + currKol = controlCodeToNum(&s[2]); + s += 5; + } + + if (*(uint16_t *)s == 0x4340) // @C - "change color + { + currColor = (uint8_t)controlCodeToNum(&s[2]); + currColor = (currColor < 2) ? PAL_FORGRND : PAL_BUTTONS; + s += 5; + } + + t = &tempText[textLine]; + t->xPos = currKol; + t->color = currColor; + t->bigFont = true; + t->noLine = false; + strcpy(t->text, s); + textLine++; + + t = &tempText[textLine]; + t->noLine = true; + textLine++; + } + else + { + if (*s == '>') + { + addText(&tempText[textLine], currKol, currColor, s2); + s++; + } + + if (*(uint16_t *)s == 0x5840) // @X - "set X position (relative to help X start)" + { + currKol = controlCodeToNum(&s[2]); + s += 5; + } + + if (*(uint16_t *)s == 0x4340) // @C - "change color" + { + currColor = (uint8_t)controlCodeToNum(&s[2]); + currColor = (currColor < 2) ? PAL_FORGRND : PAL_BUTTONS; + s += 5; + } + + s = ltrim(rtrim(s)); + if (*s == '\0') + { + addText(&tempText[textLine], currKol, currColor, s2); + strcpy(s2, " "); + addText(&tempText[textLine], currKol, currColor, s2); + } + + strLen = (int16_t)strlen(s); + + sEnd = &s[strLen]; + while (s < sEnd) + { + if (strLen < 0) + strLen = 0; + + i = 0; + while (s[i] != ' ' && i < strLen) i++; + i++; + + if (*(uint16_t *)s == 0x5440) // @T - "set absolute X position (in the middle of text)" + { + k = controlCodeToNum(&s[2]); + s += 5; strLen -= 5; + + s3 = &s2[strlen(s2)]; + while (textWidth(s2) + charWidth(' ') + 1 < k-currKol) + { + s3[0] = ' '; + s3[1] = '\0'; + s3++; + } + + b = textWidth(s2) + 1; + if (b < (k - currKol)) + { + s3 = &s2[strlen(s2)]; + for (a = 0; a < k-b-currKol; a++) + s3[a] = 127; // one-pixel spacer glyph + s3[a] = '\0'; + } + } + + if (textWidth(s2)+textNWidth(s,i)+2 > HELP_WIDTH-currKol) + addText(&tempText[textLine], currKol, currColor, s2); + + strncat(s2, s, i); + + s += i; strLen -= i; + if ((*s == '\0') || (s >= sEnd)) + strcat(s2, " "); + } + } + + if (textLine >= MAX_HELP_LINES || !getLine(text)) + break; + + s = text; + } + + subjPtrArr[subj] = (helpRec *)malloc(HELP_SIZE * textLine); + if (subjPtrArr[subj] == NULL) + { + okBox(0, "System message", "Not enough memory!"); + break; + } + + memcpy(subjPtrArr[subj], tempText, HELP_SIZE * textLine); + subjLen[subj] = textLine; + } + + free(tempText); +} + +static void bigTextOutHalf(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, bool lowerHalf, const char *textPtr) +{ + char chr; + const uint8_t *srcPtr; + uint16_t currX; + uint32_t *dstPtr, pixVal; + + assert(textPtr != NULL); + + currX = xPos; + while (true) + { + chr = *textPtr++ & 0x7F; + if (chr == '\0') + break; + + if (chr != ' ') + { + srcPtr = &font2Data[chr * FONT2_CHAR_W]; + if (!lowerHalf) + srcPtr += (FONT2_CHAR_H / 2) * FONT2_WIDTH; + + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + currX]; + pixVal = video.palette[paletteIndex]; + + for (uint32_t y = 0; y < FONT2_CHAR_H/2; y++) + { + for (uint32_t x = 0; x < FONT2_CHAR_W; x++) + { + if (srcPtr[x]) + dstPtr[x] = pixVal; + } + + srcPtr += FONT2_WIDTH; + dstPtr += SCREEN_W; + } + } + + currX += charWidth16(chr); + } +} + +static void writeHelp(void) +{ + int16_t k; + helpRec *pek; + + pek = subjPtrArr[fHlp_Nr]; + if (pek == NULL) + return; + + for (int16_t i = 0; i < HELP_LINES; i++) + { + k = i + fHlp_Line; + if (k >= subjLen[fHlp_Nr]) + break; + + clearRect(HELP_KOL, 5 + (i * 11), HELP_WIDTH, 11); + + if (pek[k].noLine) + { + if (i == 0) + bigTextOutHalf(HELP_KOL + pek[k-1].xPos, 5 + (i * 11), PAL_FORGRND, false, pek[k-1].text); + } + else + { + if (pek[k].bigFont) + { + if (i == (HELP_LINES - 1)) + { + bigTextOutHalf(HELP_KOL + pek[k].xPos, 5 + (i * 11), PAL_FORGRND, true, pek[k].text); + return; + } + else + { + clearRect(HELP_KOL, 5 + ((i + 1) * 11), HELP_WIDTH, 11); + bigTextOut(HELP_KOL + pek[k].xPos, 5 + (i * 11), PAL_FORGRND, pek[k].text); + i++; + } + } + else + { + textOut(HELP_KOL + pek[k].xPos, 5 + (i * 11), pek[k].color, pek[k].text); + } + } + } +} + +void helpScrollUp(void) +{ + if (fHlp_Line > 0) + { + scrollBarScrollUp(SB_HELP_SCROLL, 1); + writeHelp(); + } +} + +void helpScrollDown(void) +{ + if (fHlp_Line < subjLen[fHlp_Nr]-1) + { + scrollBarScrollDown(SB_HELP_SCROLL, 1); + writeHelp(); + } +} + +void helpScrollSetPos(uint32_t pos) +{ + if (fHlp_Line != (int16_t)pos) + { + fHlp_Line = (int16_t)pos; + writeHelp(); + } +} + +void showHelpScreen(void) +{ + uint16_t tmpID; + + if (editor.ui.extended) + exitPatternEditorExtended(); + + hideTopScreen(); + editor.ui.helpScreenShown = true; + + drawFramework(0, 0, 128, 173, FRAMEWORK_TYPE1); + drawFramework(128, 0, 504, 173, FRAMEWORK_TYPE1); + drawFramework(130, 2, 479, 169, FRAMEWORK_TYPE2); + + showPushButton(PB_HELP_EXIT); + showPushButton(PB_HELP_SCROLL_UP); + showPushButton(PB_HELP_SCROLL_DOWN); + + uncheckRadioButtonGroup(RB_GROUP_HELP); + switch (fHlp_Nr) + { + default: + case 0: tmpID = RB_HELP_FEATURES; break; + case 1: tmpID = RB_HELP_EFFECTS; break; + case 2: tmpID = RB_HELP_KEYBOARD; break; + case 3: tmpID = RB_HELP_HOW_TO_USE_FT2; break; + case 4: tmpID = RB_HELP_FAQ; break; + case 5: tmpID = RB_HELP_KNOWN_BUGS; break; + } + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + showRadioButtonGroup(RB_GROUP_HELP); + + showScrollBar(SB_HELP_SCROLL); + + textOutShadow(4, 3, PAL_FORGRND, PAL_DSKTOP2, "Subjects:"); + textOutShadow(20, 17, PAL_FORGRND, PAL_DSKTOP2, "Features"); + textOutShadow(20, 32, PAL_FORGRND, PAL_DSKTOP2, "Effects"); + textOutShadow(20, 47, PAL_FORGRND, PAL_DSKTOP2, "Keyboard"); + textOutShadow(20, 62, PAL_FORGRND, PAL_DSKTOP2, "How to use FT2"); + textOutShadow(20, 77, PAL_FORGRND, PAL_DSKTOP2, "Problems/FAQ"); + textOutShadow(20, 92, PAL_FORGRND, PAL_DSKTOP2, "Known bugs"); + + writeHelp(); +} + +void hideHelpScreen(void) +{ + hidePushButton(PB_HELP_EXIT); + hidePushButton(PB_HELP_SCROLL_UP); + hidePushButton(PB_HELP_SCROLL_DOWN); + + hideRadioButtonGroup(RB_GROUP_HELP); + hideScrollBar(SB_HELP_SCROLL); + + editor.ui.helpScreenShown = false; +} + +void exitHelpScreen(void) +{ + hideHelpScreen(); + showTopScreen(true); +} + +static void setHelpSubject(uint8_t Nr) +{ + fHlp_Nr = Nr; + fHlp_Line = 0; + + setScrollBarEnd(SB_HELP_SCROLL, subjLen[fHlp_Nr]); + setScrollBarPos(SB_HELP_SCROLL, fHlp_Line, false); +} + +void rbHelpFeatures(void) +{ + checkRadioButton(RB_HELP_FEATURES); + setHelpSubject(0); + writeHelp(); +} + +void rbHelpEffects(void) +{ + checkRadioButton(RB_HELP_EFFECTS); + setHelpSubject(1); + writeHelp(); +} + +void rbHelpKeyboard(void) +{ + checkRadioButton(RB_HELP_KEYBOARD); + setHelpSubject(2); + writeHelp(); +} + +void rbHelpHowToUseFT2(void) +{ + checkRadioButton(RB_HELP_HOW_TO_USE_FT2); + setHelpSubject(3); + writeHelp(); +} + +void rbHelpFAQ(void) +{ + checkRadioButton(RB_HELP_FAQ); + setHelpSubject(4); + writeHelp(); +} + +void rbHelpKnownBugs(void) +{ + checkRadioButton(RB_HELP_KNOWN_BUGS); + setHelpSubject(5); + writeHelp(); +} + +void initFTHelp(void) +{ + readHelp(); + setHelpSubject(0); +} + +void windUpFTHelp(void) +{ + for (int16_t i = 0; i < MAX_SUBJ; i++) + { + if (subjPtrArr[i] != NULL) + { + free(subjPtrArr[i]); + subjPtrArr[i] = NULL; + } + } +} diff --git a/src/ft2_help.h b/src/ft2_help.h index a7d4ffc..e10b328 100644 --- a/src/ft2_help.h +++ b/src/ft2_help.h @@ -1,22 +1,22 @@ -#pragma once - -#include - -#define HELP_LINE_HEIGHT 11 -#define HELP_WINDOW_HEIGHT 164 -#define HELP_TEXT_BUFFER_W 472 - -void helpScrollUp(void); -void helpScrollDown(void); -void helpScrollSetPos(uint32_t pos); -void showHelpScreen(void); -void hideHelpScreen(void); -void exitHelpScreen(void); -void initFTHelp(void); -void windUpFTHelp(void); -void rbHelpFeatures(void); -void rbHelpEffects(void); -void rbHelpKeyboard(void); -void rbHelpHowToUseFT2(void); -void rbHelpFAQ(void); -void rbHelpKnownBugs(void); +#pragma once + +#include + +#define HELP_LINE_HEIGHT 11 +#define HELP_WINDOW_HEIGHT 164 +#define HELP_TEXT_BUFFER_W 472 + +void helpScrollUp(void); +void helpScrollDown(void); +void helpScrollSetPos(uint32_t pos); +void showHelpScreen(void); +void hideHelpScreen(void); +void exitHelpScreen(void); +void initFTHelp(void); +void windUpFTHelp(void); +void rbHelpFeatures(void); +void rbHelpEffects(void); +void rbHelpKeyboard(void); +void rbHelpHowToUseFT2(void); +void rbHelpFAQ(void); +void rbHelpKnownBugs(void); diff --git a/src/ft2_inst_ed.c b/src/ft2_inst_ed.c index cd4143b..8f002f1 100644 --- a/src/ft2_inst_ed.c +++ b/src/ft2_inst_ed.c @@ -1,3386 +1,3544 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include -#include "ft2_header.h" -#include "ft2_config.h" -#include "ft2_audio.h" -#include "ft2_pattern_ed.h" -#include "ft2_gui.h" -#include "ft2_scopes.h" -#include "ft2_sample_ed.h" -#include "ft2_gfxdata.h" -#include "ft2_mouse.h" -#include "ft2_video.h" -#include "ft2_sample_loader.h" -#include "ft2_diskop.h" - -#ifdef _MSC_VER -#pragma pack(push) -#pragma pack(1) -#endif -typedef struct instrPATHeaderTyp_t -{ - char id[22], copyright[60]; - uint8_t antInstr, activeVoices, antChannels; - int16_t waveForms, masterVol; - int32_t dataSize; - char reserved1[36]; - int16_t instrNr; - char instrName[16]; - int32_t instrSize; - uint8_t layers; - char reserved2[40]; - uint8_t layerDuplicate, layerByte; - int32_t layerSize; - uint8_t antSamp; - char reserved3[40]; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -instrPATHeaderTyp; - -typedef struct instrPATWaveHeaderTyp_t -{ - char name[7]; - uint8_t fractions; - int32_t waveSize, repS, repE; - uint16_t sampleRate; - int32_t lowFrq, highFreq, rootFrq; - int16_t fineTune; - uint8_t pan, envRate[6], envOfs[6], tremSweep, tremRate; - uint8_t tremDepth, vibSweep, vibRate, vibDepth, mode; - int16_t scaleFrq; - uint16_t scaleFactor; - char reserved[36]; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -instrPATWaveHeaderTyp; - -typedef struct instrXIHeaderTyp_t -{ - char sig[21], name[23], progName[20]; - uint16_t ver; - uint8_t ta[96]; - int16_t envVP[12][2], envPP[12][2]; - uint8_t envVPAnt, envPPAnt, envVSust, envVRepS, envVRepE, envPSust, envPRepS; - uint8_t envPRepE, envVtyp, envPtyp, vibTyp, vibSweep, vibDepth, vibRate; - uint16_t fadeOut; - uint8_t midiOn, midiChannel; - int16_t midiProgram, midiBend; - uint8_t mute, reserved[15]; - int16_t antSamp; - sampleHeaderTyp samp[16]; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -instrXIHeaderTyp; - -#define PIANOKEY_WHITE_W 10 -#define PIANOKEY_WHITE_H 46 -#define PIANOKEY_BLACK_W 7 -#define PIANOKEY_BLACK_H 29 - -static const bool keyIsBlackTab[12] = { false, true, false, true, false, false, true, false, true, false, true }; -static const char sharpNote1Char[12] = { 'C', 'C', 'D', 'D', 'E', 'F', 'F', 'G', 'G', 'A', 'A', 'B' }; -static const char sharpNote2Char[12] = { '-', '#', '-', '#', '-', '-', '#', '-', '#', '-', '#', '-' }; -static const char flatNote1Char[12] = { 'C', 'D', 'D', 'E', 'E', 'F', 'G', 'G', 'A', 'A', 'B', 'B' }; -static const char flatNote2Char[12] = { '-', 'b', '-', 'b', '-', '-', 'b', '-', 'b', '-', 'b', '-' }; -static const uint8_t whiteKeyIndex[7] = { 0, 2, 4, 5, 7, 9, 11 }; -static const uint16_t whiteKeysBmpOrder[12] = { 0, 0, 506, 0, 1012, 0, 0, 506, 0, 506, 0, 1012 }; -static const uint8_t keyDigitXPos[12] = { 11, 16, 22, 27, 33, 44, 49, 55, 60, 66, 71, 77 }; -static const uint8_t keyXPos[12] = { 8, 15, 19, 26, 30, 41, 48, 52, 59, 63, 70, 74 }; -static volatile bool updateVolEnv, updatePanEnv; -static bool pianoKeyStatus[96]; -static int32_t lastMouseX, lastMouseY, saveMouseX, saveMouseY; - -// thread data -static uint16_t saveInstrNr; -static SDL_Thread *thread; - -extern int16_t *note2Period; // ft2_replayer.c - -void updateInstEditor(void); -void updateNewInstrument(void); - -static instrTyp *getCurDispInstr(void) -{ - if (instr[editor.curInstr] == NULL) - return instr[131]; - - return instr[editor.curInstr]; -} - -static int32_t SDLCALL copyInstrThread(void *ptr) -{ - bool error; - int8_t *p; - int16_t destIns, sourceIns; - - (void)ptr; - - error = false; - - destIns = editor.curInstr; - sourceIns = editor.srcInstr; - - pauseAudio(); - - freeInstr(destIns); - - if (instr[sourceIns] != NULL) - { - if (allocateInstr(destIns)) - { - memcpy(instr[destIns], instr[sourceIns], sizeof (instrTyp)); - for (int16_t i = 0; i < MAX_SMP_PER_INST; i++) - { - instr[destIns]->samp[i].pek = NULL; - if (instr[sourceIns]->samp[i].pek != NULL) - { - p = (int8_t *)malloc(instr[sourceIns]->samp[i].len + LOOP_FIX_LEN); - if (p != NULL) - { - memcpy(p, instr[sourceIns]->samp[i].pek, instr[sourceIns]->samp[i].len + LOOP_FIX_LEN); - instr[destIns]->samp[i].pek = p; - } - else error = true; - } - } - } - else error = true; - } - - resumeAudio(); - - if (error) - okBoxThreadSafe(0, "System message", "Not enough memory!"); - - // do not change instrument names! - - editor.updateCurInstr = true; - setSongModifiedFlag(); - setMouseBusy(false); - - return false; -} - -void copyInstr(void) // dstInstr = srcInstr -{ - if (editor.curInstr == 0 || editor.srcInstr == editor.curInstr) - return; - - mouseAnimOn(); - thread = SDL_CreateThread(copyInstrThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -void xchgInstr(void) // dstInstr <-> srcInstr -{ - instrTyp *dst, *src, dstTmp; - - if (editor.curInstr == 0 || editor.srcInstr == editor.curInstr) - return; - - lockMixerCallback(); - - src = instr[editor.srcInstr]; - dst = instr[editor.curInstr]; - - // swap instruments - dstTmp = *dst; - *dst = *src; - *src = dstTmp; - - unlockMixerCallback(); - - // do not change instrument names! - - updateNewInstrument(); - setSongModifiedFlag(); -} - -static void drawMIDICh(void) -{ - char str[8]; - instrTyp *ins = getCurDispInstr(); - - assert(ins->midiChannel <= 15); - sprintf(str, "%02d", ins->midiChannel + 1); - textOutFixed(156, 132, PAL_FORGRND, PAL_DESKTOP, str); -} - -static void drawMIDIPrg(void) -{ - char str[8]; - instrTyp *ins = getCurDispInstr(); - - assert(ins->midiProgram <= 127); - sprintf(str, "%03d", ins->midiProgram); - textOutFixed(149, 146, PAL_FORGRND, PAL_DESKTOP, str); -} - -static void drawMIDIBend(void) -{ - char str[8]; - instrTyp *ins = getCurDispInstr(); - - assert(ins->midiBend <= 36); - sprintf(str, "%02d", ins->midiBend); - textOutFixed(156, 160, PAL_FORGRND, PAL_DESKTOP, str); -} - -void midiChDown(void) -{ - scrollBarScrollLeft(SB_INST_EXT_MIDI_CH, 1); -} - -void midiChUp(void) -{ - scrollBarScrollRight(SB_INST_EXT_MIDI_CH, 1); -} - -void midiPrgDown(void) -{ - scrollBarScrollLeft(SB_INST_EXT_MIDI_PRG, 1); -} - -void midiPrgUp(void) -{ - scrollBarScrollRight(SB_INST_EXT_MIDI_PRG, 1); -} - -void midiBendDown(void) -{ - scrollBarScrollLeft(SB_INST_EXT_MIDI_BEND, 1); -} - -void midiBendUp(void) -{ - scrollBarScrollRight(SB_INST_EXT_MIDI_BEND, 1); -} - -void sbMidiChPos(uint32_t pos) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - { - setScrollBarPos(SB_INST_EXT_MIDI_CH, 0, false); - return; - } - - if (ins->midiChannel != (uint8_t)pos) - { - ins->midiChannel = (uint8_t)pos; - drawMIDICh(); - setSongModifiedFlag(); - } -} - -void sbMidiPrgPos(uint32_t pos) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - { - setScrollBarPos(SB_INST_EXT_MIDI_PRG, 0, false); - return; - } - - if (ins->midiProgram != (int16_t)pos) - { - ins->midiProgram = (int16_t)pos; - drawMIDIPrg(); - setSongModifiedFlag(); - } -} - -void sbMidiBendPos(uint32_t pos) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - { - setScrollBarPos(SB_INST_EXT_MIDI_BEND, 0, false); - return; - } - - if (ins->midiBend != (int16_t)pos) - { - ins->midiBend = (int16_t)pos; - drawMIDIBend(); - setSongModifiedFlag(); - } -} - -void updateNewSample(void) -{ - if (editor.ui.instrSwitcherShown) - updateInstrumentSwitcher(); - - updateSampleEditorSample(); - - if (editor.ui.sampleEditorShown) - updateSampleEditor(); - - if (editor.ui.instEditorShown || editor.ui.instEditorExtShown) - updateInstEditor(); -} - -void updateNewInstrument(void) -{ - updateTextBoxPointers(); - - if (editor.ui.instrSwitcherShown) - updateInstrumentSwitcher(); - - editor.currVolEnvPoint = 0; - editor.currPanEnvPoint = 0; - - updateSampleEditorSample(); - - if (editor.ui.sampleEditorShown) - updateSampleEditor(); - - if (editor.ui.instEditorShown || editor.ui.instEditorExtShown) - updateInstEditor(); - - if (editor.ui.advEditShown) - updateAdvEdit(); -} - -static void drawVolEnvSus(void) -{ - char str[8]; - instrTyp *ins = getCurDispInstr(); - - sprintf(str, "%02d", ins->envVSust); - textOutFixed(382, 206, PAL_FORGRND, PAL_DESKTOP, str); -} - -static void drawVolEnvRepS(void) -{ - char str[8]; - instrTyp *ins = getCurDispInstr(); - - sprintf(str, "%02d", ins->envVRepS); - textOutFixed(382, 234, PAL_FORGRND, PAL_DESKTOP, str); -} - -static void drawVolEnvRepE(void) -{ - char str[8]; - instrTyp *ins = getCurDispInstr(); - - sprintf(str, "%02d", ins->envVRepE); - textOutFixed(382, 247, PAL_FORGRND, PAL_DESKTOP, str); -} - -static void drawPanEnvSus(void) -{ - char str[8]; - instrTyp *ins = getCurDispInstr(); - - sprintf(str, "%02d", ins->envPSust); - textOutFixed(382, 294, PAL_FORGRND, PAL_DESKTOP, str); -} - -static void drawPanEnvRepS(void) -{ - char str[8]; - instrTyp *ins = getCurDispInstr(); - - sprintf(str, "%02d", ins->envPRepS); - textOutFixed(382, 321, PAL_FORGRND, PAL_DESKTOP, str); -} - -static void drawPanEnvRepE(void) -{ - char str[8]; - instrTyp *ins = getCurDispInstr(); - - sprintf(str, "%02d", ins->envPRepE); - textOutFixed(382, 335, PAL_FORGRND, PAL_DESKTOP, str); -} - -static void drawVolume(void) -{ - sampleTyp *s; - - if (instr[editor.curInstr] == NULL) - s = &instr[0]->samp[0]; - else - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - hexOutBg(505, 178, PAL_FORGRND, PAL_DESKTOP, s->vol, 2); -} - -static void drawPanning(void) -{ - sampleTyp *s; - - if (instr[editor.curInstr] == NULL) - s = &instr[0]->samp[0]; - else - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - hexOutBg(505, 192, PAL_FORGRND, PAL_DESKTOP, s->pan, 2); -} - -static void drawFineTune(void) -{ - char sign; - int16_t ftune; - sampleTyp *s; - - if (instr[editor.curInstr] == NULL) - s = &instr[0]->samp[0]; - else - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - fillRect(491, 205, 27, 8, PAL_DESKTOP); - - ftune = s->fine; - if (ftune == 0) - { - charOut(512, 205, PAL_FORGRND, '0'); - return; - } - - sign = (ftune < 0) ? '-' : '+'; - - ftune = ABS(ftune); - if (ftune >= 100) - { - charOut(491, 205, PAL_FORGRND, sign); - charOut(498 + (0 * 7), 205, PAL_FORGRND, '0' + ((ftune / 100) % 10)); - charOut(498 + (1 * 7), 205, PAL_FORGRND, '0' + ((ftune / 10) % 10)); - charOut(498 + (2 * 7), 205, PAL_FORGRND, '0' + (ftune % 10)); - } - else if (ftune >= 10) - { - charOut(498, 205, PAL_FORGRND, sign); - charOut(505 + (0 * 7), 205, PAL_FORGRND, '0' + ((ftune / 10) % 10)); - charOut(505 + (1 * 7), 205, PAL_FORGRND, '0' + (ftune % 10)); - } - else - { - charOut(505, 205, PAL_FORGRND, sign); - charOut(512, 205, PAL_FORGRND, '0' + (ftune % 10)); - } -} - -static void drawFadeout(void) -{ - hexOutBg(498, 222, PAL_FORGRND, PAL_DESKTOP, getCurDispInstr()->fadeOut, 3); -} - -static void drawVibSpeed(void) -{ - hexOutBg(505, 236, PAL_FORGRND, PAL_DESKTOP, getCurDispInstr()->vibRate, 2); -} - -static void drawVibDepth(void) -{ - hexOutBg(512, 250, PAL_FORGRND, PAL_DESKTOP, getCurDispInstr()->vibDepth, 1); -} - -static void drawVibSweep(void) -{ - hexOutBg(505, 264, PAL_FORGRND, PAL_DESKTOP, getCurDispInstr()->vibSweep, 2); -} - -static void drawRelTone(void) -{ - char noteChar1, noteChar2, octaChar; - int8_t note2, note; - - if (instr[editor.curInstr] == NULL) - { - fillRect(598, 299, 8*3, 8, PAL_BCKGRND); - return; - } - - if (editor.curInstr == 0) - note2 = 48; - else - note2 = 48 + instr[editor.curInstr]->samp[editor.curSmp].relTon; - - note = note2 % 12; - if (config.ptnAcc == 0) - { - noteChar1 = sharpNote1Char[note]; - noteChar2 = sharpNote2Char[note]; - } - else - { - noteChar1 = flatNote1Char[note]; - noteChar2 = flatNote2Char[note]; - } - - octaChar = '0' + (note2 / 12); - - charOutBg(598, 299, PAL_FORGRND, PAL_BCKGRND, noteChar1); - charOutBg(606, 299, PAL_FORGRND, PAL_BCKGRND, noteChar2); - charOutBg(614, 299, PAL_FORGRND, PAL_BCKGRND, octaChar); -} - -static void setStdVolEnvelope(instrTyp *ins, uint8_t num) -{ - if (editor.curInstr == 0) - return; - - pauseMusic(); - - ins->fadeOut = config.stdFadeOut[num]; - ins->envVSust = (uint8_t)config.stdVolEnvSust[num]; - ins->envVRepS = (uint8_t)config.stdVolEnvRepS[num]; - ins->envVRepE = (uint8_t)config.stdVolEnvRepE[num]; - ins->envVPAnt = (uint8_t)config.stdVolEnvAnt[num]; - ins->envVTyp = (uint8_t)config.stdVolEnvTyp[num]; - ins->vibRate = (uint8_t)config.stdVibRate[num]; - ins->vibDepth = (uint8_t)config.stdVibDepth[num]; - ins->vibSweep = (uint8_t)config.stdVibSweep[num]; - ins->vibTyp = (uint8_t)config.stdVibTyp[num]; - - memcpy(ins->envVP, config.stdEnvP[num][0], sizeof (int16_t) * 12 * 2); - - resumeMusic(); -} - -static void setStdPanEnvelope(instrTyp *ins, uint8_t num) -{ - if (editor.curInstr == 0) - return; - - pauseMusic(); - - ins->envPPAnt = (uint8_t)config.stdPanEnvAnt[num]; - ins->envPSust = (uint8_t)config.stdPanEnvSust[num]; - ins->envPRepS = (uint8_t)config.stdPanEnvRepS[num]; - ins->envPRepE = (uint8_t)config.stdPanEnvRepE[num]; - ins->envPTyp = (uint8_t)config.stdPanEnvTyp[num]; - - memcpy(ins->envPP, config.stdEnvP[num][1], sizeof (int16_t) * 12 * 2); - - resumeMusic(); -} - -static void setOrStoreVolEnvPreset(uint8_t num) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - return; - - if (mouse.rightButtonReleased) - { - // store preset - config.stdFadeOut[num] = ins->fadeOut; - config.stdVolEnvSust[num] = ins->envVSust; - config.stdVolEnvRepS[num] = ins->envVRepS; - config.stdVolEnvRepE[num] = ins->envVRepE; - config.stdVolEnvAnt[num] = ins->envVPAnt; - config.stdVolEnvTyp[num] = ins->envVTyp; - config.stdVibRate[num] = ins->vibRate; - config.stdVibDepth[num] = ins->vibDepth; - config.stdVibSweep[num] = ins->vibSweep; - config.stdVibTyp[num] = ins->vibTyp; - - memcpy(config.stdEnvP[num][0], ins->envVP, sizeof (int16_t) * 12 * 2); - } - else if (mouse.leftButtonReleased) - { - // read preset - setStdVolEnvelope(ins, num); - editor.currVolEnvPoint = 0; - updateInstEditor(); - setSongModifiedFlag(); - } -} - -static void setOrStorePanEnvPreset(uint8_t num) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - return; - - if (mouse.rightButtonReleased) - { - // store preset - config.stdFadeOut[num] = ins->fadeOut; - config.stdPanEnvSust[num] = ins->envPSust; - config.stdPanEnvRepS[num] = ins->envPRepS; - config.stdPanEnvRepE[num] = ins->envPRepE; - config.stdPanEnvAnt[num] = ins->envPPAnt; - config.stdPanEnvTyp[num] = ins->envPTyp; - config.stdVibRate[num] = ins->vibRate; - config.stdVibDepth[num] = ins->vibDepth; - config.stdVibSweep[num] = ins->vibSweep; - config.stdVibTyp[num] = ins->vibTyp; - - memcpy(config.stdEnvP[num][1], ins->envPP, sizeof (int16_t) * 12 * 2); - } - else if (mouse.leftButtonReleased) - { - // read preset - setStdPanEnvelope(ins, num); - editor.currPanEnvPoint = 0; - updateInstEditor(); - setSongModifiedFlag(); - } -} - -void volPreDef1(void) -{ - if (editor.curInstr > 0) - setOrStoreVolEnvPreset(1 - 1); -} - -void volPreDef2(void) -{ - if (editor.curInstr > 0) - setOrStoreVolEnvPreset(2 - 1); -} - -void volPreDef3(void) -{ - if (editor.curInstr > 0) - setOrStoreVolEnvPreset(3 - 1); -} - -void volPreDef4(void) -{ - if (editor.curInstr > 0) - setOrStoreVolEnvPreset(4 - 1); -} - -void volPreDef5(void) -{ - if (editor.curInstr > 0) - setOrStoreVolEnvPreset(5 - 1); -} - -void volPreDef6(void) -{ - if (editor.curInstr > 0) - setOrStoreVolEnvPreset(6 - 1); -} - -void panPreDef1(void) -{ - if (editor.curInstr > 0) - setOrStorePanEnvPreset(1 - 1); -} - -void panPreDef2(void) -{ - if (editor.curInstr > 0) - setOrStorePanEnvPreset(2 - 1); -} - -void panPreDef3(void) -{ - if (editor.curInstr > 0) - setOrStorePanEnvPreset(3 - 1); -} - -void panPreDef4(void) -{ - if (editor.curInstr > 0) - setOrStorePanEnvPreset(4 - 1); -} - -void panPreDef5(void) -{ - if (editor.curInstr > 0) - setOrStorePanEnvPreset(5 - 1); -} - -void panPreDef6(void) -{ - if (editor.curInstr > 0) - setOrStorePanEnvPreset(6 - 1); -} - -void relToneOctUp(void) -{ - sampleTyp *s; - - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - return; - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - if (s->relTon <= 71-12) - s->relTon += 12; - else - s->relTon = 71; - - drawRelTone(); - setSongModifiedFlag(); -} - -void relToneOctDown(void) -{ - sampleTyp *s; - - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - return; - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - if (s->relTon >= -48+12) - s->relTon -= 12; - else - s->relTon = -48; - - drawRelTone(); - setSongModifiedFlag(); -} - -void relToneUp(void) -{ - sampleTyp *s; - - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - return; - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - if (s->relTon < 71) - { - s->relTon++; - drawRelTone(); - setSongModifiedFlag(); - } -} - -void relToneDown(void) -{ - sampleTyp *s; - - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - return; - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - if (s->relTon > -48) - { - s->relTon--; - drawRelTone(); - setSongModifiedFlag(); - } -} - -void volEnvAdd(void) -{ - int16_t i; - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0 || ins->envVPAnt >= 12) - return; - - i = (int16_t)editor.currVolEnvPoint; - - if (i < 0 || i >= ins->envVPAnt) - i = ins->envVPAnt - 1; - - if (i < ins->envVPAnt-1 && ins->envVP[i+1][0]-ins->envVP[i][0] < 2) - return; - - if (ins->envVP[i][0] >= 323) - return; - - for (int16_t j = ins->envVPAnt; j > i; j--) - { - ins->envVP[j][0] = ins->envVP[j-1][0]; - ins->envVP[j][1] = ins->envVP[j-1][1]; - } - - if (ins->envVSust > i) { ins->envVSust++; drawVolEnvSus(); } - if (ins->envVRepS > i) { ins->envVRepS++; drawVolEnvRepS(); } - if (ins->envVRepE > i) { ins->envVRepE++; drawVolEnvRepE(); } - - if (i < ins->envVPAnt-1) - { - ins->envVP[i+1][0] = (ins->envVP[i][0] + ins->envVP[i+2][0]) / 2; - ins->envVP[i+1][1] = (ins->envVP[i][1] + ins->envVP[i+2][1]) / 2; - } - else - { - ins->envVP[i+1][0] = ins->envVP[i][0] + 10; - ins->envVP[i+1][1] = ins->envVP[i][1]; - } - - if (ins->envVP[i+1][0] > 324) - ins->envVP[i+1][0] = 324; - - ins->envVPAnt++; - - updateVolEnv = true; - setSongModifiedFlag(); -} - -void volEnvDel(void) -{ - uint8_t drawSust, drawRepS, drawRepE; - int16_t i; - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0 || ins->envVPAnt <= 2) - return; - - i = (int16_t)editor.currVolEnvPoint; - if (i < 0 || i >= ins->envVPAnt) - return; - - for (int16_t j = i; j < ins->envVPAnt; j++) - { - ins->envVP[j][0] = ins->envVP[j+1][0]; - ins->envVP[j][1] = ins->envVP[j+1][1]; - } - - drawSust = false; - drawRepS = false; - drawRepE = false; - - if (ins->envVSust > i) { ins->envVSust--; drawSust = true; } - if (ins->envVRepS > i) { ins->envVRepS--; drawRepS = true; } - if (ins->envVRepE > i) { ins->envVRepE--; drawRepE = true; } - - ins->envVP[0][0] = 0; - ins->envVPAnt--; - - if (ins->envVSust >= ins->envVPAnt) { ins->envVSust = ins->envVPAnt - 1; drawSust = true; } - if (ins->envVRepS >= ins->envVPAnt) { ins->envVRepS = ins->envVPAnt - 1; drawRepS = true; } - if (ins->envVRepE >= ins->envVPAnt) { ins->envVRepE = ins->envVPAnt - 1; drawRepE = true; } - - if (drawSust) drawVolEnvSus(); - if (drawRepS) drawVolEnvRepS(); - if (drawRepE) drawVolEnvRepE(); - - updateVolEnv = true; - setSongModifiedFlag(); -} - -void volEnvSusUp(void) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - return; - - if (ins->envVSust < ins->envVPAnt-1) - { - ins->envVSust++; - drawVolEnvSus(); - updateVolEnv = true; - setSongModifiedFlag(); - } -} - -void volEnvSusDown(void) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - return; - - if (ins->envVSust > 0) - { - ins->envVSust--; - drawVolEnvSus(); - updateVolEnv = true; - setSongModifiedFlag(); - } -} - -void volEnvRepSUp(void) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - return; - - if (ins->envVRepS < ins->envVRepE) - { - ins->envVRepS++; - drawVolEnvRepS(); - updateVolEnv = true; - setSongModifiedFlag(); - } -} - -void volEnvRepSDown(void) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - return; - - if (ins->envVRepS > 0) - { - ins->envVRepS--; - drawVolEnvRepS(); - updateVolEnv = true; - setSongModifiedFlag(); - } -} - -void volEnvRepEUp(void) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - return; - - if (ins->envVRepE < ins->envVPAnt-1) - { - ins->envVRepE++; - drawVolEnvRepE(); - updateVolEnv = true; - setSongModifiedFlag(); - } -} - -void volEnvRepEDown(void) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - return; - - if (ins->envVRepE > ins->envVRepS) - { - ins->envVRepE--; - drawVolEnvRepE(); - updateVolEnv = true; - setSongModifiedFlag(); - } -} - -void panEnvAdd(void) -{ - int16_t i; - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0 || ins->envPPAnt >= 12) - return; - - i = (int16_t)editor.currPanEnvPoint; - - if (i < 0 || i >= ins->envPPAnt) - i = ins->envPPAnt - 1; - - if (i < ins->envPPAnt-1 && ins->envPP[i+1][0]-ins->envPP[i][0] < 2) - return; - - if (ins->envPP[i][0] >= 323) - return; - - for (int16_t j = ins->envPPAnt; j > i; j--) - { - ins->envPP[j][0] = ins->envPP[j-1][0]; - ins->envPP[j][1] = ins->envPP[j-1][1]; - } - - if (ins->envPSust > i) { ins->envPSust++; drawPanEnvSus(); } - if (ins->envPRepS > i) { ins->envPRepS++; drawPanEnvRepS(); } - if (ins->envPRepE > i) { ins->envPRepE++; drawPanEnvRepE(); } - - if (i < ins->envPPAnt-1) - { - ins->envPP[i+1][0] = (ins->envPP[i][0] + ins->envPP[i+2][0]) / 2; - ins->envPP[i+1][1] = (ins->envPP[i][1] + ins->envPP[i+2][1]) / 2; - } - else - { - ins->envPP[i+1][0] = ins->envPP[i][0] + 10; - ins->envPP[i+1][1] = ins->envPP[i][1]; - } - - if (ins->envPP[i+1][0] > 324) - ins->envPP[i+1][0] = 324; - - ins->envPPAnt++; - - updatePanEnv = true; - setSongModifiedFlag(); -} - -void panEnvDel(void) -{ - uint8_t drawSust, drawRepS, drawRepE; - int16_t i; - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0 || ins->envPPAnt <= 2) - return; - - i = (int16_t)editor.currPanEnvPoint; - if (i < 0 || i >= ins->envPPAnt) - return; - - for (int16_t j = i; j < ins->envPPAnt; j++) - { - ins->envPP[j][0] = ins->envPP[j+1][0]; - ins->envPP[j][1] = ins->envPP[j+1][1]; - } - - drawSust = false; - drawRepS = false; - drawRepE = false; - - if (ins->envPSust > i) { ins->envPSust--; drawSust = true; } - if (ins->envPRepS > i) { ins->envPRepS--; drawRepS = true; } - if (ins->envPRepE > i) { ins->envPRepE--; drawRepE = true; } - - ins->envPP[0][0] = 0; - ins->envPPAnt--; - - if (ins->envPSust >= ins->envPPAnt) { ins->envPSust = ins->envPPAnt - 1; drawSust = true; } - if (ins->envPRepS >= ins->envPPAnt) { ins->envPRepS = ins->envPPAnt - 1; drawRepS = true; } - if (ins->envPRepE >= ins->envPPAnt) { ins->envPRepE = ins->envPPAnt - 1; drawRepE = true; } - - if (drawSust) drawPanEnvSus(); - if (drawRepS) drawPanEnvRepS(); - if (drawRepE) drawPanEnvRepE(); - - updatePanEnv = true; - setSongModifiedFlag(); -} - -void panEnvSusUp(void) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - return; - - if (ins->envPSust < ins->envPPAnt-1) - { - ins->envPSust++; - drawPanEnvSus(); - updatePanEnv = true; - setSongModifiedFlag(); - } -} - -void panEnvSusDown(void) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - return; - - if (ins->envPSust > 0) - { - ins->envPSust--; - drawPanEnvSus(); - updatePanEnv = true; - setSongModifiedFlag(); - } -} - -void panEnvRepSUp(void) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - return; - - if (ins->envPRepS < ins->envPRepE) - { - ins->envPRepS++; - drawPanEnvRepS(); - updatePanEnv = true; - setSongModifiedFlag(); - } -} - -void panEnvRepSDown(void) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - return; - - if (ins->envPRepS > 0) - { - ins->envPRepS--; - drawPanEnvRepS(); - updatePanEnv = true; - setSongModifiedFlag(); - } -} - -void panEnvRepEUp(void) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - return; - - if (ins->envPRepE < ins->envPPAnt-1) - { - ins->envPRepE++; - drawPanEnvRepE(); - updatePanEnv = true; - setSongModifiedFlag(); - } -} - -void panEnvRepEDown(void) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - return; - - if (ins->envPRepE > ins->envPRepS) - { - ins->envPRepE--; - drawPanEnvRepE(); - updatePanEnv = true; - setSongModifiedFlag(); - } -} - -void volDown(void) -{ - scrollBarScrollLeft(SB_INST_VOL, 1); -} - -void volUp(void) -{ - scrollBarScrollRight(SB_INST_VOL, 1); -} - -void panDown(void) -{ - scrollBarScrollLeft(SB_INST_PAN, 1); -} - -void panUp(void) -{ - scrollBarScrollRight(SB_INST_PAN, 1); -} - -void ftuneDown(void) -{ - scrollBarScrollLeft(SB_INST_FTUNE, 1); -} - -void ftuneUp(void) -{ - scrollBarScrollRight(SB_INST_FTUNE, 1); -} - -void fadeoutDown(void) -{ - scrollBarScrollLeft(SB_INST_FADEOUT, 1); -} - -void fadeoutUp(void) -{ - scrollBarScrollRight(SB_INST_FADEOUT, 1); -} - -void vibSpeedDown(void) -{ - scrollBarScrollLeft(SB_INST_VIBSPEED, 1); -} - -void vibSpeedUp(void) -{ - scrollBarScrollRight(SB_INST_VIBSPEED, 1); -} - -void vibDepthDown(void) -{ - scrollBarScrollLeft(SB_INST_VIBDEPTH, 1); -} - -void vibDepthUp(void) -{ - scrollBarScrollRight(SB_INST_VIBDEPTH, 1); -} - -void vibSweepDown(void) -{ - scrollBarScrollLeft(SB_INST_VIBSWEEP, 1); -} - -void vibSweepUp(void) -{ - scrollBarScrollRight(SB_INST_VIBSWEEP, 1); -} - -void setVolumeScroll(uint32_t pos) -{ - sampleTyp *s; - - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - { - if (editor.curInstr == 0 && editor.curSmp != 0) - setScrollBarPos(SB_INST_VOL, 0x40, false); - else - setScrollBarPos(SB_INST_VOL, 0, false); - - return; - } - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - if (s->vol != (uint8_t)pos) - { - s->vol = (uint8_t)pos; - drawVolume(); - setSongModifiedFlag(); - } -} - -void setPanningScroll(uint32_t pos) -{ - sampleTyp *s; - - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - { - setScrollBarPos(SB_INST_PAN, 0x80, false); - return; - } - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - if (s->pan != (uint8_t)pos) - { - s->pan = (uint8_t)pos; - drawPanning(); - setSongModifiedFlag(); - } -} - -void setFinetuneScroll(uint32_t pos) -{ - sampleTyp *s; - - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - { - setScrollBarPos(SB_INST_FTUNE, 128, false); // finetune 0 - return; - } - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - if (s->fine != (int8_t)(pos - 128)) - { - s->fine = (int8_t)(pos - 128); - drawFineTune(); - setSongModifiedFlag(); - } -} - -void setFadeoutScroll(uint32_t pos) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL) - { - setScrollBarPos(SB_INST_FADEOUT, 0, false); - return; - } - - if (editor.curInstr == 0) - { - setScrollBarPos(SB_INST_FADEOUT, 0x80, false); - return; - } - - if (ins->fadeOut != (uint16_t)pos) - { - ins->fadeOut = (uint16_t)pos; - drawFadeout(); - setSongModifiedFlag(); - } -} - -void setVibSpeedScroll(uint32_t pos) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - { - setScrollBarPos(SB_INST_VIBSPEED, 0, false); - return; - } - - if (ins->vibRate != (uint8_t)pos) - { - ins->vibRate = (uint8_t)pos; - drawVibSpeed(); - setSongModifiedFlag(); - } -} - -void setVibDepthScroll(uint32_t pos) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - { - setScrollBarPos(SB_INST_VIBDEPTH, 0, false); - return; - } - - if (ins->vibDepth != (uint8_t)pos) - { - ins->vibDepth = (uint8_t)pos; - drawVibDepth(); - setSongModifiedFlag(); - } -} - -void setVibSweepScroll(uint32_t pos) -{ - instrTyp *ins = instr[editor.curInstr]; - - if (ins == NULL || editor.curInstr == 0) - { - setScrollBarPos(SB_INST_VIBSWEEP, 0, false); - return; - } - - if (ins->vibSweep != (uint8_t)pos) - { - ins->vibSweep = (uint8_t)pos; - drawVibSweep(); - setSongModifiedFlag(); - } -} - -void rbVibWaveSine(void) -{ - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - return; - - instr[editor.curInstr]->vibTyp = 0; - - uncheckRadioButtonGroup(RB_GROUP_INST_WAVEFORM); - radioButtons[RB_INST_WAVE_SINE].state = RADIOBUTTON_CHECKED; - showRadioButtonGroup(RB_GROUP_INST_WAVEFORM); - setSongModifiedFlag(); -} - -void rbVibWaveSquare(void) -{ - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - return; - - instr[editor.curInstr]->vibTyp = 1; - - uncheckRadioButtonGroup(RB_GROUP_INST_WAVEFORM); - radioButtons[RB_INST_WAVE_SQUARE].state = RADIOBUTTON_CHECKED; - showRadioButtonGroup(RB_GROUP_INST_WAVEFORM); - setSongModifiedFlag(); -} - -void rbVibWaveRampDown(void) -{ - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - return; - - instr[editor.curInstr]->vibTyp = 2; - - uncheckRadioButtonGroup(RB_GROUP_INST_WAVEFORM); - radioButtons[RB_INST_WAVE_RAMP_DOWN].state = RADIOBUTTON_CHECKED; - showRadioButtonGroup(RB_GROUP_INST_WAVEFORM); - setSongModifiedFlag(); -} - -void rbVibWaveRampUp(void) -{ - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - return; - - instr[editor.curInstr]->vibTyp = 3; - - uncheckRadioButtonGroup(RB_GROUP_INST_WAVEFORM); - radioButtons[RB_INST_WAVE_RAMP_UP].state = RADIOBUTTON_CHECKED; - showRadioButtonGroup(RB_GROUP_INST_WAVEFORM); - setSongModifiedFlag(); -} - -void cbVEnv(void) -{ - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - { - checkBoxes[CB_INST_VENV].checked = false; - drawCheckBox(CB_INST_VENV); - return; - } - - instr[editor.curInstr]->envVTyp ^= 1; - updateVolEnv = true; - - setSongModifiedFlag(); -} - -void cbVEnvSus(void) -{ - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - { - checkBoxes[CB_INST_VENV_SUS].checked = false; - drawCheckBox(CB_INST_VENV_SUS); - return; - } - - instr[editor.curInstr]->envVTyp ^= 2; - updateVolEnv = true; - - setSongModifiedFlag(); -} - -void cbVEnvLoop(void) -{ - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - { - checkBoxes[CB_INST_VENV_LOOP].checked = false; - drawCheckBox(CB_INST_VENV_LOOP); - return; - } - - instr[editor.curInstr]->envVTyp ^= 4; - updateVolEnv = true; - - setSongModifiedFlag(); -} - -void cbPEnv(void) -{ - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - { - checkBoxes[CB_INST_PENV].checked = false; - drawCheckBox(CB_INST_PENV); - return; - } - - instr[editor.curInstr]->envPTyp ^= 1; - updatePanEnv = true; - - setSongModifiedFlag(); -} - -void cbPEnvSus(void) -{ - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - { - checkBoxes[CB_INST_PENV_SUS].checked = false; - drawCheckBox(CB_INST_PENV_SUS); - return; - } - - instr[editor.curInstr]->envPTyp ^= 2; - updatePanEnv = true; - - setSongModifiedFlag(); -} - -void cbPEnvLoop(void) -{ - if (instr[editor.curInstr] == NULL || editor.curInstr == 0) - { - checkBoxes[CB_INST_PENV_LOOP].checked = false; - drawCheckBox(CB_INST_PENV_LOOP); - return; - } - - instr[editor.curInstr]->envPTyp ^= 4; - updatePanEnv = true; - - setSongModifiedFlag(); -} - -static void smallHexOutBg(uint16_t xPos, uint16_t yPos, uint8_t fgPalette, uint8_t bgPalette, uint8_t val) -{ - const uint8_t *srcPtr; - uint32_t *dstPtr, fg, bg; - - assert(val <= 0xF); - - fg = video.palette[fgPalette]; - bg = video.palette[bgPalette]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - srcPtr = &smallHexBitmap[val * 5]; - - for (uint32_t y = 0; y < 7; y++) - { - for (uint32_t x = 0; x < 5; x++) - dstPtr[x] = srcPtr[x] ? fg : bg; - - dstPtr += SCREEN_W; - srcPtr += 80; - } -} - -static void writePianoNumber(uint8_t note, uint8_t key, uint8_t octave) -{ - uint8_t number; - uint16_t x; - - number = 0; - if (instr[editor.curInstr] != NULL && editor.curInstr > 0) - number = instr[editor.curInstr]->ta[note]; - - x = keyDigitXPos[key] + (octave * 77); - - if (keyIsBlackTab[key]) - smallHexOutBg(x, 361, PAL_FORGRND, PAL_BCKGRND, number); - else - smallHexOutBg(x, 385, PAL_BCKGRND, PAL_FORGRND, number); -} - -static void drawBlackPianoKey(uint8_t key, uint8_t octave, bool keyDown) -{ - uint16_t x = keyXPos[key] + (octave * 77); - blit(x, 351, &blackPianoKeysBitmap[keyDown * (7*27)], 7, 27); -} - -static void drawWhitePianoKey(uint8_t key, uint8_t octave, bool keyDown) -{ - uint16_t x = keyXPos[key] + (octave * 77); - blit(x, 351, &whitePianoKeysBitmap[(keyDown * (11*46*3)) + whiteKeysBmpOrder[key]], 11, 46); -} - -void redrawPiano(void) -{ - uint8_t key, octave; - - memset(pianoKeyStatus, 0, sizeof (pianoKeyStatus)); - for (uint8_t i = 0; i < 96; i++) - { - key = i % 12; - octave = i / 12; - - if (keyIsBlackTab[key]) - drawBlackPianoKey(key, octave, false); - else - drawWhitePianoKey(key, octave, false); - - writePianoNumber(i, key, octave); - } -} - -bool testPianoKeysMouseDown(bool mouseButtonDown) -{ - uint8_t key, note, octave; - int32_t mx, my; - instrTyp *ins; - - if (!editor.ui.instEditorShown) - return false; - - mx = mouse.x; - my = mouse.y; - - if (!mouseButtonDown) - { - if (my < 351 || my > 396 || mx < 8 || mx > 623) - return false; - - mouse.lastUsedObjectType = OBJECT_PIANO; - } - else - { - my = CLAMP(my, 351, 396); - mx = CLAMP(mx, 8, 623); - } - - ins = instr[editor.curInstr]; - if (ins == NULL) - return true; - - mx -= 8; - if (my < 378) - { - // white keys and black keys (top) - - octave = (uint8_t)(mx / 77); - mx %= 77; // width of all keys in one octave - - // this is pretty disgusting... - if (mx >= 69) key = 11; - else if (mx >= 62) key = 10; - else if (mx >= 58) key = 9; - else if (mx >= 51) key = 8; - else if (mx >= 47) key = 7; - else if (mx >= 40) key = 6; - else if (mx >= 33) key = 5; - else if (mx >= 25) key = 4; - else if (mx >= 18) key = 3; - else if (mx >= 14) key = 2; - else if (mx >= 7) key = 1; - else key = 0; - - note = (octave * 12) + key; - if (ins->ta[note] != editor.curSmp) - { - ins->ta[note] = editor.curSmp; - writePianoNumber(note, key, octave); - setSongModifiedFlag(); - } - } - else - { - // white keys only (bottom) - - octave = (uint8_t)(mx / 77); - key = (uint8_t)(mx % 77) / 11; - - note = (octave * 12) + whiteKeyIndex[key]; - if (ins->ta[note] != editor.curSmp) - { - ins->ta[note] = editor.curSmp; - writePianoNumber(note, note % 12, octave); - setSongModifiedFlag(); - } - } - - return true; -} - -static uint8_t getNote(uint8_t i) // returns 1..96 -{ - int8_t fineTune; - uint8_t note; - int32_t period, loPeriod, hiPeriod, tmpPeriod, tableIndex; - stmTyp *ch; - - ch = &stm[i]; - - fineTune = (ch->fineTune >> 3) + 16; - hiPeriod = 8 * 12 * 16; - loPeriod = 0; - period = ch->finalPeriod; - - for (i = 0; i < 8; i++) - { - tmpPeriod = (((loPeriod + hiPeriod) >> 1) & 0xFFFFFFF0) + fineTune; - - tableIndex = tmpPeriod - 8; - if (tableIndex < 0) // added security check - tableIndex = 0; - - if (period >= note2Period[tableIndex]) - hiPeriod = tmpPeriod - fineTune; - else - loPeriod = tmpPeriod - fineTune; - } - - if (loPeriod >= ((8*12*16) + 15) - 1) // FT2 bug: off-by-one error - loPeriod = (8*12*16) + 15; - - note = (uint8_t)(((loPeriod + 8) >> 4) - ch->relTonNr) + 1; - return note; -} - -void drawPiano(void) // draw piano in idle mode -{ - bool keyDown, newStatus[96]; - uint8_t key, note, octave; - stmTyp *ch; - - memset(newStatus, 0, sizeof (newStatus)); - - // find active notes - if (editor.curInstr > 0) - { - for (uint8_t i = 0; i < song.antChn; i++) - { - ch = &stm[i]; - if (ch->instrNr == editor.curInstr) - { - note = getNote(i); - if (ch->envSustainActive) - newStatus[(note - 1) % 96] = true; - } - } - } - - // draw keys - for (uint8_t i = 0; i < 96; i++) - { - keyDown = newStatus[i]; - if (pianoKeyStatus[i] ^ keyDown) - { - key = i % 12; - octave = i / 12; - - if (keyIsBlackTab[key]) - drawBlackPianoKey(key, octave, keyDown); - else - drawWhitePianoKey(key, octave, keyDown); - - pianoKeyStatus[i] = keyDown; - } - } -} - -static uint8_t getNoteReplayer(syncedChannel_t *ch) // returns 1..96 -{ - int8_t fineTune; - uint8_t note; - int32_t period, loPeriod, hiPeriod, tmpPeriod, tableIndex; - - fineTune = (ch->fineTune >> 3) + 16; - hiPeriod = 8 * 12 * 16; - loPeriod = 0; - period = ch->finalPeriod; - - for (uint8_t i = 0; i < 8; i++) - { - tmpPeriod = (((loPeriod + hiPeriod) >> 1) & 0xFFFFFFF0) + fineTune; - - tableIndex = tmpPeriod - 8; - if (tableIndex < 0) // added security check - tableIndex = 0; - - if (period >= note2Period[tableIndex]) - hiPeriod = tmpPeriod - fineTune; - else - loPeriod = tmpPeriod - fineTune; - } - - if (loPeriod >= ((8*12*16) + 15) - 1) // FT2 bug: off-by-one error - loPeriod = (8*12*16) + 15; - - note = (uint8_t)(((loPeriod + 8) >> 4) - ch->relTonNr) + 1; - return note; -} - -void drawPianoReplayer(chSyncData_t *chSyncData) // draw piano with synced replayer datas -{ - bool keyDown, newStatus[96]; - uint8_t key, note, octave; - syncedChannel_t *ch; - - memset(newStatus, 0, sizeof (newStatus)); - - // find active notes - if (editor.curInstr > 0) - { - for (uint8_t i = 0; i < song.antChn; i++) - { - ch = &chSyncData->channels[i]; - if (ch->instrNr == editor.curInstr) - { - note = getNoteReplayer(ch); - if (ch->envSustainActive) - newStatus[(note - 1) % 96] = true; - } - } - } - - // draw keys - for (uint8_t i = 0; i < 96; i++) - { - keyDown = newStatus[i]; - if (pianoKeyStatus[i] ^ keyDown) - { - key = i % 12; - octave = i / 12; - - if (keyIsBlackTab[key]) - drawBlackPianoKey(key, octave, keyDown); - else - drawWhitePianoKey(key, octave, keyDown); - - pianoKeyStatus[i] = keyDown; - } - } -} - -static void envelopeLine(int32_t nr, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint8_t col) -{ - int16_t d, x, y, sx, sy, dx, dy; - uint16_t ax, ay; - int32_t pitch; - uint32_t pal1, pal2, pixVal, *dst32; - - y1 = CLAMP(y1, 0, 66); - y2 = CLAMP(y2, 0, 66); - x1 = CLAMP(x1, 0, 335); - x2 = CLAMP(x2, 0, 335); - - if (nr == 0) - { - y1 += 189; - y2 += 189; - } - else - { - y1 += 276; - y2 += 276; - } - - // get coefficients - dx = x2 - x1; - ax = ABS(dx) * 2; - sx = SGN(dx); - dy = y2 - y1; - ay = ABS(dy) * 2; - sy = SGN(dy); - x = x1; - y = y1; - - pal1 = video.palette[PAL_BLCKMRK]; - pal2 = video.palette[PAL_BLCKTXT]; - pixVal = video.palette[col]; - pitch = sy * SCREEN_W; - - dst32 = &video.frameBuffer[(y * SCREEN_W) + x]; - - // draw line - if (ax > ay) - { - d = ay - (ax / 2); - - while (true) - { - // invert certain colors - if (*dst32 != pal2) - { - if (*dst32 == pal1) - *dst32 = pal2; - else - *dst32 = pixVal; - } - - if (x == x2) - break; - - if (d >= 0) - { - d -= ax; - dst32 += pitch; - } - - x += sx; - d += ay; - dst32 += sx; - } - } - else - { - d = ax - (ay / 2); - - while (true) - { - // invert certain colors - if (*dst32 != pal2) - { - if (*dst32 == pal1) - *dst32 = pal2; - else - *dst32 = pixVal; - } - - if (y == y2) - break; - - if (d >= 0) - { - d -= ay; - dst32 += sx; - } - - y += sy; - d += ax; - dst32 += pitch; - } - } -} - -static void envelopePixel(int32_t nr, int16_t x, int16_t y, uint8_t col) -{ - y += (nr == 0) ? 189 : 276; - video.frameBuffer[(y * SCREEN_W) + x] = video.palette[col]; -} - -static void envelopeDot(int32_t nr, int16_t x, int16_t y) -{ - uint32_t *dstPtr, pixVal; - - y += (nr == 0) ? 189 : 276; - - pixVal = video.palette[PAL_BLCKTXT]; - dstPtr = &video.frameBuffer[(y * SCREEN_W) + x]; - - for (y = 0; y < 3; y++) - { - *dstPtr++ = pixVal; - *dstPtr++ = pixVal; - *dstPtr++ = pixVal; - - dstPtr += (SCREEN_W - 3); - } -} - -static void envelopeVertLine(int32_t nr, int16_t x, int16_t y, uint8_t col) -{ - uint32_t *dstPtr, pixVal1, pixVal2; - - y += (nr == 0) ? 189 : 276; - - pixVal1 = video.palette[col]; - pixVal2 = video.palette[PAL_BLCKTXT]; - - dstPtr = &video.frameBuffer[(y * SCREEN_W) + x]; - for (y = 0; y < 33; y++) - { - if (*dstPtr != pixVal2) - *dstPtr = pixVal1; - - dstPtr += (SCREEN_W * 2); - } -} - -static void writeEnvelope(int32_t nr) -{ - uint8_t selected; - int16_t i, x, y, lx, ly, nd, sp, ls, le, (*curEnvP)[2]; - instrTyp *ins = instr[editor.curInstr]; - - // clear envelope area - if (nr == 0) - clearRect(5, 189, 331, 67); - else - clearRect(5, 276, 331, 67); - - // draw dotted x/y lines - for (i = 0; i <= 32; i++) envelopePixel(nr, 5, 1 + i * 2, PAL_PATTEXT); - for (i = 0; i <= 8; i++) envelopePixel(nr, 4, 1 + i * 8, PAL_PATTEXT); - for (i = 0; i <= 162; i++) envelopePixel(nr, 8 + i * 2, 65, PAL_PATTEXT); - for (i = 0; i <= 6; i++) envelopePixel(nr, 8 + i * 50, 66, PAL_PATTEXT); - - // draw center line on pan envelope - if (nr == 1) - envelopeLine(nr, 8, 33, 335, 33, PAL_BLCKMRK); - - if (ins == NULL) - return; - - // collect variables - if (nr == 0) - { - nd = ins->envVPAnt; - if (ins->envVTyp & 2) - sp = ins->envVSust; - else - sp = -1; - - if (ins->envVTyp & 4) - { - ls = ins->envVRepS; - le = ins->envVRepE; - } - else - { - ls = -1; - le = -1; - } - - curEnvP = ins->envVP; - selected = editor.currVolEnvPoint; - } - else - { - nd = ins->envPPAnt; - if (ins->envPTyp & 2) - sp = ins->envPSust; - else - sp = -1; - - if (ins->envPTyp & 4) - { - ls = ins->envPRepS; - le = ins->envPRepE; - } - else - { - ls = -1; - le = -1; - } - - curEnvP = ins->envPP; - selected = editor.currPanEnvPoint; - } - - if (nd > 12) - nd = 12; - - lx = 0; - ly = 0; - - // draw envelope - for (i = 0; i < nd; i++) - { - x = curEnvP[i][0]; x = CLAMP(x, 0, 340); - y = curEnvP[i][1]; y = CLAMP(y, 0, 64); - - envelopeDot(nr, 7 + x, 64 - y); - - // draw "envelope selected" data - if (i == selected) - { - envelopeLine(nr, 5 + x, 64 - y, 5 + x, 66 - y, PAL_BLCKTXT); - envelopeLine(nr, 11 + x, 64 - y, 11 + x, 66 - y, PAL_BLCKTXT); - envelopePixel(nr, 5, 65 - y, PAL_BLCKTXT); - envelopePixel(nr, 8 + x, 65, PAL_BLCKTXT); - } - - // draw loop start marker - if (i == ls) - { - envelopeLine(nr, x + 6, 1, x + 10, 1, PAL_PATTEXT); - envelopeLine(nr, x + 7, 2, x + 9, 2, PAL_PATTEXT); - envelopeVertLine(nr, x + 8, 1, PAL_PATTEXT); - } - - // draw sustain marker - if (i == sp) - envelopeVertLine(nr, x + 8, 1, PAL_BLCKTXT); - - // draw loop end marker - if (i == le) - { - envelopeLine(nr, x + 6, 65, x + 10, 65, PAL_PATTEXT); - envelopeLine(nr, x + 7, 64, x + 9, 64, PAL_PATTEXT); - envelopeVertLine(nr, x + 8, 1, PAL_PATTEXT); - } - - // draw envelope line - if (i > 0 && lx < x) - envelopeLine(nr, lx + 8, 65 - ly, x + 8, 65 - y, PAL_PATTEXT); - - lx = x; - ly = y; - } -} - -void handleInstEditorRedrawing(void) -{ - if (updateVolEnv) - { - updateVolEnv = false; - writeEnvelope(0); - } - - if (updatePanEnv) - { - updatePanEnv = false; - writeEnvelope(1); - } -} - -void hideInstEditor(void) -{ - editor.ui.instEditorShown = false; - - hideScrollBar(SB_INST_VOL); - hideScrollBar(SB_INST_PAN); - hideScrollBar(SB_INST_FTUNE); - hideScrollBar(SB_INST_FADEOUT); - hideScrollBar(SB_INST_VIBSPEED); - hideScrollBar(SB_INST_VIBDEPTH); - hideScrollBar(SB_INST_VIBSWEEP); - - hidePushButton(PB_INST_VDEF1); - hidePushButton(PB_INST_VDEF2); - hidePushButton(PB_INST_VDEF3); - hidePushButton(PB_INST_VDEF4); - hidePushButton(PB_INST_VDEF5); - hidePushButton(PB_INST_VDEF6); - hidePushButton(PB_INST_PDEF1); - hidePushButton(PB_INST_PDEF2); - hidePushButton(PB_INST_PDEF3); - hidePushButton(PB_INST_PDEF4); - hidePushButton(PB_INST_PDEF5); - hidePushButton(PB_INST_PDEF6); - hidePushButton(PB_INST_VP_ADD); - hidePushButton(PB_INST_VP_DEL); - hidePushButton(PB_INST_VS_UP); - hidePushButton(PB_INST_VS_DOWN); - hidePushButton(PB_INST_VREPS_UP); - hidePushButton(PB_INST_VREPS_DOWN); - hidePushButton(PB_INST_VREPE_UP); - hidePushButton(PB_INST_VREPE_DOWN); - hidePushButton(PB_INST_PP_ADD); - hidePushButton(PB_INST_PP_DEL); - hidePushButton(PB_INST_PS_UP); - hidePushButton(PB_INST_PS_DOWN); - hidePushButton(PB_INST_PREPS_UP); - hidePushButton(PB_INST_PREPS_DOWN); - hidePushButton(PB_INST_PREPE_UP); - hidePushButton(PB_INST_PREPE_DOWN); - hidePushButton(PB_INST_VOL_DOWN); - hidePushButton(PB_INST_VOL_UP); - hidePushButton(PB_INST_PAN_DOWN); - hidePushButton(PB_INST_PAN_UP); - hidePushButton(PB_INST_FTUNE_DOWN); - hidePushButton(PB_INST_FTUNE_UP); - hidePushButton(PB_INST_FADEOUT_DOWN); - hidePushButton(PB_INST_FADEOUT_UP); - hidePushButton(PB_INST_VIBSPEED_DOWN); - hidePushButton(PB_INST_VIBSPEED_UP); - hidePushButton(PB_INST_VIBDEPTH_DOWN); - hidePushButton(PB_INST_VIBDEPTH_UP); - hidePushButton(PB_INST_VIBSWEEP_DOWN); - hidePushButton(PB_INST_VIBSWEEP_UP); - hidePushButton(PB_INST_EXIT); - hidePushButton(PB_INST_OCT_UP); - hidePushButton(PB_INST_HALFTONE_UP); - hidePushButton(PB_INST_OCT_DOWN); - hidePushButton(PB_INST_HALFTONE_DOWN); - - hideCheckBox(CB_INST_VENV); - hideCheckBox(CB_INST_VENV_SUS); - hideCheckBox(CB_INST_VENV_LOOP); - hideCheckBox(CB_INST_PENV); - hideCheckBox(CB_INST_PENV_SUS); - hideCheckBox(CB_INST_PENV_LOOP); - - hideRadioButtonGroup(RB_GROUP_INST_WAVEFORM); -} - -void exitInstEditor(void) -{ - hideInstEditor(); - showPatternEditor(); -} - -void updateInstEditor(void) -{ - uint16_t tmpID; - sampleTyp *s; - instrTyp *ins = getCurDispInstr(); - - if (instr[editor.curInstr] == NULL) - s = &ins->samp[0]; - else - s = &ins->samp[editor.curSmp]; - - // update instrument editor extension - if (editor.ui.instEditorExtShown) - { - checkBoxes[CB_INST_EXT_MIDI].checked = ins->midiOn ? true : false; - checkBoxes[CB_INST_EXT_MUTE].checked = ins->mute ? true : false; - - setScrollBarPos(SB_INST_EXT_MIDI_CH, ins->midiChannel, false); - setScrollBarPos(SB_INST_EXT_MIDI_PRG, ins->midiProgram, false); - setScrollBarPos(SB_INST_EXT_MIDI_BEND, ins->midiBend, false); - - drawCheckBox(CB_INST_EXT_MIDI); - drawCheckBox(CB_INST_EXT_MUTE); - - drawMIDICh(); - drawMIDIPrg(); - drawMIDIBend(); - } - - if (!editor.ui.instEditorShown) - return; - - drawVolEnvSus(); - drawVolEnvRepS(); - drawVolEnvRepE(); - drawPanEnvSus(); - drawPanEnvRepS(); - drawPanEnvRepE(); - drawVolume(); - drawPanning(); - drawFineTune(); - drawFadeout(); - drawVibSpeed(); - drawVibDepth(); - drawVibSweep(); - drawRelTone(); - - // set scroll bars - setScrollBarPos(SB_INST_VOL, s->vol, false); - setScrollBarPos(SB_INST_PAN, s->pan, false); - setScrollBarPos(SB_INST_FTUNE, 128 + s->fine, false); - setScrollBarPos(SB_INST_FADEOUT, ins->fadeOut, false); - setScrollBarPos(SB_INST_VIBSPEED, ins->vibRate, false); - setScrollBarPos(SB_INST_VIBDEPTH, ins->vibDepth, false); - setScrollBarPos(SB_INST_VIBSWEEP, ins->vibSweep, false); - - // set radio buttons - - uncheckRadioButtonGroup(RB_GROUP_INST_WAVEFORM); - switch (ins->vibTyp) - { - default: - case 0: tmpID = RB_INST_WAVE_SINE; break; - case 1: tmpID = RB_INST_WAVE_SQUARE; break; - case 2: tmpID = RB_INST_WAVE_RAMP_DOWN; break; - case 3: tmpID = RB_INST_WAVE_RAMP_UP; break; - } - - radioButtons[tmpID].state = RADIOBUTTON_CHECKED; - - // set check boxes - - checkBoxes[CB_INST_VENV].checked = (ins->envVTyp & 1) ? true : false; - checkBoxes[CB_INST_VENV_SUS].checked = (ins->envVTyp & 2) ? true : false; - checkBoxes[CB_INST_VENV_LOOP].checked = (ins->envVTyp & 4) ? true : false; - checkBoxes[CB_INST_PENV].checked = (ins->envPTyp & 1) ? true : false; - checkBoxes[CB_INST_PENV_SUS].checked = (ins->envPTyp & 2) ? true : false; - checkBoxes[CB_INST_PENV_LOOP].checked = (ins->envPTyp & 4) ? true : false; - - if (editor.currVolEnvPoint >= ins->envVPAnt) editor.currVolEnvPoint = 0; - if (editor.currPanEnvPoint >= ins->envPPAnt) editor.currPanEnvPoint = 0; - - showRadioButtonGroup(RB_GROUP_INST_WAVEFORM); - - drawCheckBox(CB_INST_VENV); - drawCheckBox(CB_INST_VENV_SUS); - drawCheckBox(CB_INST_VENV_LOOP); - drawCheckBox(CB_INST_PENV); - drawCheckBox(CB_INST_PENV_SUS); - drawCheckBox(CB_INST_PENV_LOOP); - - updateVolEnv = true; - updatePanEnv = true; - - redrawPiano(); -} - -void showInstEditor(void) -{ - if (editor.ui.extended) exitPatternEditorExtended(); - if (editor.ui.sampleEditorShown) hideSampleEditor(); - if (editor.ui.sampleEditorExtShown) hideSampleEditorExt(); - - hidePatternEditor(); - editor.ui.instEditorShown = true; - - drawFramework(0, 173, 438, 87, FRAMEWORK_TYPE1); - drawFramework(0, 260, 438, 87, FRAMEWORK_TYPE1); - drawFramework(0, 347, 632, 53, FRAMEWORK_TYPE1); - drawFramework(438, 173, 194, 45, FRAMEWORK_TYPE1); - drawFramework(438, 218, 194, 76, FRAMEWORK_TYPE1); - drawFramework(438, 294, 194, 53, FRAMEWORK_TYPE1); - drawFramework(2, 188, 337, 70, FRAMEWORK_TYPE2); - drawFramework(2, 275, 337, 70, FRAMEWORK_TYPE2); - drawFramework(2, 349, 628, 49, FRAMEWORK_TYPE2); - drawFramework(590, 296, 40, 15, FRAMEWORK_TYPE2); - - textOutShadow(20, 176, PAL_FORGRND, PAL_DSKTOP2, "Volume envelope:"); - textOutShadow(153, 176, PAL_FORGRND, PAL_DSKTOP2, "Predef."); - textOutShadow(358, 193, PAL_FORGRND, PAL_DSKTOP2, "Sustain:"); - textOutShadow(342, 206, PAL_FORGRND, PAL_DSKTOP2, "Point"); - textOutShadow(358, 219, PAL_FORGRND, PAL_DSKTOP2, "Env.loop:"); - textOutShadow(342, 234, PAL_FORGRND, PAL_DSKTOP2, "Start"); - textOutShadow(342, 247, PAL_FORGRND, PAL_DSKTOP2, "End"); - textOutShadow(20, 263, PAL_FORGRND, PAL_DSKTOP2, "Panning envelope:"); - textOutShadow(152, 263, PAL_FORGRND, PAL_DSKTOP2, "Predef."); - textOutShadow(358, 280, PAL_FORGRND, PAL_DSKTOP2, "Sustain:"); - textOutShadow(342, 293, PAL_FORGRND, PAL_DSKTOP2, "Point"); - textOutShadow(358, 306, PAL_FORGRND, PAL_DSKTOP2, "Env.loop:"); - textOutShadow(342, 321, PAL_FORGRND, PAL_DSKTOP2, "Start"); - textOutShadow(342, 334, PAL_FORGRND, PAL_DSKTOP2, "End"); - textOutShadow(443, 177, PAL_FORGRND, PAL_DSKTOP2, "Volume"); - textOutShadow(443, 191, PAL_FORGRND, PAL_DSKTOP2, "Panning"); - textOutShadow(443, 205, PAL_FORGRND, PAL_DSKTOP2, "Tune"); - textOutShadow(442, 222, PAL_FORGRND, PAL_DSKTOP2, "Fadeout"); - textOutShadow(442, 236, PAL_FORGRND, PAL_DSKTOP2, "Vib.speed"); - textOutShadow(442, 250, PAL_FORGRND, PAL_DSKTOP2, "Vib.depth"); - textOutShadow(442, 264, PAL_FORGRND, PAL_DSKTOP2, "Vib.sweep"); - textOutShadow(453, 299, PAL_FORGRND, PAL_DSKTOP2, "Tone relative to C-4:"); - - showScrollBar(SB_INST_VOL); - showScrollBar(SB_INST_PAN); - showScrollBar(SB_INST_FTUNE); - showScrollBar(SB_INST_FADEOUT); - showScrollBar(SB_INST_VIBSPEED); - showScrollBar(SB_INST_VIBDEPTH); - showScrollBar(SB_INST_VIBSWEEP); - - showPushButton(PB_INST_VDEF1); - showPushButton(PB_INST_VDEF2); - showPushButton(PB_INST_VDEF3); - showPushButton(PB_INST_VDEF4); - showPushButton(PB_INST_VDEF5); - showPushButton(PB_INST_VDEF6); - showPushButton(PB_INST_PDEF1); - showPushButton(PB_INST_PDEF2); - showPushButton(PB_INST_PDEF3); - showPushButton(PB_INST_PDEF4); - showPushButton(PB_INST_PDEF5); - showPushButton(PB_INST_PDEF6); - showPushButton(PB_INST_VP_ADD); - showPushButton(PB_INST_VP_DEL); - showPushButton(PB_INST_VS_UP); - showPushButton(PB_INST_VS_DOWN); - showPushButton(PB_INST_VREPS_UP); - showPushButton(PB_INST_VREPS_DOWN); - showPushButton(PB_INST_VREPE_UP); - showPushButton(PB_INST_VREPE_DOWN); - showPushButton(PB_INST_PP_ADD); - showPushButton(PB_INST_PP_DEL); - showPushButton(PB_INST_PS_UP); - showPushButton(PB_INST_PS_DOWN); - showPushButton(PB_INST_PREPS_UP); - showPushButton(PB_INST_PREPS_DOWN); - showPushButton(PB_INST_PREPE_UP); - showPushButton(PB_INST_PREPE_DOWN); - showPushButton(PB_INST_VOL_DOWN); - showPushButton(PB_INST_VOL_UP); - showPushButton(PB_INST_PAN_DOWN); - showPushButton(PB_INST_PAN_UP); - showPushButton(PB_INST_FTUNE_DOWN); - showPushButton(PB_INST_FTUNE_UP); - showPushButton(PB_INST_FADEOUT_DOWN); - showPushButton(PB_INST_FADEOUT_UP); - showPushButton(PB_INST_VIBSPEED_DOWN); - showPushButton(PB_INST_VIBSPEED_UP); - showPushButton(PB_INST_VIBDEPTH_DOWN); - showPushButton(PB_INST_VIBDEPTH_UP); - showPushButton(PB_INST_VIBSWEEP_DOWN); - showPushButton(PB_INST_VIBSWEEP_UP); - showPushButton(PB_INST_EXIT); - showPushButton(PB_INST_OCT_UP); - showPushButton(PB_INST_HALFTONE_UP); - showPushButton(PB_INST_OCT_DOWN); - showPushButton(PB_INST_HALFTONE_DOWN); - - showCheckBox(CB_INST_VENV); - showCheckBox(CB_INST_VENV_SUS); - showCheckBox(CB_INST_VENV_LOOP); - showCheckBox(CB_INST_PENV); - showCheckBox(CB_INST_PENV_SUS); - showCheckBox(CB_INST_PENV_LOOP); - - // draw auto-vibrato waveforms - blitFast(455, 279, &vibWaveformBitmap[(12*10)*0], 12, 10); - blitFast(485, 279, &vibWaveformBitmap[(12*10)*1], 12, 10); - blitFast(515, 279, &vibWaveformBitmap[(12*10)*2], 12, 10); - blitFast(545, 279, &vibWaveformBitmap[(12*10)*3], 12, 10); - - showRadioButtonGroup(RB_GROUP_INST_WAVEFORM); - - updateInstEditor(); - redrawPiano(); -} - -void toggleInstEditor(void) -{ - if (editor.ui.sampleEditorShown) - hideSampleEditor(); - - if (editor.ui.instEditorShown) - { - exitInstEditor(); - } - else - { - hidePatternEditor(); - showInstEditor(); - } -} - -bool testInstrVolEnvMouseDown(bool mouseButtonDown) -{ - uint8_t ant; - int32_t x, y, mx, my, minX, maxX; - instrTyp *ins; - - if (!editor.ui.instEditorShown || editor.curInstr == 0 || instr[editor.curInstr] == NULL) - return false; - - ins = instr[editor.curInstr]; - - ant = ins->envVPAnt; - if (ant > 12) - ant = 12; - - mx = mouse.x; - my = mouse.y; - - if (!mouseButtonDown) - { - if (my < 189 || my > 256 || mx < 7 || mx > 334) - return false; - - if (ins->envVPAnt == 0) - return true; - - lastMouseX = mx; - lastMouseY = my; - - for (uint8_t i = 0; i < ant; i++) - { - x = 8 + ins->envVP[i][0]; - y = 190 + (64 - ins->envVP[i][1]); - - if (mx >= x-2 && mx <= x+2 && my >= y-2 && my <= y+2) - { - editor.currVolEnvPoint = i; - mouse.lastUsedObjectType = OBJECT_INSVOLENV; - - saveMouseX = 8 + (lastMouseX - x); - saveMouseY = 190 + (lastMouseY - y); - - updateVolEnv = true; - break; - } - } - - return true; - } - - if (ins->envVPAnt == 0) - return true; - - if (mx != lastMouseX) - { - lastMouseX = mx; - - if (ant > 1 && editor.currVolEnvPoint > 0) - { - mx -= saveMouseX; - mx = CLAMP(mx, 0, 324); - - if (editor.currVolEnvPoint == ant-1) - { - minX = ins->envVP[editor.currVolEnvPoint-1][0] + 1; - maxX = 325; - } - else - { - minX = ins->envVP[editor.currVolEnvPoint-1][0] + 1; - maxX = ins->envVP[editor.currVolEnvPoint+1][0] - 1; - } - - ins->envVP[editor.currVolEnvPoint][0] = (int16_t)(CLAMP(mx, minX, maxX)); - updateVolEnv = true; - - setSongModifiedFlag(); - } - } - - if (my != lastMouseY) - { - lastMouseY = my; - - my -= saveMouseY; - my = 64 - CLAMP(my, 0, 64); - - ins->envVP[editor.currVolEnvPoint][1] = (int16_t)my; - updateVolEnv = true; - - setSongModifiedFlag(); - } - - return true; -} - -bool testInstrPanEnvMouseDown(bool mouseButtonDown) -{ - uint8_t ant; - int32_t x, y, mx, my, minX, maxX; - instrTyp *ins; - - if (!editor.ui.instEditorShown || editor.curInstr == 0 || instr[editor.curInstr] == NULL) - return false; - - ins = instr[editor.curInstr]; - - ant = ins->envPPAnt; - if (ant > 12) - ant = 12; - - mx = mouse.x; - my = mouse.y; - - if (!mouseButtonDown) - { - if (my < 277 || my > 343 || mx < 7 || mx > 334) - return false; - - if (ins->envPPAnt == 0) - return true; - - lastMouseX = mx; - lastMouseY = my; - - for (uint8_t i = 0; i < ant; i++) - { - x = 8 + ins->envPP[i][0]; - y = 277 + (63 - ins->envPP[i][1]); - - if (mx >= x-2 && mx <= x+2 && my >= y-2 && my <= y+2) - { - editor.currPanEnvPoint = i; - mouse.lastUsedObjectType = OBJECT_INSPANENV; - - saveMouseX = lastMouseX - x + 8; - saveMouseY = lastMouseY - y + 277; - - updatePanEnv = true; - break; - } - } - - return true; - } - - if (ins->envPPAnt == 0) - return true; - - if (mx != lastMouseX) - { - lastMouseX = mx; - - if (ant > 1 && editor.currPanEnvPoint > 0) - { - mx -= saveMouseX; - mx = CLAMP(mx, 0, 324); - - if (editor.currPanEnvPoint == ant-1) - { - minX = ins->envPP[editor.currPanEnvPoint-1][0] + 1; - maxX = 325; - } - else - { - minX = ins->envPP[editor.currPanEnvPoint-1][0] + 1; - maxX = ins->envPP[editor.currPanEnvPoint+1][0] - 1; - } - - ins->envPP[editor.currPanEnvPoint][0] = (int16_t)(CLAMP(mx, minX, maxX)); - updatePanEnv = true; - - setSongModifiedFlag(); - } - } - - if (my != lastMouseY) - { - lastMouseY = my; - - my -= saveMouseY; - my = 63 - CLAMP(my, 0, 63); - - ins->envPP[editor.currPanEnvPoint][1] = (int16_t)my; - updatePanEnv = true; - - setSongModifiedFlag(); - } - - return true; -} - -void cbInstMidiEnable(void) -{ - if (editor.curInstr == 0 || instr[editor.curInstr] == NULL) - { - checkBoxes[CB_INST_EXT_MIDI].checked = false; - drawCheckBox(CB_INST_EXT_MIDI); - return; - } - - instr[editor.curInstr]->midiOn ^= 1; - setSongModifiedFlag(); -} - -void cbInstMuteComputer(void) -{ - if (editor.curInstr == 0 || instr[editor.curInstr] == NULL) - { - checkBoxes[CB_INST_EXT_MUTE].checked = false; - drawCheckBox(CB_INST_EXT_MUTE); - return; - } - - instr[editor.curInstr]->mute ^= 1; - setSongModifiedFlag(); -} - -void drawInstEditorExt(void) -{ - instrTyp *ins = instr[editor.curInstr]; - - drawFramework(0, 92, 291, 17, FRAMEWORK_TYPE1); - drawFramework(0, 109, 291, 19, FRAMEWORK_TYPE1); - drawFramework(0, 128, 291, 45, FRAMEWORK_TYPE1); - - textOutShadow(4, 96, PAL_FORGRND, PAL_DSKTOP2, "Instrument Editor Extension:"); - textOutShadow(20, 114, PAL_FORGRND, PAL_DSKTOP2, "Instrument MIDI enable"); - textOutShadow(189, 114, PAL_FORGRND, PAL_DSKTOP2, "Mute computer"); - textOutShadow(4, 133, PAL_FORGRND, PAL_DSKTOP2, "MIDI transmit channel"); - textOutShadow(4, 147, PAL_FORGRND, PAL_DSKTOP2, "MIDI program"); - textOutShadow(4, 160, PAL_FORGRND, PAL_DSKTOP2, "Bender range (halftones)"); - - if (ins == NULL) - { - checkBoxes[CB_INST_EXT_MIDI].checked = false; - checkBoxes[CB_INST_EXT_MUTE].checked = false; - setScrollBarPos(SB_INST_EXT_MIDI_CH, 0, false); - setScrollBarPos(SB_INST_EXT_MIDI_PRG, 0, false); - setScrollBarPos(SB_INST_EXT_MIDI_BEND, 0, false); - } - else - { - checkBoxes[CB_INST_EXT_MIDI].checked = ins->midiOn ? true : false; - checkBoxes[CB_INST_EXT_MUTE].checked = ins->mute ? true : false; - setScrollBarPos(SB_INST_EXT_MIDI_CH, ins->midiChannel, false); - setScrollBarPos(SB_INST_EXT_MIDI_PRG, ins->midiProgram, false); - setScrollBarPos(SB_INST_EXT_MIDI_BEND, ins->midiBend, false); - } - - showCheckBox(CB_INST_EXT_MIDI); - showCheckBox(CB_INST_EXT_MUTE); - - showScrollBar(SB_INST_EXT_MIDI_CH); - showScrollBar(SB_INST_EXT_MIDI_PRG); - showScrollBar(SB_INST_EXT_MIDI_BEND); - - showPushButton(PB_INST_EXT_MIDI_CH_DOWN); - showPushButton(PB_INST_EXT_MIDI_CH_UP); - showPushButton(PB_INST_EXT_MIDI_PRG_DOWN); - showPushButton(PB_INST_EXT_MIDI_PRG_UP); - showPushButton(PB_INST_EXT_MIDI_BEND_DOWN); - showPushButton(PB_INST_EXT_MIDI_BEND_UP); - - drawMIDICh(); - drawMIDIPrg(); - drawMIDIBend(); -} - -void showInstEditorExt(void) -{ - if (editor.ui.extended) - exitPatternEditorExtended(); - - hideTopScreen(); - showTopScreen(false); - - editor.ui.instEditorExtShown = true; - editor.ui.scopesShown = false; - drawInstEditorExt(); -} - -void hideInstEditorExt(void) -{ - hideScrollBar(SB_INST_EXT_MIDI_CH); - hideScrollBar(SB_INST_EXT_MIDI_PRG); - hideScrollBar(SB_INST_EXT_MIDI_BEND); - hideCheckBox(CB_INST_EXT_MIDI); - hideCheckBox(CB_INST_EXT_MUTE); - hidePushButton(PB_INST_EXT_MIDI_CH_DOWN); - hidePushButton(PB_INST_EXT_MIDI_CH_UP); - hidePushButton(PB_INST_EXT_MIDI_PRG_DOWN); - hidePushButton(PB_INST_EXT_MIDI_PRG_UP); - hidePushButton(PB_INST_EXT_MIDI_BEND_DOWN); - hidePushButton(PB_INST_EXT_MIDI_BEND_UP); - - editor.ui.instEditorExtShown = false; - editor.ui.scopesShown = true; - drawScopeFramework(); -} - -void toggleInstEditorExt(void) -{ - if (editor.ui.instEditorExtShown) - hideInstEditorExt(); - else - showInstEditorExt(); -} - -static bool testInstrSwitcherNormal(void) // Welcome to the Jungle -{ - uint8_t newEntry; - - if (mouse.x < 424 || mouse.x > 585) - return false; - - if (mouse.y >= 5 && mouse.y <= 91) - { - // instruments - if (mouse.x >= 446 && mouse.x <= 584) - { - mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; - - if ((mouse.y-5) % 11 == 10) - return true; // we clicked on the one-pixel spacer - - // destination instrument - newEntry = (editor.instrBankOffset + 1) + (uint8_t)((mouse.y - 5) / 11); - if (editor.curInstr != newEntry) - { - editor.curInstr = newEntry; - updateTextBoxPointers(); - updateNewInstrument(); - } - - return true; - } - else if (mouse.x >= 424 && mouse.x <= 438) - { - mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; - - if ((mouse.y-5) % 11 == 10) - return true; // we clicked on the one-pixel spacer - - // source isntrument - newEntry = (editor.instrBankOffset + 1) + (uint8_t)((mouse.y - 5) / 11); - if (editor.srcInstr != newEntry) - { - editor.srcInstr = newEntry; - updateInstrumentSwitcher(); - - if (editor.ui.advEditShown) - updateAdvEdit(); - } - - return true; - } - } - else if (mouse.y >= 99 && mouse.y <= 152) - { - // samples - if (mouse.x >= 446 && mouse.x <= 560) - { - mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; - - if ((mouse.y-99) % 11 == 10) - return true; // we clicked on the one-pixel spacer - - // destionation sample - newEntry = editor.sampleBankOffset + (uint8_t)((mouse.y - 99) / 11); - if (editor.curSmp != newEntry) - { - editor.curSmp = newEntry; - updateInstrumentSwitcher(); - updateSampleEditorSample(); - - if (editor.ui.sampleEditorShown) updateSampleEditor(); - else if (editor.ui.instEditorShown) updateInstEditor(); - } - - return true; - } - else if (mouse.x >= 423 && mouse.x <= 438) - { - mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; - - if ((mouse.y-99) % 11 == 10) - return true; // we clicked on the one-pixel spacer - - // source sample - newEntry = editor.sampleBankOffset + (uint8_t)((mouse.y - 99) / 11); - if (editor.srcSmp != newEntry) - { - editor.srcSmp = newEntry; - updateInstrumentSwitcher(); - } - - return true; - } - } - - return false; -} - -static bool testInstrSwitcherExtended(void) // Welcome to the Jungle 2 - The Happening -{ - uint8_t newEntry; - - if (mouse.y < 5 || mouse.y > 47) - return false; - - if (mouse.x >= 511) - { - // right columns - if (mouse.x <= 525) - { - mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; - - if ((mouse.y-5) % 11 == 10) - return true; // we clicked on the one-pixel spacer - - // source instrument - newEntry = (editor.instrBankOffset + 5) + (uint8_t)((mouse.y - 5) / 11); - if (editor.srcInstr != newEntry) - { - editor.srcInstr = newEntry; - updateInstrumentSwitcher(); - - if (editor.ui.advEditShown) - updateAdvEdit(); - } - - return true; - } - else if (mouse.x >= 529 && mouse.x <= 626) - { - mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; - - if ((mouse.y-5) % 11 == 10) - return true; // we clicked on the one-pixel spacer - - // destination instrument - newEntry = (editor.instrBankOffset + 5) + (uint8_t)((mouse.y - 5) / 11); - if (editor.curInstr != newEntry) - { - editor.curInstr = newEntry; - updateTextBoxPointers(); - updateNewInstrument(); - } - - return true; - } - } - else if (mouse.x >= 388) - { - // left columns - if (mouse.x <= 402) - { - mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; - - if ((mouse.y-5) % 11 == 10) - return true; // we clicked on the one-pixel spacer - - // source instrument - newEntry = (editor.instrBankOffset + 1) + (uint8_t)((mouse.y - 5) / 11); - if (editor.srcInstr != newEntry) - { - editor.srcInstr = newEntry; - updateInstrumentSwitcher(); - - if (editor.ui.advEditShown) - updateAdvEdit(); - } - - return true; - } - else if (mouse.x >= 406 && mouse.x <= 503) - { - mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; - - if ((mouse.y-5) % 11 == 10) - return true; // we clicked on the one-pixel spacer - - // destination instrument - newEntry = (editor.instrBankOffset + 1) + (uint8_t)((mouse.y - 5) / 11); - if (editor.curInstr != newEntry) - { - editor.curInstr = newEntry; - updateTextBoxPointers(); - updateNewInstrument(); - } - - return true; - } - } - - return false; -} - -bool testInstrSwitcherMouseDown(void) -{ - if (!editor.ui.instrSwitcherShown) - return false; - - if (editor.ui.extended) - return testInstrSwitcherExtended(); - else - return testInstrSwitcherNormal(); -} - -static int32_t SDLCALL saveInstrThread(void *ptr) -{ - int16_t n; - size_t result; - FILE *f; - instrXIHeaderTyp ih; - sampleTyp *srcSmp; - sampleHeaderTyp *dstSmpHdr; - - (void)ptr; - - if (editor.tmpFilenameU == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during saving! Is the file in use?"); - return false; - } - - n = getUsedSamples(saveInstrNr); - if (n == 0) - { - okBoxThreadSafe(0, "System message", "Instrument is empty!"); - return false; - } - - f = UNICHAR_FOPEN(editor.tmpFilenameU, "wb"); - if (f == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during saving! Is the file in use?"); - return false; - } - - memset(&ih, 0, sizeof (ih)); - memcpy(ih.sig, "Extended Instrument: ", 21); - memset(ih.name, ' ', 22); - memcpy(ih.name, song.instrName[saveInstrNr], strlen(song.instrName[saveInstrNr])); - ih.name[22] = 0x1A; - memcpy(ih.progName, PROG_NAME_STR, 20); - ih.ver = 0x0102; - - memcpy(ih.ta, &instr[saveInstrNr], INSTR_SIZE); - ih.antSamp = n; - - for (int16_t i = 0; i < n; i++) - { - srcSmp = &instr[saveInstrNr]->samp[i]; - dstSmpHdr = &ih.samp[i]; - - memcpy(&dstSmpHdr->len, &srcSmp->len, 12+4+2 + strlen(srcSmp->name)); - if (srcSmp->pek == NULL) - dstSmpHdr->len = 0; - } - - result = fwrite(&ih, INSTR_XI_HEADER_SIZE + (ih.antSamp * sizeof (sampleHeaderTyp)), 1, f); - if (result != 1) - { - fclose(f); - okBoxThreadSafe(0, "System message", "Error saving instrument: general I/O error!"); - return false; - } - - pauseAudio(); - for (int16_t i = 0; i < n; i++) - { - srcSmp = &instr[saveInstrNr]->samp[i]; - if (srcSmp->pek != NULL) - { - restoreSample(srcSmp); - samp2Delta(srcSmp->pek, srcSmp->len, srcSmp->typ); - - result = fwrite(srcSmp->pek, 1, srcSmp->len, f); - - delta2Samp(srcSmp->pek, srcSmp->len, srcSmp->typ); - fixSample(srcSmp); - - if (result != (size_t)srcSmp->len) // write not OK - { - resumeAudio(); - fclose(f); - okBoxThreadSafe(0, "System message", "Error saving instrument: general I/O error!"); - return false; - } - } - } - resumeAudio(); - - fclose(f); - - editor.diskOpReadDir = true; // force diskop re-read - - setMouseBusy(false); - return true; -} - -void saveInstr(UNICHAR *filenameU, int16_t nr) -{ - if (nr == 0) - return; - - saveInstrNr = nr; - UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); - - mouseAnimOn(); - thread = SDL_CreateThread(saveInstrThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -static int16_t getPATNote(int32_t freq) -{ - double dFreq; - - dFreq = ((log(freq / (440.0 * 1000.0)) / M_LN2) * 12.0) + 48.0 + 9.0; - return (int16_t)round(dFreq); -} - -static int32_t SDLCALL loadInstrThread(void *ptr) -{ - bool stereoWarning; - int8_t *newPtr; - int16_t a, b; - double dFreq; - FILE *f; - instrXIHeaderTyp ih; - instrPATHeaderTyp ih_PAT; - instrPATWaveHeaderTyp ih_PATWave; - sampleTyp *s; - instrTyp *ins; - - (void)ptr; - - stereoWarning = false; - - if (editor.tmpInstrFilenameU == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - return false; - } - - f = UNICHAR_FOPEN(editor.tmpInstrFilenameU, "rb"); - if (f == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - return false; - } - - memset(&ih, 0, sizeof (ih)); - - fread(&ih, INSTR_XI_HEADER_SIZE, 1, f); - if (!strncmp(ih.sig, "Extended Instrument: ", 21)) - { - // XI - Extended Instrument - - if (ih.ver != 0x0101 && ih.ver != 0x0102) - { - okBoxThreadSafe(0, "System message", "Incompatible format version!"); - goto loadDone; - } - - if (ih.ver == 0x0101) - { - fseek(f, -2 - 15 - 1 - 2, SEEK_CUR); - ih.antSamp = ih.midiProgram; - memset(&ih.midiProgram, 0, 2+15+1+2); - } - - if (ih.antSamp > 16) - { - okBoxThreadSafe(0, "System message", "Incompatible instrument!"); - goto loadDone; - } - - memcpy(song.instrName[editor.curInstr], ih.name, 22); - song.instrName[editor.curInstr][22] = '\0'; - - pauseAudio(); - - freeInstr(editor.curInstr); - - if (ih.antSamp > 0) - { - if (!allocateInstr(editor.curInstr)) - { - resumeAudio(); - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto loadDone; - } - - // sanitize stuff for malicious instruments - ih.midiProgram = CLAMP(ih.midiProgram, 0, 127); - ih.midiBend = CLAMP(ih.midiBend, 0, 36); - - if (ih.midiChannel > 15) ih.midiChannel = 15; - if (ih.mute != 1) ih.mute = 0; - if (ih.midiOn!= 1) ih.midiOn = 0; - if (ih.vibDepth > 0x0F) ih.vibDepth = 0x0F; - if (ih.vibRate > 0x3F) ih.vibRate = 0x3F; - if (ih.vibTyp > 3) ih.vibTyp = 0; - - for (int16_t i = 0; i < 96; i++) - { - if (ih.ta[i] > 15) - ih.ta[i] = 15; - } - - if (ih.envVPAnt > 12) ih.envVPAnt = 12; - if (ih.envVRepS > 11) ih.envVRepS = 11; - if (ih.envVRepE > 11) ih.envVRepE = 11; - if (ih.envVSust > 11) ih.envVSust = 11; - if (ih.envPPAnt > 12) ih.envPPAnt = 12; - if (ih.envPRepS > 11) ih.envPRepS = 11; - if (ih.envPRepE > 11) ih.envPRepE = 11; - if (ih.envPSust > 11) ih.envPSust = 11; - // ---------------------------------------- - - memcpy(instr[editor.curInstr]->ta, ih.ta, INSTR_SIZE); - - if (fread(ih.samp, sizeof (sampleHeaderTyp) * ih.antSamp, 1, f) != 1) - { - freeInstr(editor.curInstr); - resumeAudio(); - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto loadDone; - } - - for (int16_t i = 0; i < ih.antSamp; i++) - memcpy(&instr[editor.curInstr]->samp[i], &ih.samp[i], 12 + 4 + 24); - } - - for (int16_t i = 0; i < ih.antSamp; i++) - { - s = &instr[editor.curInstr]->samp[i]; - - // sanitize stuff for malicious modules - if (s->vol > 64) - s->vol = 64; - - s->relTon = CLAMP(s->relTon, -48, 71); - - // if a sample has both forward loop and pingpong loop set, make it pingpong loop only (FT2 behavior) - if ((s->typ & 3) == 3) - s->typ = 2; - - if (s->len > 0) - { - s->pek = (int8_t *)malloc(s->len + LOOP_FIX_LEN); - if (s->pek == NULL) - { - freeInstr(editor.curInstr); - resumeAudio(); - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto loadDone; - } - - if (fread(s->pek, s->len, 1, f) != 1) - { - freeInstr(editor.curInstr); - resumeAudio(); - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto loadDone; - } - - delta2Samp(s->pek, s->len, s->typ); // stereo samples are handled here - - // check if it was a stereo sample - if (s->typ & 32) - { - s->typ &= ~32; - - s->len /= 2; - s->repL /= 2; - s->repS /= 2; - - newPtr = (int8_t *)realloc(s->pek, s->len + LOOP_FIX_LEN); - if (newPtr != NULL) - s->pek = newPtr; - - stereoWarning = true; - } - - fixSample(s); - } - } - - resumeAudio(); - } - else - { - rewind(f); - - fread(&ih_PAT, 1, sizeof (instrPATHeaderTyp), f); - if (!memcmp(ih_PAT.id, "GF1PATCH110\0ID#000002\0", 22)) - { - // PAT - Gravis Ultrasound GF1 patch - - if (ih_PAT.layers > 1 || ih_PAT.antSamp > 16 || ih_PAT.antSamp == 0) - { - okBoxThreadSafe(0, "System message", "Incompatible instrument!"); - goto loadDone; - } - - pauseAudio(); - freeInstr(editor.curInstr); - - if (!allocateInstr(editor.curInstr)) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto loadDone; - } - - memset(song.instrName[editor.curInstr], 0, 22 + 1); - memcpy(song.instrName[editor.curInstr], ih_PAT.instrName, 16); - - for (int16_t i = 0; i < ih_PAT.antSamp; i++) - { - s = &instr[editor.curInstr]->samp[i]; - ins = instr[editor.curInstr]; - - if (fread(&ih_PATWave, 1, sizeof (ih_PATWave), f) != sizeof (ih_PATWave)) - { - freeInstr(editor.curInstr); - resumeAudio(); - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto loadDone; - } - - s->pek = (int8_t *)malloc(ih_PATWave.waveSize + LOOP_FIX_LEN); - if (s->pek == NULL) - { - freeInstr(editor.curInstr); - resumeAudio(); - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto loadDone; - } - - if (i == 0) - { - ins->vibSweep = ih_PATWave.vibSweep; - ins->vibRate = ih_PATWave.vibRate / 2; if (ins->vibRate > 0x3F) ins->vibRate = 0x3F; - ins->vibDepth = ih_PATWave.vibDepth / 2; if (ins->vibDepth > 0x0F) ins->vibDepth = 0x0F; - } - - s = &instr[editor.curInstr]->samp[i]; - - memcpy(s->name, ih_PATWave.name, 7); - - s->typ = (ih_PATWave.mode & 1) << 4; // 16-bit flag - if (ih_PATWave.mode & 4) // loop enabled? - { - if (ih_PATWave.mode & 8) - s->typ |= 2; // pingpong loop - else - s->typ |= 1; // forward loop - } - - s->pan = (ih_PATWave.pan == 8) ? 128 : (ih_PATWave.pan * 17); // FT2 does <<4 here, I don't like that! - s->len = ih_PATWave.waveSize; - - s->repS = ih_PATWave.repS; - if (s->repS > s->len) - s->repS = 0; - - s->repL = ih_PATWave.repE - ih_PATWave.repS; - - if (s->typ & 16) - { - s->len &= 0xFFFFFFFE; - s->repS &= 0xFFFFFFFE; - s->repL &= 0xFFFFFFFE; - } - - if (s->repL < 0) - s->repL = 0; - - if (s->repS+s->repL > s->len) - s->repL = s->len - s->repS; - - dFreq = round((1.0 + ih_PATWave.fineTune / 512.0) * ih_PATWave.sampleRate); - tuneSample(s, (int32_t)dFreq); - - s->relTon -= (int8_t)(getPATNote(ih_PATWave.rootFrq) - (12 * 3)); - s->relTon = CLAMP(s->relTon, -48, 71); - - a = getPATNote(ih_PATWave.lowFrq); a = CLAMP(a, 0, 95); - b = getPATNote(ih_PATWave.highFreq); b = CLAMP(b, 0, 95); - - for (int16_t j = a; j <= b; j++) - ins->ta[j] = (uint8_t)i; - - if (fread(s->pek, ih_PATWave.waveSize, 1, f) != 1) - { - freeInstr(editor.curInstr); - resumeAudio(); - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto loadDone; - } - - if (ih_PATWave.mode & 2) - { - if (s->typ & 16) - conv16BitSample(s->pek, s->len, false); - else - conv8BitSample(s->pek, s->len, false); - } - - fixSample(s); - } - - resumeAudio(); - } - } - -loadDone: - fclose(f); - - fixSampleName(editor.curInstr); - editor.updateCurInstr = true; // setMouseBusy(false) is called in the input/video thread when done - - if (stereoWarning) - okBoxThreadSafe(0, "System message", "The instrument contains stereo samples! They were mixed to mono."); - - return true; -} - -static bool fileIsInstr(UNICHAR *filename) -{ - char header[22]; - FILE *f; - - f = UNICHAR_FOPEN(filename, "rb"); - if (f == NULL) - return false; - - fread(header, 1, sizeof (header), f); - fclose(f); - - if (!strncmp(header, "Extended Instrument: ", 21) || !memcmp(header, "GF1PATCH110\0ID#000002\0", 22)) - return true; - - return false; -} - -void loadInstr(UNICHAR *filenameU) -{ - if (editor.curInstr == 0) - { - okBox(0, "System message", "The zero-instrument cannot hold intrument data."); - return; - } - - UNICHAR_STRCPY(editor.tmpInstrFilenameU, filenameU); - - if (fileIsInstr(filenameU)) - { - // load as instrument - mouseAnimOn(); - thread = SDL_CreateThread(loadInstrThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); - } - else - { - // load as sample into sample slot #0 (and clear instrument) - loadSample(editor.tmpInstrFilenameU, 0, true); - } -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include +#include +#include "ft2_header.h" +#include "ft2_config.h" +#include "ft2_audio.h" +#include "ft2_pattern_ed.h" +#include "ft2_gui.h" +#include "ft2_scopes.h" +#include "ft2_sample_ed.h" +#include "ft2_gfxdata.h" +#include "ft2_mouse.h" +#include "ft2_video.h" +#include "ft2_sample_loader.h" +#include "ft2_diskop.h" +#include "ft2_module_loader.h" + +#ifdef _MSC_VER +#pragma pack(push) +#pragma pack(1) +#endif +typedef struct instrPATHeaderTyp_t +{ + char id[22], copyright[60]; + uint8_t antInstr, activeVoices, antChannels; + int16_t waveForms, masterVol; + int32_t dataSize; + char reserved1[36]; + int16_t instrNr; + char instrName[16]; + int32_t instrSize; + uint8_t layers; + char reserved2[40]; + uint8_t layerDuplicate, layerByte; + int32_t layerSize; + uint8_t antSamp; + char reserved3[40]; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +instrPATHeaderTyp; + +typedef struct instrPATWaveHeaderTyp_t +{ + char name[7]; + uint8_t fractions; + int32_t waveSize, repS, repE; + uint16_t sampleRate; + int32_t lowFrq, highFreq, rootFrq; + int16_t fineTune; + uint8_t pan, envRate[6], envOfs[6], tremSweep, tremRate; + uint8_t tremDepth, vibSweep, vibRate, vibDepth, mode; + int16_t scaleFrq; + uint16_t scaleFactor; + char reserved[36]; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +instrPATWaveHeaderTyp; + +typedef struct instrXIHeaderTyp_t +{ + char sig[21], name[23], progName[20]; + uint16_t ver; + uint8_t ta[96]; + int16_t envVP[12][2], envPP[12][2]; + uint8_t envVPAnt, envPPAnt, envVSust, envVRepS, envVRepE, envPSust, envPRepS; + uint8_t envPRepE, envVTyp, envPTyp, vibTyp, vibSweep, vibDepth, vibRate; + uint16_t fadeOut; + uint8_t midiOn, midiChannel; + int16_t midiProgram, midiBend; + uint8_t mute, reserved[15]; + int16_t antSamp; + sampleHeaderTyp samp[16]; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +instrXIHeaderTyp; + +#define PIANOKEY_WHITE_W 10 +#define PIANOKEY_WHITE_H 46 +#define PIANOKEY_BLACK_W 7 +#define PIANOKEY_BLACK_H 29 + +static const bool keyIsBlackTab[12] = { false, true, false, true, false, false, true, false, true, false, true }; +static const char sharpNote1Char[12] = { 'C', 'C', 'D', 'D', 'E', 'F', 'F', 'G', 'G', 'A', 'A', 'B' }; +static const char sharpNote2Char[12] = { '-', '#', '-', '#', '-', '-', '#', '-', '#', '-', '#', '-' }; +static const char flatNote1Char[12] = { 'C', 'D', 'D', 'E', 'E', 'F', 'G', 'G', 'A', 'A', 'B', 'B' }; +static const char flatNote2Char[12] = { '-', 'b', '-', 'b', '-', '-', 'b', '-', 'b', '-', 'b', '-' }; +static const uint8_t whiteKeyIndex[7] = { 0, 2, 4, 5, 7, 9, 11 }; +static const uint16_t whiteKeysBmpOrder[12] = { 0, 0, 506, 0, 1012, 0, 0, 506, 0, 506, 0, 1012 }; +static const uint8_t keyDigitXPos[12] = { 11, 16, 22, 27, 33, 44, 49, 55, 60, 66, 71, 77 }; +static const uint8_t keyXPos[12] = { 8, 15, 19, 26, 30, 41, 48, 52, 59, 63, 70, 74 }; +static volatile bool updateVolEnv, updatePanEnv; +static bool pianoKeyStatus[96]; +static int32_t lastMouseX, lastMouseY, saveMouseX, saveMouseY; + +// thread data +static uint16_t saveInstrNr; +static SDL_Thread *thread; + +extern const int16_t *note2Period; // ft2_replayer.c + +void updateInstEditor(void); +void updateNewInstrument(void); + +static instrTyp *getCurDispInstr(void) +{ + if (instr[editor.curInstr] == NULL) + return instr[131]; + + return instr[editor.curInstr]; +} + +static int32_t SDLCALL copyInstrThread(void *ptr) +{ + bool error; + int8_t *p; + int16_t destIns, sourceIns; + sampleTyp *src, *dst; + (void)ptr; + + error = false; + + destIns = editor.curInstr; + sourceIns = editor.srcInstr; + + pauseAudio(); + + freeInstr(destIns); + + if (instr[sourceIns] != NULL) + { + if (allocateInstr(destIns)) + { + memcpy(instr[destIns], instr[sourceIns], sizeof (instrTyp)); + + for (int16_t i = 0; i < MAX_SMP_PER_INST; i++) + { + src = &instr[sourceIns]->samp[i]; + dst = &instr[destIns]->samp[i]; + + dst->origPek = NULL; + dst->pek = NULL; + + if (src->origPek != NULL) + { + p = (int8_t *)malloc(src->len + LOOP_FIX_LEN); + if (p != NULL) + { + dst->origPek = p; + dst->pek = dst->origPek + SMP_DAT_OFFSET; + + memcpy(dst->origPek, src->origPek, src->len + LOOP_FIX_LEN); + } + else error = true; + } + } + } + else error = true; + } + + resumeAudio(); + + if (error) + okBoxThreadSafe(0, "System message", "Not enough memory!"); + + // do not change instrument names! + + editor.updateCurInstr = true; + setSongModifiedFlag(); + setMouseBusy(false); + + return false; +} + +void copyInstr(void) // dstInstr = srcInstr +{ + if (editor.curInstr == 0 || editor.srcInstr == editor.curInstr) + return; + + mouseAnimOn(); + thread = SDL_CreateThread(copyInstrThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +void xchgInstr(void) // dstInstr <-> srcInstr +{ + instrTyp *dst, *src, dstTmp; + + if (editor.curInstr == 0 || editor.srcInstr == editor.curInstr) + return; + + lockMixerCallback(); + + src = instr[editor.srcInstr]; + dst = instr[editor.curInstr]; + + // swap instruments + dstTmp = *dst; + *dst = *src; + *src = dstTmp; + + unlockMixerCallback(); + + // do not change instrument names! + + updateNewInstrument(); + setSongModifiedFlag(); +} + +static void drawMIDICh(void) +{ + char str[8]; + instrTyp *ins = getCurDispInstr(); + + assert(ins->midiChannel <= 15); + uint8_t disp = ins->midiChannel + 1; + sprintf(str, "%02d", disp); + textOutFixed(156, 132, PAL_FORGRND, PAL_DESKTOP, str); +} + +static void drawMIDIPrg(void) +{ + char str[8]; + instrTyp *ins = getCurDispInstr(); + + assert(ins->midiProgram <= 127); + sprintf(str, "%03d", ins->midiProgram); + textOutFixed(149, 146, PAL_FORGRND, PAL_DESKTOP, str); +} + +static void drawMIDIBend(void) +{ + char str[8]; + instrTyp *ins = getCurDispInstr(); + + assert(ins->midiBend <= 36); + sprintf(str, "%02d", ins->midiBend); + textOutFixed(156, 160, PAL_FORGRND, PAL_DESKTOP, str); +} + +void midiChDown(void) +{ + scrollBarScrollLeft(SB_INST_EXT_MIDI_CH, 1); +} + +void midiChUp(void) +{ + scrollBarScrollRight(SB_INST_EXT_MIDI_CH, 1); +} + +void midiPrgDown(void) +{ + scrollBarScrollLeft(SB_INST_EXT_MIDI_PRG, 1); +} + +void midiPrgUp(void) +{ + scrollBarScrollRight(SB_INST_EXT_MIDI_PRG, 1); +} + +void midiBendDown(void) +{ + scrollBarScrollLeft(SB_INST_EXT_MIDI_BEND, 1); +} + +void midiBendUp(void) +{ + scrollBarScrollRight(SB_INST_EXT_MIDI_BEND, 1); +} + +void sbMidiChPos(uint32_t pos) +{ + instrTyp *ins = instr[editor.curInstr]; + + if (ins == NULL || editor.curInstr == 0) + { + setScrollBarPos(SB_INST_EXT_MIDI_CH, 0, false); + return; + } + + if (ins->midiChannel != (uint8_t)pos) + { + ins->midiChannel = (uint8_t)pos; + drawMIDICh(); + setSongModifiedFlag(); + } +} + +void sbMidiPrgPos(uint32_t pos) +{ + instrTyp *ins = instr[editor.curInstr]; + + if (ins == NULL || editor.curInstr == 0) + { + setScrollBarPos(SB_INST_EXT_MIDI_PRG, 0, false); + return; + } + + if (ins->midiProgram != (int16_t)pos) + { + ins->midiProgram = (int16_t)pos; + drawMIDIPrg(); + setSongModifiedFlag(); + } +} + +void sbMidiBendPos(uint32_t pos) +{ + instrTyp *ins = instr[editor.curInstr]; + + if (ins == NULL || editor.curInstr == 0) + { + setScrollBarPos(SB_INST_EXT_MIDI_BEND, 0, false); + return; + } + + if (ins->midiBend != (int16_t)pos) + { + ins->midiBend = (int16_t)pos; + drawMIDIBend(); + setSongModifiedFlag(); + } +} + +void updateNewSample(void) +{ + if (editor.ui.instrSwitcherShown) + updateInstrumentSwitcher(); + + updateSampleEditorSample(); + + if (editor.ui.sampleEditorShown) + updateSampleEditor(); + + if (editor.ui.instEditorShown || editor.ui.instEditorExtShown) + updateInstEditor(); +} + +void updateNewInstrument(void) +{ + updateTextBoxPointers(); + + if (editor.ui.instrSwitcherShown) + updateInstrumentSwitcher(); + + editor.currVolEnvPoint = 0; + editor.currPanEnvPoint = 0; + + updateSampleEditorSample(); + + if (editor.ui.sampleEditorShown) + updateSampleEditor(); + + if (editor.ui.instEditorShown || editor.ui.instEditorExtShown) + updateInstEditor(); + + if (editor.ui.advEditShown) + updateAdvEdit(); +} + +static void drawVolEnvSus(void) +{ + char str[8]; + instrTyp *ins = getCurDispInstr(); + + sprintf(str, "%02d", ins->envVSust); + textOutFixed(382, 206, PAL_FORGRND, PAL_DESKTOP, str); +} + +static void drawVolEnvRepS(void) +{ + char str[8]; + instrTyp *ins = getCurDispInstr(); + + sprintf(str, "%02d", ins->envVRepS); + textOutFixed(382, 234, PAL_FORGRND, PAL_DESKTOP, str); +} + +static void drawVolEnvRepE(void) +{ + char str[8]; + instrTyp *ins = getCurDispInstr(); + + sprintf(str, "%02d", ins->envVRepE); + textOutFixed(382, 247, PAL_FORGRND, PAL_DESKTOP, str); +} + +static void drawPanEnvSus(void) +{ + char str[8]; + instrTyp *ins = getCurDispInstr(); + + sprintf(str, "%02d", ins->envPSust); + textOutFixed(382, 294, PAL_FORGRND, PAL_DESKTOP, str); +} + +static void drawPanEnvRepS(void) +{ + char str[8]; + instrTyp *ins = getCurDispInstr(); + + sprintf(str, "%02d", ins->envPRepS); + textOutFixed(382, 321, PAL_FORGRND, PAL_DESKTOP, str); +} + +static void drawPanEnvRepE(void) +{ + char str[8]; + instrTyp *ins = getCurDispInstr(); + + sprintf(str, "%02d", ins->envPRepE); + textOutFixed(382, 335, PAL_FORGRND, PAL_DESKTOP, str); +} + +static void drawVolume(void) +{ + sampleTyp *s; + + if (instr[editor.curInstr] == NULL) + s = &instr[0]->samp[0]; + else + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + hexOutBg(505, 178, PAL_FORGRND, PAL_DESKTOP, s->vol, 2); +} + +static void drawPanning(void) +{ + sampleTyp *s; + + if (instr[editor.curInstr] == NULL) + s = &instr[0]->samp[0]; + else + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + hexOutBg(505, 192, PAL_FORGRND, PAL_DESKTOP, s->pan, 2); +} + +static void drawFineTune(void) +{ + char sign; + int16_t ftune; + sampleTyp *s; + + if (instr[editor.curInstr] == NULL) + s = &instr[0]->samp[0]; + else + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + fillRect(491, 205, 27, 8, PAL_DESKTOP); + + ftune = s->fine; + if (ftune == 0) + { + charOut(512, 205, PAL_FORGRND, '0'); + return; + } + + sign = (ftune < 0) ? '-' : '+'; + + ftune = ABS(ftune); + if (ftune >= 100) + { + charOut(491, 205, PAL_FORGRND, sign); + charOut(498 + (0 * 7), 205, PAL_FORGRND, '0' + ((ftune / 100) % 10)); + charOut(498 + (1 * 7), 205, PAL_FORGRND, '0' + ((ftune / 10) % 10)); + charOut(498 + (2 * 7), 205, PAL_FORGRND, '0' + (ftune % 10)); + } + else if (ftune >= 10) + { + charOut(498, 205, PAL_FORGRND, sign); + charOut(505 + (0 * 7), 205, PAL_FORGRND, '0' + ((ftune / 10) % 10)); + charOut(505 + (1 * 7), 205, PAL_FORGRND, '0' + (ftune % 10)); + } + else + { + charOut(505, 205, PAL_FORGRND, sign); + charOut(512, 205, PAL_FORGRND, '0' + (ftune % 10)); + } +} + +static void drawFadeout(void) +{ + hexOutBg(498, 222, PAL_FORGRND, PAL_DESKTOP, getCurDispInstr()->fadeOut, 3); +} + +static void drawVibSpeed(void) +{ + hexOutBg(505, 236, PAL_FORGRND, PAL_DESKTOP, getCurDispInstr()->vibRate, 2); +} + +static void drawVibDepth(void) +{ + hexOutBg(512, 250, PAL_FORGRND, PAL_DESKTOP, getCurDispInstr()->vibDepth, 1); +} + +static void drawVibSweep(void) +{ + hexOutBg(505, 264, PAL_FORGRND, PAL_DESKTOP, getCurDispInstr()->vibSweep, 2); +} + +static void drawRelTone(void) +{ + char noteChar1, noteChar2, octaChar; + int8_t note2, note; + + if (instr[editor.curInstr] == NULL) + { + fillRect(598, 299, 8*3, 8, PAL_BCKGRND); + return; + } + + if (editor.curInstr == 0) + note2 = 48; + else + note2 = 48 + instr[editor.curInstr]->samp[editor.curSmp].relTon; + + note = note2 % 12; + if (config.ptnAcc == 0) + { + noteChar1 = sharpNote1Char[note]; + noteChar2 = sharpNote2Char[note]; + } + else + { + noteChar1 = flatNote1Char[note]; + noteChar2 = flatNote2Char[note]; + } + + octaChar = '0' + (note2 / 12); + + charOutBg(598, 299, PAL_FORGRND, PAL_BCKGRND, noteChar1); + charOutBg(606, 299, PAL_FORGRND, PAL_BCKGRND, noteChar2); + charOutBg(614, 299, PAL_FORGRND, PAL_BCKGRND, octaChar); +} + +static void setStdVolEnvelope(instrTyp *ins, uint8_t num) +{ + if (editor.curInstr == 0) + return; + + pauseMusic(); + + ins->fadeOut = config.stdFadeOut[num]; + ins->envVSust = (uint8_t)config.stdVolEnvSust[num]; + ins->envVRepS = (uint8_t)config.stdVolEnvRepS[num]; + ins->envVRepE = (uint8_t)config.stdVolEnvRepE[num]; + ins->envVPAnt = (uint8_t)config.stdVolEnvAnt[num]; + ins->envVTyp = (uint8_t)config.stdVolEnvTyp[num]; + ins->vibRate = (uint8_t)config.stdVibRate[num]; + ins->vibDepth = (uint8_t)config.stdVibDepth[num]; + ins->vibSweep = (uint8_t)config.stdVibSweep[num]; + ins->vibTyp = (uint8_t)config.stdVibTyp[num]; + + memcpy(ins->envVP, config.stdEnvP[num][0], sizeof (int16_t) * 12 * 2); + + resumeMusic(); +} + +static void setStdPanEnvelope(instrTyp *ins, uint8_t num) +{ + if (editor.curInstr == 0) + return; + + pauseMusic(); + + ins->envPPAnt = (uint8_t)config.stdPanEnvAnt[num]; + ins->envPSust = (uint8_t)config.stdPanEnvSust[num]; + ins->envPRepS = (uint8_t)config.stdPanEnvRepS[num]; + ins->envPRepE = (uint8_t)config.stdPanEnvRepE[num]; + ins->envPTyp = (uint8_t)config.stdPanEnvTyp[num]; + + memcpy(ins->envPP, config.stdEnvP[num][1], sizeof (int16_t) * 12 * 2); + + resumeMusic(); +} + +static void setOrStoreVolEnvPreset(uint8_t num) +{ + instrTyp *ins = instr[editor.curInstr]; + + if (ins == NULL || editor.curInstr == 0) + return; + + if (mouse.rightButtonReleased) + { + // store preset + config.stdFadeOut[num] = ins->fadeOut; + config.stdVolEnvSust[num] = ins->envVSust; + config.stdVolEnvRepS[num] = ins->envVRepS; + config.stdVolEnvRepE[num] = ins->envVRepE; + config.stdVolEnvAnt[num] = ins->envVPAnt; + config.stdVolEnvTyp[num] = ins->envVTyp; + config.stdVibRate[num] = ins->vibRate; + config.stdVibDepth[num] = ins->vibDepth; + config.stdVibSweep[num] = ins->vibSweep; + config.stdVibTyp[num] = ins->vibTyp; + + memcpy(config.stdEnvP[num][0], ins->envVP, sizeof (int16_t) * 12 * 2); + } + else if (mouse.leftButtonReleased) + { + // read preset + setStdVolEnvelope(ins, num); + editor.currVolEnvPoint = 0; + updateInstEditor(); + setSongModifiedFlag(); + } +} + +static void setOrStorePanEnvPreset(uint8_t num) +{ + instrTyp *ins = instr[editor.curInstr]; + + if (ins == NULL || editor.curInstr == 0) + return; + + if (mouse.rightButtonReleased) + { + // store preset + config.stdFadeOut[num] = ins->fadeOut; + config.stdPanEnvSust[num] = ins->envPSust; + config.stdPanEnvRepS[num] = ins->envPRepS; + config.stdPanEnvRepE[num] = ins->envPRepE; + config.stdPanEnvAnt[num] = ins->envPPAnt; + config.stdPanEnvTyp[num] = ins->envPTyp; + config.stdVibRate[num] = ins->vibRate; + config.stdVibDepth[num] = ins->vibDepth; + config.stdVibSweep[num] = ins->vibSweep; + config.stdVibTyp[num] = ins->vibTyp; + + memcpy(config.stdEnvP[num][1], ins->envPP, sizeof (int16_t) * 12 * 2); + } + else if (mouse.leftButtonReleased) + { + // read preset + setStdPanEnvelope(ins, num); + editor.currPanEnvPoint = 0; + updateInstEditor(); + setSongModifiedFlag(); + } +} + +void volPreDef1(void) +{ + if (editor.curInstr > 0) + setOrStoreVolEnvPreset(1 - 1); +} + +void volPreDef2(void) +{ + if (editor.curInstr > 0) + setOrStoreVolEnvPreset(2 - 1); +} + +void volPreDef3(void) +{ + if (editor.curInstr > 0) + setOrStoreVolEnvPreset(3 - 1); +} + +void volPreDef4(void) +{ + if (editor.curInstr > 0) + setOrStoreVolEnvPreset(4 - 1); +} + +void volPreDef5(void) +{ + if (editor.curInstr > 0) + setOrStoreVolEnvPreset(5 - 1); +} + +void volPreDef6(void) +{ + if (editor.curInstr > 0) + setOrStoreVolEnvPreset(6 - 1); +} + +void panPreDef1(void) +{ + if (editor.curInstr > 0) + setOrStorePanEnvPreset(1 - 1); +} + +void panPreDef2(void) +{ + if (editor.curInstr > 0) + setOrStorePanEnvPreset(2 - 1); +} + +void panPreDef3(void) +{ + if (editor.curInstr > 0) + setOrStorePanEnvPreset(3 - 1); +} + +void panPreDef4(void) +{ + if (editor.curInstr > 0) + setOrStorePanEnvPreset(4 - 1); +} + +void panPreDef5(void) +{ + if (editor.curInstr > 0) + setOrStorePanEnvPreset(5 - 1); +} + +void panPreDef6(void) +{ + if (editor.curInstr > 0) + setOrStorePanEnvPreset(6 - 1); +} + +void relToneOctUp(void) +{ + sampleTyp *s; + + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + return; + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + if (s->relTon <= 71-12) + s->relTon += 12; + else + s->relTon = 71; + + drawRelTone(); + setSongModifiedFlag(); +} + +void relToneOctDown(void) +{ + sampleTyp *s; + + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + return; + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + if (s->relTon >= -48+12) + s->relTon -= 12; + else + s->relTon = -48; + + drawRelTone(); + setSongModifiedFlag(); +} + +void relToneUp(void) +{ + sampleTyp *s; + + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + return; + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + if (s->relTon < 71) + { + s->relTon++; + drawRelTone(); + setSongModifiedFlag(); + } +} + +void relToneDown(void) +{ + sampleTyp *s; + + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + return; + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + if (s->relTon > -48) + { + s->relTon--; + drawRelTone(); + setSongModifiedFlag(); + } +} + +void volEnvAdd(void) +{ + int16_t i, ant; + instrTyp *ins = instr[editor.curInstr]; + + ant = ins->envVPAnt; + if (ins == NULL || editor.curInstr == 0 || ant >= 12) + return; + + i = (int16_t)editor.currVolEnvPoint; + if (i < 0 || i >= ant) + { + i = ant-1; + if (i < 0) + i = 0; + } + + if (i < ant-1 && ins->envVP[i+1][0]-ins->envVP[i][0] < 2) + return; + + if (ins->envVP[i][0] >= 323) + return; + + for (int16_t j = ant; j > i; j--) + { + ins->envVP[j][0] = ins->envVP[j-1][0]; + ins->envVP[j][1] = ins->envVP[j-1][1]; + } + + if (ins->envVSust > i) { ins->envVSust++; drawVolEnvSus(); } + if (ins->envVRepS > i) { ins->envVRepS++; drawVolEnvRepS(); } + if (ins->envVRepE > i) { ins->envVRepE++; drawVolEnvRepE(); } + + if (i < ant-1) + { + ins->envVP[i+1][0] = (ins->envVP[i][0] + ins->envVP[i+2][0]) / 2; + ins->envVP[i+1][1] = (ins->envVP[i][1] + ins->envVP[i+2][1]) / 2; + } + else + { + ins->envVP[i+1][0] = ins->envVP[i][0] + 10; + ins->envVP[i+1][1] = ins->envVP[i][1]; + } + + if (ins->envVP[i+1][0] > 324) + ins->envVP[i+1][0] = 324; + + ins->envVPAnt++; + + updateVolEnv = true; + setSongModifiedFlag(); +} + +void volEnvDel(void) +{ + uint8_t drawSust, drawRepS, drawRepE; + int16_t i; + instrTyp *ins = instr[editor.curInstr]; + if (ins == NULL || editor.curInstr == 0 || ins->envVPAnt <= 2) + return; + + i = (int16_t)editor.currVolEnvPoint; + if (i < 0 || i >= ins->envVPAnt) + return; + + for (int16_t j = i; j < ins->envVPAnt; j++) + { + ins->envVP[j][0] = ins->envVP[j+1][0]; + ins->envVP[j][1] = ins->envVP[j+1][1]; + } + + drawSust = false; + drawRepS = false; + drawRepE = false; + + if (ins->envVSust > i) { ins->envVSust--; drawSust = true; } + if (ins->envVRepS > i) { ins->envVRepS--; drawRepS = true; } + if (ins->envVRepE > i) { ins->envVRepE--; drawRepE = true; } + + ins->envVP[0][0] = 0; + ins->envVPAnt--; + + if (ins->envVSust >= ins->envVPAnt) { ins->envVSust = ins->envVPAnt - 1; drawSust = true; } + if (ins->envVRepS >= ins->envVPAnt) { ins->envVRepS = ins->envVPAnt - 1; drawRepS = true; } + if (ins->envVRepE >= ins->envVPAnt) { ins->envVRepE = ins->envVPAnt - 1; drawRepE = true; } + + if (drawSust) drawVolEnvSus(); + if (drawRepS) drawVolEnvRepS(); + if (drawRepE) drawVolEnvRepE(); + + if (ins->envVPAnt == 0) + editor.currVolEnvPoint = 0; + else if (editor.currVolEnvPoint >= ins->envVPAnt) + editor.currVolEnvPoint = ins->envVPAnt-1; + + updateVolEnv = true; + setSongModifiedFlag(); +} + +void volEnvSusUp(void) +{ + instrTyp *ins = instr[editor.curInstr]; + if (ins == NULL || editor.curInstr == 0) + return; + + if (ins->envVSust < ins->envVPAnt-1) + { + ins->envVSust++; + drawVolEnvSus(); + updateVolEnv = true; + setSongModifiedFlag(); + } +} + +void volEnvSusDown(void) +{ + instrTyp *ins = instr[editor.curInstr]; + if (ins == NULL || editor.curInstr == 0) + return; + + if (ins->envVSust > 0) + { + ins->envVSust--; + drawVolEnvSus(); + updateVolEnv = true; + setSongModifiedFlag(); + } +} + +void volEnvRepSUp(void) +{ + instrTyp *ins = instr[editor.curInstr]; + if (ins == NULL || editor.curInstr == 0) + return; + + if (ins->envVRepS < ins->envVRepE) + { + ins->envVRepS++; + drawVolEnvRepS(); + updateVolEnv = true; + setSongModifiedFlag(); + } +} + +void volEnvRepSDown(void) +{ + instrTyp *ins = instr[editor.curInstr]; + if (ins == NULL || editor.curInstr == 0) + return; + + if (ins->envVRepS > 0) + { + ins->envVRepS--; + drawVolEnvRepS(); + updateVolEnv = true; + setSongModifiedFlag(); + } +} + +void volEnvRepEUp(void) +{ + instrTyp *ins = instr[editor.curInstr]; + if (ins == NULL || editor.curInstr == 0) + return; + + if (ins->envVRepE < ins->envVPAnt-1) + { + ins->envVRepE++; + drawVolEnvRepE(); + updateVolEnv = true; + setSongModifiedFlag(); + } +} + +void volEnvRepEDown(void) +{ + instrTyp *ins = instr[editor.curInstr]; + if (ins == NULL || editor.curInstr == 0) + return; + + if (ins->envVRepE > ins->envVRepS) + { + ins->envVRepE--; + drawVolEnvRepE(); + updateVolEnv = true; + setSongModifiedFlag(); + } +} + +void panEnvAdd(void) +{ + int16_t i, ant; + instrTyp *ins = instr[editor.curInstr]; + + ant = ins->envPPAnt; + if (ins == NULL || editor.curInstr == 0 || ant >= 12) + return; + + i = (int16_t)editor.currPanEnvPoint; + if (i < 0 || i >= ant) + { + i = ant-1; + if (i < 0) + i = 0; + } + + if (i < ant-1 && ins->envPP[i+1][0]-ins->envPP[i][0] < 2) + return; + + if (ins->envPP[i][0] >= 323) + return; + + for (int16_t j = ant; j > i; j--) + { + ins->envPP[j][0] = ins->envPP[j-1][0]; + ins->envPP[j][1] = ins->envPP[j-1][1]; + } + + if (ins->envPSust > i) { ins->envPSust++; drawPanEnvSus(); } + if (ins->envPRepS > i) { ins->envPRepS++; drawPanEnvRepS(); } + if (ins->envPRepE > i) { ins->envPRepE++; drawPanEnvRepE(); } + + if (i < ant-1) + { + ins->envPP[i+1][0] = (ins->envPP[i][0] + ins->envPP[i+2][0]) / 2; + ins->envPP[i+1][1] = (ins->envPP[i][1] + ins->envPP[i+2][1]) / 2; + } + else + { + ins->envPP[i+1][0] = ins->envPP[i][0] + 10; + ins->envPP[i+1][1] = ins->envPP[i][1]; + } + + if (ins->envPP[i+1][0] > 324) + ins->envPP[i+1][0] = 324; + + ins->envPPAnt++; + + updatePanEnv = true; + setSongModifiedFlag(); +} + +void panEnvDel(void) +{ + uint8_t drawSust, drawRepS, drawRepE; + int16_t i; + instrTyp *ins = instr[editor.curInstr]; + if (ins == NULL || editor.curInstr == 0 || ins->envPPAnt <= 2) + return; + + i = (int16_t)editor.currPanEnvPoint; + if (i < 0 || i >= ins->envPPAnt) + return; + + for (int16_t j = i; j < ins->envPPAnt; j++) + { + ins->envPP[j][0] = ins->envPP[j+1][0]; + ins->envPP[j][1] = ins->envPP[j+1][1]; + } + + drawSust = false; + drawRepS = false; + drawRepE = false; + + if (ins->envPSust > i) { ins->envPSust--; drawSust = true; } + if (ins->envPRepS > i) { ins->envPRepS--; drawRepS = true; } + if (ins->envPRepE > i) { ins->envPRepE--; drawRepE = true; } + + ins->envPP[0][0] = 0; + ins->envPPAnt--; + + if (ins->envPSust >= ins->envPPAnt) { ins->envPSust = ins->envPPAnt - 1; drawSust = true; } + if (ins->envPRepS >= ins->envPPAnt) { ins->envPRepS = ins->envPPAnt - 1; drawRepS = true; } + if (ins->envPRepE >= ins->envPPAnt) { ins->envPRepE = ins->envPPAnt - 1; drawRepE = true; } + + if (drawSust) drawPanEnvSus(); + if (drawRepS) drawPanEnvRepS(); + if (drawRepE) drawPanEnvRepE(); + + if (ins->envPPAnt == 0) + editor.currPanEnvPoint = 0; + else if (editor.currPanEnvPoint >= ins->envPPAnt) + editor.currPanEnvPoint = ins->envPPAnt-1; + + updatePanEnv = true; + setSongModifiedFlag(); +} + +void panEnvSusUp(void) +{ + instrTyp *ins = instr[editor.curInstr]; + if (ins == NULL || editor.curInstr == 0) + return; + + if (ins->envPSust < ins->envPPAnt-1) + { + ins->envPSust++; + drawPanEnvSus(); + updatePanEnv = true; + setSongModifiedFlag(); + } +} + +void panEnvSusDown(void) +{ + instrTyp *ins = instr[editor.curInstr]; + if (ins == NULL || editor.curInstr == 0) + return; + + if (ins->envPSust > 0) + { + ins->envPSust--; + drawPanEnvSus(); + updatePanEnv = true; + setSongModifiedFlag(); + } +} + +void panEnvRepSUp(void) +{ + instrTyp *ins = instr[editor.curInstr]; + if (ins == NULL || editor.curInstr == 0) + return; + + if (ins->envPRepS < ins->envPRepE) + { + ins->envPRepS++; + drawPanEnvRepS(); + updatePanEnv = true; + setSongModifiedFlag(); + } +} + +void panEnvRepSDown(void) +{ + instrTyp *ins = instr[editor.curInstr]; + if (ins == NULL || editor.curInstr == 0) + return; + + if (ins->envPRepS > 0) + { + ins->envPRepS--; + drawPanEnvRepS(); + updatePanEnv = true; + setSongModifiedFlag(); + } +} + +void panEnvRepEUp(void) +{ + instrTyp *ins = instr[editor.curInstr]; + if (ins == NULL || editor.curInstr == 0) + return; + + if (ins->envPRepE < ins->envPPAnt-1) + { + ins->envPRepE++; + drawPanEnvRepE(); + updatePanEnv = true; + setSongModifiedFlag(); + } +} + +void panEnvRepEDown(void) +{ + instrTyp *ins = instr[editor.curInstr]; + if (ins == NULL || editor.curInstr == 0) + return; + + if (ins->envPRepE > ins->envPRepS) + { + ins->envPRepE--; + drawPanEnvRepE(); + updatePanEnv = true; + setSongModifiedFlag(); + } +} + +void volDown(void) +{ + scrollBarScrollLeft(SB_INST_VOL, 1); +} + +void volUp(void) +{ + scrollBarScrollRight(SB_INST_VOL, 1); +} + +void panDown(void) +{ + scrollBarScrollLeft(SB_INST_PAN, 1); +} + +void panUp(void) +{ + scrollBarScrollRight(SB_INST_PAN, 1); +} + +void ftuneDown(void) +{ + scrollBarScrollLeft(SB_INST_FTUNE, 1); +} + +void ftuneUp(void) +{ + scrollBarScrollRight(SB_INST_FTUNE, 1); +} + +void fadeoutDown(void) +{ + scrollBarScrollLeft(SB_INST_FADEOUT, 1); +} + +void fadeoutUp(void) +{ + scrollBarScrollRight(SB_INST_FADEOUT, 1); +} + +void vibSpeedDown(void) +{ + scrollBarScrollLeft(SB_INST_VIBSPEED, 1); +} + +void vibSpeedUp(void) +{ + scrollBarScrollRight(SB_INST_VIBSPEED, 1); +} + +void vibDepthDown(void) +{ + scrollBarScrollLeft(SB_INST_VIBDEPTH, 1); +} + +void vibDepthUp(void) +{ + scrollBarScrollRight(SB_INST_VIBDEPTH, 1); +} + +void vibSweepDown(void) +{ + scrollBarScrollLeft(SB_INST_VIBSWEEP, 1); +} + +void vibSweepUp(void) +{ + scrollBarScrollRight(SB_INST_VIBSWEEP, 1); +} + +void setVolumeScroll(uint32_t pos) +{ + sampleTyp *s; + + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + { + if (editor.curInstr == 0 && editor.curSmp != 0) + setScrollBarPos(SB_INST_VOL, 0x40, false); + else + setScrollBarPos(SB_INST_VOL, 0, false); + + return; + } + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + if (s->vol != (uint8_t)pos) + { + s->vol = (uint8_t)pos; + drawVolume(); + setSongModifiedFlag(); + } +} + +void setPanningScroll(uint32_t pos) +{ + sampleTyp *s; + + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + { + setScrollBarPos(SB_INST_PAN, 0x80, false); + return; + } + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + if (s->pan != (uint8_t)pos) + { + s->pan = (uint8_t)pos; + drawPanning(); + setSongModifiedFlag(); + } +} + +void setFinetuneScroll(uint32_t pos) +{ + sampleTyp *s; + + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + { + setScrollBarPos(SB_INST_FTUNE, 128, false); // finetune 0 + return; + } + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + if (s->fine != (int8_t)(pos - 128)) + { + s->fine = (int8_t)(pos - 128); + drawFineTune(); + setSongModifiedFlag(); + } +} + +void setFadeoutScroll(uint32_t pos) +{ + instrTyp *ins = instr[editor.curInstr]; + + if (ins == NULL) + { + setScrollBarPos(SB_INST_FADEOUT, 0, false); + return; + } + + if (editor.curInstr == 0) + { + setScrollBarPos(SB_INST_FADEOUT, 0x80, false); + return; + } + + if (ins->fadeOut != (uint16_t)pos) + { + ins->fadeOut = (uint16_t)pos; + drawFadeout(); + setSongModifiedFlag(); + } +} + +void setVibSpeedScroll(uint32_t pos) +{ + instrTyp *ins = instr[editor.curInstr]; + + if (ins == NULL || editor.curInstr == 0) + { + setScrollBarPos(SB_INST_VIBSPEED, 0, false); + return; + } + + if (ins->vibRate != (uint8_t)pos) + { + ins->vibRate = (uint8_t)pos; + drawVibSpeed(); + setSongModifiedFlag(); + } +} + +void setVibDepthScroll(uint32_t pos) +{ + instrTyp *ins = instr[editor.curInstr]; + + if (ins == NULL || editor.curInstr == 0) + { + setScrollBarPos(SB_INST_VIBDEPTH, 0, false); + return; + } + + if (ins->vibDepth != (uint8_t)pos) + { + ins->vibDepth = (uint8_t)pos; + drawVibDepth(); + setSongModifiedFlag(); + } +} + +void setVibSweepScroll(uint32_t pos) +{ + instrTyp *ins = instr[editor.curInstr]; + + if (ins == NULL || editor.curInstr == 0) + { + setScrollBarPos(SB_INST_VIBSWEEP, 0, false); + return; + } + + if (ins->vibSweep != (uint8_t)pos) + { + ins->vibSweep = (uint8_t)pos; + drawVibSweep(); + setSongModifiedFlag(); + } +} + +void rbVibWaveSine(void) +{ + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + return; + + instr[editor.curInstr]->vibTyp = 0; + + uncheckRadioButtonGroup(RB_GROUP_INST_WAVEFORM); + radioButtons[RB_INST_WAVE_SINE].state = RADIOBUTTON_CHECKED; + showRadioButtonGroup(RB_GROUP_INST_WAVEFORM); + setSongModifiedFlag(); +} + +void rbVibWaveSquare(void) +{ + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + return; + + instr[editor.curInstr]->vibTyp = 1; + + uncheckRadioButtonGroup(RB_GROUP_INST_WAVEFORM); + radioButtons[RB_INST_WAVE_SQUARE].state = RADIOBUTTON_CHECKED; + showRadioButtonGroup(RB_GROUP_INST_WAVEFORM); + setSongModifiedFlag(); +} + +void rbVibWaveRampDown(void) +{ + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + return; + + instr[editor.curInstr]->vibTyp = 2; + + uncheckRadioButtonGroup(RB_GROUP_INST_WAVEFORM); + radioButtons[RB_INST_WAVE_RAMP_DOWN].state = RADIOBUTTON_CHECKED; + showRadioButtonGroup(RB_GROUP_INST_WAVEFORM); + setSongModifiedFlag(); +} + +void rbVibWaveRampUp(void) +{ + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + return; + + instr[editor.curInstr]->vibTyp = 3; + + uncheckRadioButtonGroup(RB_GROUP_INST_WAVEFORM); + radioButtons[RB_INST_WAVE_RAMP_UP].state = RADIOBUTTON_CHECKED; + showRadioButtonGroup(RB_GROUP_INST_WAVEFORM); + setSongModifiedFlag(); +} + +void cbVEnv(void) +{ + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + { + checkBoxes[CB_INST_VENV].checked = false; + drawCheckBox(CB_INST_VENV); + return; + } + + instr[editor.curInstr]->envVTyp ^= 1; + updateVolEnv = true; + + setSongModifiedFlag(); +} + +void cbVEnvSus(void) +{ + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + { + checkBoxes[CB_INST_VENV_SUS].checked = false; + drawCheckBox(CB_INST_VENV_SUS); + return; + } + + instr[editor.curInstr]->envVTyp ^= 2; + updateVolEnv = true; + + setSongModifiedFlag(); +} + +void cbVEnvLoop(void) +{ + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + { + checkBoxes[CB_INST_VENV_LOOP].checked = false; + drawCheckBox(CB_INST_VENV_LOOP); + return; + } + + instr[editor.curInstr]->envVTyp ^= 4; + updateVolEnv = true; + + setSongModifiedFlag(); +} + +void cbPEnv(void) +{ + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + { + checkBoxes[CB_INST_PENV].checked = false; + drawCheckBox(CB_INST_PENV); + return; + } + + instr[editor.curInstr]->envPTyp ^= 1; + updatePanEnv = true; + + setSongModifiedFlag(); +} + +void cbPEnvSus(void) +{ + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + { + checkBoxes[CB_INST_PENV_SUS].checked = false; + drawCheckBox(CB_INST_PENV_SUS); + return; + } + + instr[editor.curInstr]->envPTyp ^= 2; + updatePanEnv = true; + + setSongModifiedFlag(); +} + +void cbPEnvLoop(void) +{ + if (instr[editor.curInstr] == NULL || editor.curInstr == 0) + { + checkBoxes[CB_INST_PENV_LOOP].checked = false; + drawCheckBox(CB_INST_PENV_LOOP); + return; + } + + instr[editor.curInstr]->envPTyp ^= 4; + updatePanEnv = true; + + setSongModifiedFlag(); +} + +static void smallHexOutBg(uint16_t xPos, uint16_t yPos, uint8_t fgPalette, uint8_t bgPalette, uint8_t val) +{ + const uint8_t *srcPtr; + uint32_t *dstPtr, fg, bg; + + assert(val <= 0xF); + + fg = video.palette[fgPalette]; + bg = video.palette[bgPalette]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + srcPtr = &smallHexBitmap[val * 5]; + + for (uint32_t y = 0; y < 7; y++) + { + for (uint32_t x = 0; x < 5; x++) + dstPtr[x] = srcPtr[x] ? fg : bg; + + dstPtr += SCREEN_W; + srcPtr += 80; + } +} + +static void writePianoNumber(uint8_t note, uint8_t key, uint8_t octave) +{ + uint8_t number; + uint16_t x; + + number = 0; + if (instr[editor.curInstr] != NULL && editor.curInstr > 0) + number = instr[editor.curInstr]->ta[note]; + + x = keyDigitXPos[key] + (octave * 77); + + if (keyIsBlackTab[key]) + smallHexOutBg(x, 361, PAL_FORGRND, PAL_BCKGRND, number); + else + smallHexOutBg(x, 385, PAL_BCKGRND, PAL_FORGRND, number); +} + +static void drawBlackPianoKey(uint8_t key, uint8_t octave, bool keyDown) +{ + uint16_t x = keyXPos[key] + (octave * 77); + blit(x, 351, &blackPianoKeysBitmap[keyDown * (7*27)], 7, 27); +} + +static void drawWhitePianoKey(uint8_t key, uint8_t octave, bool keyDown) +{ + uint16_t x = keyXPos[key] + (octave * 77); + blit(x, 351, &whitePianoKeysBitmap[(keyDown * (11*46*3)) + whiteKeysBmpOrder[key]], 11, 46); +} + +void redrawPiano(void) +{ + uint8_t key, octave; + + memset(pianoKeyStatus, 0, sizeof (pianoKeyStatus)); + for (uint8_t i = 0; i < 96; i++) + { + key = i % 12; + octave = i / 12; + + if (keyIsBlackTab[key]) + drawBlackPianoKey(key, octave, false); + else + drawWhitePianoKey(key, octave, false); + + writePianoNumber(i, key, octave); + } +} + +bool testPianoKeysMouseDown(bool mouseButtonDown) +{ + uint8_t key, note, octave; + int32_t mx, my; + instrTyp *ins; + + if (!editor.ui.instEditorShown) + return false; + + mx = mouse.x; + my = mouse.y; + + if (!mouseButtonDown) + { + if (my < 351 || my > 396 || mx < 8 || mx > 623) + return false; + + mouse.lastUsedObjectType = OBJECT_PIANO; + } + else + { + my = CLAMP(my, 351, 396); + mx = CLAMP(mx, 8, 623); + } + + ins = instr[editor.curInstr]; + if (ins == NULL) + return true; + + mx -= 8; + if (my < 378) + { + // white keys and black keys (top) + + octave = (uint8_t)(mx / 77); + mx %= 77; // width of all keys in one octave + + // this is pretty disgusting... + if (mx >= 69) key = 11; + else if (mx >= 62) key = 10; + else if (mx >= 58) key = 9; + else if (mx >= 51) key = 8; + else if (mx >= 47) key = 7; + else if (mx >= 40) key = 6; + else if (mx >= 33) key = 5; + else if (mx >= 25) key = 4; + else if (mx >= 18) key = 3; + else if (mx >= 14) key = 2; + else if (mx >= 7) key = 1; + else key = 0; + + note = (octave * 12) + key; + if (ins->ta[note] != editor.curSmp) + { + ins->ta[note] = editor.curSmp; + writePianoNumber(note, key, octave); + setSongModifiedFlag(); + } + } + else + { + // white keys only (bottom) + + octave = (uint8_t)(mx / 77); + key = (uint8_t)(mx % 77) / 11; + + note = (octave * 12) + whiteKeyIndex[key]; + if (ins->ta[note] != editor.curSmp) + { + ins->ta[note] = editor.curSmp; + writePianoNumber(note, note % 12, octave); + setSongModifiedFlag(); + } + } + + return true; +} + +static uint8_t getNote(uint8_t i) // returns 1..96 +{ + int8_t fineTune; + uint8_t note; + int32_t period, loPeriod, hiPeriod, tmpPeriod, tableIndex; + stmTyp *ch; + + ch = &stm[i]; + + fineTune = (ch->fineTune >> 3) + 16; + hiPeriod = 8 * 12 * 16; + loPeriod = 0; + period = ch->finalPeriod; + + for (i = 0; i < 8; i++) + { + tmpPeriod = (((loPeriod + hiPeriod) >> 1) & 0xFFFFFFF0) + fineTune; + + tableIndex = tmpPeriod - 8; + if (tableIndex < 0) // added security check + tableIndex = 0; + + if (period >= note2Period[tableIndex]) + hiPeriod = tmpPeriod - fineTune; + else + loPeriod = tmpPeriod - fineTune; + } + + if (loPeriod >= ((8*12*16) + 15) - 1) // FT2 bug: off-by-one error + loPeriod = (8*12*16) + 15; + + note = (uint8_t)(((loPeriod + 8) >> 4) - ch->relTonNr) + 1; + return note; +} + +void drawPiano(void) // draw piano in idle mode +{ + bool keyDown, newStatus[96]; + uint8_t key, note, octave; + stmTyp *ch; + + memset(newStatus, 0, sizeof (newStatus)); + + // find active notes + if (editor.curInstr > 0) + { + for (uint8_t i = 0; i < song.antChn; i++) + { + ch = &stm[i]; + if (ch->instrNr == editor.curInstr) + { + note = getNote(i); + if (ch->envSustainActive) + newStatus[(note - 1) % 96] = true; + } + } + } + + // draw keys + for (uint8_t i = 0; i < 96; i++) + { + keyDown = newStatus[i]; + if (pianoKeyStatus[i] ^ keyDown) + { + key = i % 12; + octave = i / 12; + + if (keyIsBlackTab[key]) + drawBlackPianoKey(key, octave, keyDown); + else + drawWhitePianoKey(key, octave, keyDown); + + pianoKeyStatus[i] = keyDown; + } + } +} + +static uint8_t getNoteReplayer(syncedChannel_t *ch) // returns 1..96 +{ + int8_t fineTune; + uint8_t note; + int32_t period, loPeriod, hiPeriod, tmpPeriod, tableIndex; + + fineTune = (ch->fineTune >> 3) + 16; + hiPeriod = 8 * 12 * 16; + loPeriod = 0; + period = ch->finalPeriod; + + for (uint8_t i = 0; i < 8; i++) + { + tmpPeriod = (((loPeriod + hiPeriod) >> 1) & 0xFFFFFFF0) + fineTune; + + tableIndex = tmpPeriod - 8; + if (tableIndex < 0) // added security check + tableIndex = 0; + + if (period >= note2Period[tableIndex]) + hiPeriod = tmpPeriod - fineTune; + else + loPeriod = tmpPeriod - fineTune; + } + + if (loPeriod >= ((8*12*16) + 15) - 1) // FT2 bug: off-by-one error + loPeriod = (8*12*16) + 15; + + note = (uint8_t)(((loPeriod + 8) >> 4) - ch->relTonNr) + 1; + return note; +} + +void drawPianoReplayer(chSyncData_t *chSyncData) // draw piano with synced replayer datas +{ + bool keyDown, newStatus[96]; + uint8_t key, note, octave; + syncedChannel_t *ch; + + memset(newStatus, 0, sizeof (newStatus)); + + // find active notes + if (editor.curInstr > 0) + { + for (uint8_t i = 0; i < song.antChn; i++) + { + ch = &chSyncData->channels[i]; + if (ch->instrNr == editor.curInstr) + { + note = getNoteReplayer(ch); + if (ch->envSustainActive) + newStatus[(note - 1) % 96] = true; + } + } + } + + // draw keys + for (uint8_t i = 0; i < 96; i++) + { + keyDown = newStatus[i]; + if (pianoKeyStatus[i] ^ keyDown) + { + key = i % 12; + octave = i / 12; + + if (keyIsBlackTab[key]) + drawBlackPianoKey(key, octave, keyDown); + else + drawWhitePianoKey(key, octave, keyDown); + + pianoKeyStatus[i] = keyDown; + } + } +} + +static void envelopeLine(int32_t nr, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint8_t col) +{ + int16_t d, x, y, sx, sy, dx, dy; + uint16_t ax, ay; + int32_t pitch; + uint32_t pal1, pal2, pixVal, *dst32; + + y1 = CLAMP(y1, 0, 66); + y2 = CLAMP(y2, 0, 66); + x1 = CLAMP(x1, 0, 335); + x2 = CLAMP(x2, 0, 335); + + if (nr == 0) + { + y1 += 189; + y2 += 189; + } + else + { + y1 += 276; + y2 += 276; + } + + // get coefficients + dx = x2 - x1; + ax = ABS(dx) * 2; + sx = SGN(dx); + dy = y2 - y1; + ay = ABS(dy) * 2; + sy = SGN(dy); + x = x1; + y = y1; + + pal1 = video.palette[PAL_BLCKMRK]; + pal2 = video.palette[PAL_BLCKTXT]; + pixVal = video.palette[col]; + pitch = sy * SCREEN_W; + + dst32 = &video.frameBuffer[(y * SCREEN_W) + x]; + + // draw line + if (ax > ay) + { + d = ay - (ax / 2); + + while (true) + { + // invert certain colors + if (*dst32 != pal2) + { + if (*dst32 == pal1) + *dst32 = pal2; + else + *dst32 = pixVal; + } + + if (x == x2) + break; + + if (d >= 0) + { + d -= ax; + dst32 += pitch; + } + + x += sx; + d += ay; + dst32 += sx; + } + } + else + { + d = ax - (ay / 2); + + while (true) + { + // invert certain colors + if (*dst32 != pal2) + { + if (*dst32 == pal1) + *dst32 = pal2; + else + *dst32 = pixVal; + } + + if (y == y2) + break; + + if (d >= 0) + { + d -= ay; + dst32 += sx; + } + + y += sy; + d += ax; + dst32 += pitch; + } + } +} + +static void envelopePixel(int32_t nr, int16_t x, int16_t y, uint8_t col) +{ + y += (nr == 0) ? 189 : 276; + video.frameBuffer[(y * SCREEN_W) + x] = video.palette[col]; +} + +static void envelopeDot(int32_t nr, int16_t x, int16_t y) +{ + uint32_t *dstPtr, pixVal; + + y += (nr == 0) ? 189 : 276; + + pixVal = video.palette[PAL_BLCKTXT]; + dstPtr = &video.frameBuffer[(y * SCREEN_W) + x]; + + for (y = 0; y < 3; y++) + { + *dstPtr++ = pixVal; + *dstPtr++ = pixVal; + *dstPtr++ = pixVal; + + dstPtr += (SCREEN_W - 3); + } +} + +static void envelopeVertLine(int32_t nr, int16_t x, int16_t y, uint8_t col) +{ + uint32_t *dstPtr, pixVal1, pixVal2; + + y += (nr == 0) ? 189 : 276; + + pixVal1 = video.palette[col]; + pixVal2 = video.palette[PAL_BLCKTXT]; + + dstPtr = &video.frameBuffer[(y * SCREEN_W) + x]; + for (y = 0; y < 33; y++) + { + if (*dstPtr != pixVal2) + *dstPtr = pixVal1; + + dstPtr += (SCREEN_W * 2); + } +} + +static void writeEnvelope(int32_t nr) +{ + uint8_t selected; + int16_t i, x, y, lx, ly, nd, sp, ls, le, (*curEnvP)[2]; + instrTyp *ins = instr[editor.curInstr]; + + // clear envelope area + if (nr == 0) + clearRect(5, 189, 331, 67); + else + clearRect(5, 276, 331, 67); + + // draw dotted x/y lines + for (i = 0; i <= 32; i++) envelopePixel(nr, 5, 1 + i * 2, PAL_PATTEXT); + for (i = 0; i <= 8; i++) envelopePixel(nr, 4, 1 + i * 8, PAL_PATTEXT); + for (i = 0; i <= 162; i++) envelopePixel(nr, 8 + i * 2, 65, PAL_PATTEXT); + for (i = 0; i <= 6; i++) envelopePixel(nr, 8 + i * 50, 66, PAL_PATTEXT); + + // draw center line on pan envelope + if (nr == 1) + envelopeLine(nr, 8, 33, 332, 33, PAL_BLCKMRK); + + if (ins == NULL) + return; + + // collect variables + if (nr == 0) + { + nd = ins->envVPAnt; + if (ins->envVTyp & 2) + sp = ins->envVSust; + else + sp = -1; + + if (ins->envVTyp & 4) + { + ls = ins->envVRepS; + le = ins->envVRepE; + } + else + { + ls = -1; + le = -1; + } + + curEnvP = ins->envVP; + selected = editor.currVolEnvPoint; + } + else + { + nd = ins->envPPAnt; + if (ins->envPTyp & 2) + sp = ins->envPSust; + else + sp = -1; + + if (ins->envPTyp & 4) + { + ls = ins->envPRepS; + le = ins->envPRepE; + } + else + { + ls = -1; + le = -1; + } + + curEnvP = ins->envPP; + selected = editor.currPanEnvPoint; + } + + if (nd > 12) + nd = 12; + + lx = 0; + ly = 0; + + // draw envelope + for (i = 0; i < nd; i++) + { + x = curEnvP[i][0]; + y = curEnvP[i][1]; + + x = CLAMP(x, 0, 324); + + if (nr == 0) + y = CLAMP(y, 0, 64); + else + y = CLAMP(y, 0, 63); + + if ((uint16_t)curEnvP[i][0] <= 324) + { + envelopeDot(nr, 7 + x, 64 - y); + + // draw "envelope selected" data + if (i == selected) + { + envelopeLine(nr, 5 + x, 64 - y, 5 + x, 66 - y, PAL_BLCKTXT); + envelopeLine(nr, 11 + x, 64 - y, 11 + x, 66 - y, PAL_BLCKTXT); + envelopePixel(nr, 5, 65 - y, PAL_BLCKTXT); + envelopePixel(nr, 8 + x, 65, PAL_BLCKTXT); + } + + // draw loop start marker + if (i == ls) + { + envelopeLine(nr, x + 6, 1, x + 10, 1, PAL_PATTEXT); + envelopeLine(nr, x + 7, 2, x + 9, 2, PAL_PATTEXT); + envelopeVertLine(nr, x + 8, 1, PAL_PATTEXT); + } + + // draw sustain marker + if (i == sp) + envelopeVertLine(nr, x + 8, 1, PAL_BLCKTXT); + + // draw loop end marker + if (i == le) + { + envelopeLine(nr, x + 6, 65, x + 10, 65, PAL_PATTEXT); + envelopeLine(nr, x + 7, 64, x + 9, 64, PAL_PATTEXT); + envelopeVertLine(nr, x + 8, 1, PAL_PATTEXT); + } + } + + // draw envelope line + if (i > 0 && lx < x) + envelopeLine(nr, lx + 8, 65 - ly, x + 8, 65 - y, PAL_PATTEXT); + + lx = x; + ly = y; + } +} + +void handleInstEditorRedrawing(void) +{ + if (updateVolEnv) + { + updateVolEnv = false; + writeEnvelope(0); + } + + if (updatePanEnv) + { + updatePanEnv = false; + writeEnvelope(1); + } +} + +void hideInstEditor(void) +{ + editor.ui.instEditorShown = false; + + hideScrollBar(SB_INST_VOL); + hideScrollBar(SB_INST_PAN); + hideScrollBar(SB_INST_FTUNE); + hideScrollBar(SB_INST_FADEOUT); + hideScrollBar(SB_INST_VIBSPEED); + hideScrollBar(SB_INST_VIBDEPTH); + hideScrollBar(SB_INST_VIBSWEEP); + + hidePushButton(PB_INST_VDEF1); + hidePushButton(PB_INST_VDEF2); + hidePushButton(PB_INST_VDEF3); + hidePushButton(PB_INST_VDEF4); + hidePushButton(PB_INST_VDEF5); + hidePushButton(PB_INST_VDEF6); + hidePushButton(PB_INST_PDEF1); + hidePushButton(PB_INST_PDEF2); + hidePushButton(PB_INST_PDEF3); + hidePushButton(PB_INST_PDEF4); + hidePushButton(PB_INST_PDEF5); + hidePushButton(PB_INST_PDEF6); + hidePushButton(PB_INST_VP_ADD); + hidePushButton(PB_INST_VP_DEL); + hidePushButton(PB_INST_VS_UP); + hidePushButton(PB_INST_VS_DOWN); + hidePushButton(PB_INST_VREPS_UP); + hidePushButton(PB_INST_VREPS_DOWN); + hidePushButton(PB_INST_VREPE_UP); + hidePushButton(PB_INST_VREPE_DOWN); + hidePushButton(PB_INST_PP_ADD); + hidePushButton(PB_INST_PP_DEL); + hidePushButton(PB_INST_PS_UP); + hidePushButton(PB_INST_PS_DOWN); + hidePushButton(PB_INST_PREPS_UP); + hidePushButton(PB_INST_PREPS_DOWN); + hidePushButton(PB_INST_PREPE_UP); + hidePushButton(PB_INST_PREPE_DOWN); + hidePushButton(PB_INST_VOL_DOWN); + hidePushButton(PB_INST_VOL_UP); + hidePushButton(PB_INST_PAN_DOWN); + hidePushButton(PB_INST_PAN_UP); + hidePushButton(PB_INST_FTUNE_DOWN); + hidePushButton(PB_INST_FTUNE_UP); + hidePushButton(PB_INST_FADEOUT_DOWN); + hidePushButton(PB_INST_FADEOUT_UP); + hidePushButton(PB_INST_VIBSPEED_DOWN); + hidePushButton(PB_INST_VIBSPEED_UP); + hidePushButton(PB_INST_VIBDEPTH_DOWN); + hidePushButton(PB_INST_VIBDEPTH_UP); + hidePushButton(PB_INST_VIBSWEEP_DOWN); + hidePushButton(PB_INST_VIBSWEEP_UP); + hidePushButton(PB_INST_EXIT); + hidePushButton(PB_INST_OCT_UP); + hidePushButton(PB_INST_HALFTONE_UP); + hidePushButton(PB_INST_OCT_DOWN); + hidePushButton(PB_INST_HALFTONE_DOWN); + + hideCheckBox(CB_INST_VENV); + hideCheckBox(CB_INST_VENV_SUS); + hideCheckBox(CB_INST_VENV_LOOP); + hideCheckBox(CB_INST_PENV); + hideCheckBox(CB_INST_PENV_SUS); + hideCheckBox(CB_INST_PENV_LOOP); + + hideRadioButtonGroup(RB_GROUP_INST_WAVEFORM); +} + +void exitInstEditor(void) +{ + hideInstEditor(); + showPatternEditor(); +} + +void updateInstEditor(void) +{ + uint16_t tmpID; + sampleTyp *s; + instrTyp *ins = getCurDispInstr(); + + if (instr[editor.curInstr] == NULL) + s = &ins->samp[0]; + else + s = &ins->samp[editor.curSmp]; + + // update instrument editor extension + if (editor.ui.instEditorExtShown) + { + checkBoxes[CB_INST_EXT_MIDI].checked = ins->midiOn ? true : false; + checkBoxes[CB_INST_EXT_MUTE].checked = ins->mute ? true : false; + + setScrollBarPos(SB_INST_EXT_MIDI_CH, ins->midiChannel, false); + setScrollBarPos(SB_INST_EXT_MIDI_PRG, ins->midiProgram, false); + setScrollBarPos(SB_INST_EXT_MIDI_BEND, ins->midiBend, false); + + drawCheckBox(CB_INST_EXT_MIDI); + drawCheckBox(CB_INST_EXT_MUTE); + + drawMIDICh(); + drawMIDIPrg(); + drawMIDIBend(); + } + + if (!editor.ui.instEditorShown) + return; + + drawVolEnvSus(); + drawVolEnvRepS(); + drawVolEnvRepE(); + drawPanEnvSus(); + drawPanEnvRepS(); + drawPanEnvRepE(); + drawVolume(); + drawPanning(); + drawFineTune(); + drawFadeout(); + drawVibSpeed(); + drawVibDepth(); + drawVibSweep(); + drawRelTone(); + + // set scroll bars + setScrollBarPos(SB_INST_VOL, s->vol, false); + setScrollBarPos(SB_INST_PAN, s->pan, false); + setScrollBarPos(SB_INST_FTUNE, 128 + s->fine, false); + setScrollBarPos(SB_INST_FADEOUT, ins->fadeOut, false); + setScrollBarPos(SB_INST_VIBSPEED, ins->vibRate, false); + setScrollBarPos(SB_INST_VIBDEPTH, ins->vibDepth, false); + setScrollBarPos(SB_INST_VIBSWEEP, ins->vibSweep, false); + + // set radio buttons + + uncheckRadioButtonGroup(RB_GROUP_INST_WAVEFORM); + switch (ins->vibTyp) + { + default: + case 0: tmpID = RB_INST_WAVE_SINE; break; + case 1: tmpID = RB_INST_WAVE_SQUARE; break; + case 2: tmpID = RB_INST_WAVE_RAMP_DOWN; break; + case 3: tmpID = RB_INST_WAVE_RAMP_UP; break; + } + + radioButtons[tmpID].state = RADIOBUTTON_CHECKED; + + // set check boxes + + checkBoxes[CB_INST_VENV].checked = (ins->envVTyp & 1) ? true : false; + checkBoxes[CB_INST_VENV_SUS].checked = (ins->envVTyp & 2) ? true : false; + checkBoxes[CB_INST_VENV_LOOP].checked = (ins->envVTyp & 4) ? true : false; + checkBoxes[CB_INST_PENV].checked = (ins->envPTyp & 1) ? true : false; + checkBoxes[CB_INST_PENV_SUS].checked = (ins->envPTyp & 2) ? true : false; + checkBoxes[CB_INST_PENV_LOOP].checked = (ins->envPTyp & 4) ? true : false; + + if (editor.currVolEnvPoint >= ins->envVPAnt) editor.currVolEnvPoint = 0; + if (editor.currPanEnvPoint >= ins->envPPAnt) editor.currPanEnvPoint = 0; + + showRadioButtonGroup(RB_GROUP_INST_WAVEFORM); + + drawCheckBox(CB_INST_VENV); + drawCheckBox(CB_INST_VENV_SUS); + drawCheckBox(CB_INST_VENV_LOOP); + drawCheckBox(CB_INST_PENV); + drawCheckBox(CB_INST_PENV_SUS); + drawCheckBox(CB_INST_PENV_LOOP); + + updateVolEnv = true; + updatePanEnv = true; + + redrawPiano(); +} + +void showInstEditor(void) +{ + if (editor.ui.extended) exitPatternEditorExtended(); + if (editor.ui.sampleEditorShown) hideSampleEditor(); + if (editor.ui.sampleEditorExtShown) hideSampleEditorExt(); + + hidePatternEditor(); + editor.ui.instEditorShown = true; + + drawFramework(0, 173, 438, 87, FRAMEWORK_TYPE1); + drawFramework(0, 260, 438, 87, FRAMEWORK_TYPE1); + drawFramework(0, 347, 632, 53, FRAMEWORK_TYPE1); + drawFramework(438, 173, 194, 45, FRAMEWORK_TYPE1); + drawFramework(438, 218, 194, 76, FRAMEWORK_TYPE1); + drawFramework(438, 294, 194, 53, FRAMEWORK_TYPE1); + drawFramework(2, 188, 337, 70, FRAMEWORK_TYPE2); + drawFramework(2, 275, 337, 70, FRAMEWORK_TYPE2); + drawFramework(2, 349, 628, 49, FRAMEWORK_TYPE2); + drawFramework(590, 296, 40, 15, FRAMEWORK_TYPE2); + + textOutShadow(20, 176, PAL_FORGRND, PAL_DSKTOP2, "Volume envelope:"); + textOutShadow(153, 176, PAL_FORGRND, PAL_DSKTOP2, "Predef."); + textOutShadow(358, 193, PAL_FORGRND, PAL_DSKTOP2, "Sustain:"); + textOutShadow(342, 206, PAL_FORGRND, PAL_DSKTOP2, "Point"); + textOutShadow(358, 219, PAL_FORGRND, PAL_DSKTOP2, "Env.loop:"); + textOutShadow(342, 234, PAL_FORGRND, PAL_DSKTOP2, "Start"); + textOutShadow(342, 247, PAL_FORGRND, PAL_DSKTOP2, "End"); + textOutShadow(20, 263, PAL_FORGRND, PAL_DSKTOP2, "Panning envelope:"); + textOutShadow(152, 263, PAL_FORGRND, PAL_DSKTOP2, "Predef."); + textOutShadow(358, 280, PAL_FORGRND, PAL_DSKTOP2, "Sustain:"); + textOutShadow(342, 293, PAL_FORGRND, PAL_DSKTOP2, "Point"); + textOutShadow(358, 306, PAL_FORGRND, PAL_DSKTOP2, "Env.loop:"); + textOutShadow(342, 321, PAL_FORGRND, PAL_DSKTOP2, "Start"); + textOutShadow(342, 334, PAL_FORGRND, PAL_DSKTOP2, "End"); + textOutShadow(443, 177, PAL_FORGRND, PAL_DSKTOP2, "Volume"); + textOutShadow(443, 191, PAL_FORGRND, PAL_DSKTOP2, "Panning"); + textOutShadow(443, 205, PAL_FORGRND, PAL_DSKTOP2, "Tune"); + textOutShadow(442, 222, PAL_FORGRND, PAL_DSKTOP2, "Fadeout"); + textOutShadow(442, 236, PAL_FORGRND, PAL_DSKTOP2, "Vib.speed"); + textOutShadow(442, 250, PAL_FORGRND, PAL_DSKTOP2, "Vib.depth"); + textOutShadow(442, 264, PAL_FORGRND, PAL_DSKTOP2, "Vib.sweep"); + textOutShadow(453, 299, PAL_FORGRND, PAL_DSKTOP2, "Tone relative to C-4:"); + + showScrollBar(SB_INST_VOL); + showScrollBar(SB_INST_PAN); + showScrollBar(SB_INST_FTUNE); + showScrollBar(SB_INST_FADEOUT); + showScrollBar(SB_INST_VIBSPEED); + showScrollBar(SB_INST_VIBDEPTH); + showScrollBar(SB_INST_VIBSWEEP); + + showPushButton(PB_INST_VDEF1); + showPushButton(PB_INST_VDEF2); + showPushButton(PB_INST_VDEF3); + showPushButton(PB_INST_VDEF4); + showPushButton(PB_INST_VDEF5); + showPushButton(PB_INST_VDEF6); + showPushButton(PB_INST_PDEF1); + showPushButton(PB_INST_PDEF2); + showPushButton(PB_INST_PDEF3); + showPushButton(PB_INST_PDEF4); + showPushButton(PB_INST_PDEF5); + showPushButton(PB_INST_PDEF6); + showPushButton(PB_INST_VP_ADD); + showPushButton(PB_INST_VP_DEL); + showPushButton(PB_INST_VS_UP); + showPushButton(PB_INST_VS_DOWN); + showPushButton(PB_INST_VREPS_UP); + showPushButton(PB_INST_VREPS_DOWN); + showPushButton(PB_INST_VREPE_UP); + showPushButton(PB_INST_VREPE_DOWN); + showPushButton(PB_INST_PP_ADD); + showPushButton(PB_INST_PP_DEL); + showPushButton(PB_INST_PS_UP); + showPushButton(PB_INST_PS_DOWN); + showPushButton(PB_INST_PREPS_UP); + showPushButton(PB_INST_PREPS_DOWN); + showPushButton(PB_INST_PREPE_UP); + showPushButton(PB_INST_PREPE_DOWN); + showPushButton(PB_INST_VOL_DOWN); + showPushButton(PB_INST_VOL_UP); + showPushButton(PB_INST_PAN_DOWN); + showPushButton(PB_INST_PAN_UP); + showPushButton(PB_INST_FTUNE_DOWN); + showPushButton(PB_INST_FTUNE_UP); + showPushButton(PB_INST_FADEOUT_DOWN); + showPushButton(PB_INST_FADEOUT_UP); + showPushButton(PB_INST_VIBSPEED_DOWN); + showPushButton(PB_INST_VIBSPEED_UP); + showPushButton(PB_INST_VIBDEPTH_DOWN); + showPushButton(PB_INST_VIBDEPTH_UP); + showPushButton(PB_INST_VIBSWEEP_DOWN); + showPushButton(PB_INST_VIBSWEEP_UP); + showPushButton(PB_INST_EXIT); + showPushButton(PB_INST_OCT_UP); + showPushButton(PB_INST_HALFTONE_UP); + showPushButton(PB_INST_OCT_DOWN); + showPushButton(PB_INST_HALFTONE_DOWN); + + showCheckBox(CB_INST_VENV); + showCheckBox(CB_INST_VENV_SUS); + showCheckBox(CB_INST_VENV_LOOP); + showCheckBox(CB_INST_PENV); + showCheckBox(CB_INST_PENV_SUS); + showCheckBox(CB_INST_PENV_LOOP); + + // draw auto-vibrato waveforms + blitFast(455, 279, &vibWaveformBitmap[(12*10)*0], 12, 10); + blitFast(485, 279, &vibWaveformBitmap[(12*10)*1], 12, 10); + blitFast(515, 279, &vibWaveformBitmap[(12*10)*2], 12, 10); + blitFast(545, 279, &vibWaveformBitmap[(12*10)*3], 12, 10); + + showRadioButtonGroup(RB_GROUP_INST_WAVEFORM); + + updateInstEditor(); + redrawPiano(); +} + +void toggleInstEditor(void) +{ + if (editor.ui.sampleEditorShown) + hideSampleEditor(); + + if (editor.ui.instEditorShown) + { + exitInstEditor(); + } + else + { + hidePatternEditor(); + showInstEditor(); + } +} + +bool testInstrVolEnvMouseDown(bool mouseButtonDown) +{ + uint8_t ant; + int32_t x, y, mx, my, minX, maxX; + instrTyp *ins; + + if (!editor.ui.instEditorShown || editor.curInstr == 0 || instr[editor.curInstr] == NULL) + return false; + + ins = instr[editor.curInstr]; + + ant = ins->envVPAnt; + if (ant > 12) + ant = 12; + + mx = mouse.x; + my = mouse.y; + + if (!mouseButtonDown) + { + if (my < 189 || my > 256 || mx < 7 || mx > 334) + return false; + + if (ins->envVPAnt == 0) + return true; + + lastMouseX = mx; + lastMouseY = my; + + for (uint8_t i = 0; i < ant; i++) + { + x = 8 + ins->envVP[i][0]; + y = 190 + (64 - ins->envVP[i][1]); + + if (mx >= x-2 && mx <= x+2 && my >= y-2 && my <= y+2) + { + editor.currVolEnvPoint = i; + mouse.lastUsedObjectType = OBJECT_INSVOLENV; + + saveMouseX = 8 + (lastMouseX - x); + saveMouseY = 190 + (lastMouseY - y); + + updateVolEnv = true; + break; + } + } + + return true; + } + + if (ins->envVPAnt == 0) + return true; + + if (mx != lastMouseX) + { + lastMouseX = mx; + + if (ant > 1 && editor.currVolEnvPoint > 0) + { + mx -= saveMouseX; + mx = CLAMP(mx, 0, 324); + + if (editor.currVolEnvPoint == ant-1) + { + minX = ins->envVP[editor.currVolEnvPoint-1][0] + 1; + maxX = 324; + } + else + { + minX = ins->envVP[editor.currVolEnvPoint-1][0] + 1; + maxX = ins->envVP[editor.currVolEnvPoint+1][0] - 1; + } + + minX = CLAMP(minX, 0, 324); + maxX = CLAMP(maxX, 0, 324); + + ins->envVP[editor.currVolEnvPoint][0] = (int16_t)(CLAMP(mx, minX, maxX)); + updateVolEnv = true; + + setSongModifiedFlag(); + } + } + + if (my != lastMouseY) + { + lastMouseY = my; + + my -= saveMouseY; + my = 64 - CLAMP(my, 0, 64); + + ins->envVP[editor.currVolEnvPoint][1] = (int16_t)my; + updateVolEnv = true; + + setSongModifiedFlag(); + } + + return true; +} + +bool testInstrPanEnvMouseDown(bool mouseButtonDown) +{ + uint8_t ant; + int32_t x, y, mx, my, minX, maxX; + instrTyp *ins; + + if (!editor.ui.instEditorShown || editor.curInstr == 0 || instr[editor.curInstr] == NULL) + return false; + + ins = instr[editor.curInstr]; + + ant = ins->envPPAnt; + if (ant > 12) + ant = 12; + + mx = mouse.x; + my = mouse.y; + + if (!mouseButtonDown) + { + if (my < 277 || my > 343 || mx < 7 || mx > 334) + return false; + + if (ins->envPPAnt == 0) + return true; + + lastMouseX = mx; + lastMouseY = my; + + for (uint8_t i = 0; i < ant; i++) + { + x = 8 + ins->envPP[i][0]; + y = 277 + (63 - ins->envPP[i][1]); + + if (mx >= x-2 && mx <= x+2 && my >= y-2 && my <= y+2) + { + editor.currPanEnvPoint = i; + mouse.lastUsedObjectType = OBJECT_INSPANENV; + + saveMouseX = lastMouseX - x + 8; + saveMouseY = lastMouseY - y + 277; + + updatePanEnv = true; + break; + } + } + + return true; + } + + if (ins->envPPAnt == 0) + return true; + + if (mx != lastMouseX) + { + lastMouseX = mx; + + if (ant > 1 && editor.currPanEnvPoint > 0) + { + mx -= saveMouseX; + mx = CLAMP(mx, 0, 324); + + if (editor.currPanEnvPoint == ant-1) + { + minX = ins->envPP[editor.currPanEnvPoint-1][0] + 1; + maxX = 324; + } + else + { + minX = ins->envPP[editor.currPanEnvPoint-1][0] + 1; + maxX = ins->envPP[editor.currPanEnvPoint+1][0] - 1; + } + + minX = CLAMP(minX, 0, 324); + maxX = CLAMP(maxX, 0, 324); + + ins->envPP[editor.currPanEnvPoint][0] = (int16_t)(CLAMP(mx, minX, maxX)); + updatePanEnv = true; + + setSongModifiedFlag(); + } + } + + if (my != lastMouseY) + { + lastMouseY = my; + + my -= saveMouseY; + my = 63 - CLAMP(my, 0, 63); + + ins->envPP[editor.currPanEnvPoint][1] = (int16_t)my; + updatePanEnv = true; + + setSongModifiedFlag(); + } + + return true; +} + +void cbInstMidiEnable(void) +{ + if (editor.curInstr == 0 || instr[editor.curInstr] == NULL) + { + checkBoxes[CB_INST_EXT_MIDI].checked = false; + drawCheckBox(CB_INST_EXT_MIDI); + return; + } + + instr[editor.curInstr]->midiOn ^= 1; + setSongModifiedFlag(); +} + +void cbInstMuteComputer(void) +{ + if (editor.curInstr == 0 || instr[editor.curInstr] == NULL) + { + checkBoxes[CB_INST_EXT_MUTE].checked = false; + drawCheckBox(CB_INST_EXT_MUTE); + return; + } + + instr[editor.curInstr]->mute ^= 1; + setSongModifiedFlag(); +} + +void drawInstEditorExt(void) +{ + instrTyp *ins = instr[editor.curInstr]; + + drawFramework(0, 92, 291, 17, FRAMEWORK_TYPE1); + drawFramework(0, 109, 291, 19, FRAMEWORK_TYPE1); + drawFramework(0, 128, 291, 45, FRAMEWORK_TYPE1); + + textOutShadow(4, 96, PAL_FORGRND, PAL_DSKTOP2, "Instrument Editor Extension:"); + textOutShadow(20, 114, PAL_FORGRND, PAL_DSKTOP2, "Instrument MIDI enable"); + textOutShadow(189, 114, PAL_FORGRND, PAL_DSKTOP2, "Mute computer"); + textOutShadow(4, 133, PAL_FORGRND, PAL_DSKTOP2, "MIDI transmit channel"); + textOutShadow(4, 147, PAL_FORGRND, PAL_DSKTOP2, "MIDI program"); + textOutShadow(4, 160, PAL_FORGRND, PAL_DSKTOP2, "Bender range (halftones)"); + + if (ins == NULL) + { + checkBoxes[CB_INST_EXT_MIDI].checked = false; + checkBoxes[CB_INST_EXT_MUTE].checked = false; + setScrollBarPos(SB_INST_EXT_MIDI_CH, 0, false); + setScrollBarPos(SB_INST_EXT_MIDI_PRG, 0, false); + setScrollBarPos(SB_INST_EXT_MIDI_BEND, 0, false); + } + else + { + checkBoxes[CB_INST_EXT_MIDI].checked = ins->midiOn ? true : false; + checkBoxes[CB_INST_EXT_MUTE].checked = ins->mute ? true : false; + setScrollBarPos(SB_INST_EXT_MIDI_CH, ins->midiChannel, false); + setScrollBarPos(SB_INST_EXT_MIDI_PRG, ins->midiProgram, false); + setScrollBarPos(SB_INST_EXT_MIDI_BEND, ins->midiBend, false); + } + + showCheckBox(CB_INST_EXT_MIDI); + showCheckBox(CB_INST_EXT_MUTE); + + showScrollBar(SB_INST_EXT_MIDI_CH); + showScrollBar(SB_INST_EXT_MIDI_PRG); + showScrollBar(SB_INST_EXT_MIDI_BEND); + + showPushButton(PB_INST_EXT_MIDI_CH_DOWN); + showPushButton(PB_INST_EXT_MIDI_CH_UP); + showPushButton(PB_INST_EXT_MIDI_PRG_DOWN); + showPushButton(PB_INST_EXT_MIDI_PRG_UP); + showPushButton(PB_INST_EXT_MIDI_BEND_DOWN); + showPushButton(PB_INST_EXT_MIDI_BEND_UP); + + drawMIDICh(); + drawMIDIPrg(); + drawMIDIBend(); +} + +void showInstEditorExt(void) +{ + if (editor.ui.extended) + exitPatternEditorExtended(); + + hideTopScreen(); + showTopScreen(false); + + editor.ui.instEditorExtShown = true; + editor.ui.scopesShown = false; + drawInstEditorExt(); +} + +void hideInstEditorExt(void) +{ + hideScrollBar(SB_INST_EXT_MIDI_CH); + hideScrollBar(SB_INST_EXT_MIDI_PRG); + hideScrollBar(SB_INST_EXT_MIDI_BEND); + hideCheckBox(CB_INST_EXT_MIDI); + hideCheckBox(CB_INST_EXT_MUTE); + hidePushButton(PB_INST_EXT_MIDI_CH_DOWN); + hidePushButton(PB_INST_EXT_MIDI_CH_UP); + hidePushButton(PB_INST_EXT_MIDI_PRG_DOWN); + hidePushButton(PB_INST_EXT_MIDI_PRG_UP); + hidePushButton(PB_INST_EXT_MIDI_BEND_DOWN); + hidePushButton(PB_INST_EXT_MIDI_BEND_UP); + + editor.ui.instEditorExtShown = false; + editor.ui.scopesShown = true; + drawScopeFramework(); +} + +void toggleInstEditorExt(void) +{ + if (editor.ui.instEditorExtShown) + hideInstEditorExt(); + else + showInstEditorExt(); +} + +static bool testInstrSwitcherNormal(void) // Welcome to the Jungle +{ + uint8_t newEntry; + + if (mouse.x < 424 || mouse.x > 585) + return false; + + if (mouse.y >= 5 && mouse.y <= 91) + { + // instruments + if (mouse.x >= 446 && mouse.x <= 584) + { + mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; + + if ((mouse.y-5) % 11 == 10) + return true; // we clicked on the one-pixel spacer + + // destination instrument + newEntry = (editor.instrBankOffset + 1) + (uint8_t)((mouse.y - 5) / 11); + if (editor.curInstr != newEntry) + { + editor.curInstr = newEntry; + updateTextBoxPointers(); + updateNewInstrument(); + } + + return true; + } + else if (mouse.x >= 424 && mouse.x <= 438) + { + mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; + + if ((mouse.y-5) % 11 == 10) + return true; // we clicked on the one-pixel spacer + + // source isntrument + newEntry = (editor.instrBankOffset + 1) + (uint8_t)((mouse.y - 5) / 11); + if (editor.srcInstr != newEntry) + { + editor.srcInstr = newEntry; + updateInstrumentSwitcher(); + + if (editor.ui.advEditShown) + updateAdvEdit(); + } + + return true; + } + } + else if (mouse.y >= 99 && mouse.y <= 152) + { + // samples + if (mouse.x >= 446 && mouse.x <= 560) + { + mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; + + if ((mouse.y-99) % 11 == 10) + return true; // we clicked on the one-pixel spacer + + // destionation sample + newEntry = editor.sampleBankOffset + (uint8_t)((mouse.y - 99) / 11); + if (editor.curSmp != newEntry) + { + editor.curSmp = newEntry; + updateInstrumentSwitcher(); + updateSampleEditorSample(); + + if (editor.ui.sampleEditorShown) updateSampleEditor(); + else if (editor.ui.instEditorShown) updateInstEditor(); + } + + return true; + } + else if (mouse.x >= 423 && mouse.x <= 438) + { + mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; + + if ((mouse.y-99) % 11 == 10) + return true; // we clicked on the one-pixel spacer + + // source sample + newEntry = editor.sampleBankOffset + (uint8_t)((mouse.y - 99) / 11); + if (editor.srcSmp != newEntry) + { + editor.srcSmp = newEntry; + updateInstrumentSwitcher(); + } + + return true; + } + } + + return false; +} + +static bool testInstrSwitcherExtended(void) // Welcome to the Jungle 2 - The Happening +{ + uint8_t newEntry; + + if (mouse.y < 5 || mouse.y > 47) + return false; + + if (mouse.x >= 511) + { + // right columns + if (mouse.x <= 525) + { + mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; + + if ((mouse.y-5) % 11 == 10) + return true; // we clicked on the one-pixel spacer + + // source instrument + newEntry = (editor.instrBankOffset + 5) + (uint8_t)((mouse.y - 5) / 11); + if (editor.srcInstr != newEntry) + { + editor.srcInstr = newEntry; + updateInstrumentSwitcher(); + + if (editor.ui.advEditShown) + updateAdvEdit(); + } + + return true; + } + else if (mouse.x >= 529 && mouse.x <= 626) + { + mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; + + if ((mouse.y-5) % 11 == 10) + return true; // we clicked on the one-pixel spacer + + // destination instrument + newEntry = (editor.instrBankOffset + 5) + (uint8_t)((mouse.y - 5) / 11); + if (editor.curInstr != newEntry) + { + editor.curInstr = newEntry; + updateTextBoxPointers(); + updateNewInstrument(); + } + + return true; + } + } + else if (mouse.x >= 388) + { + // left columns + if (mouse.x <= 402) + { + mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; + + if ((mouse.y-5) % 11 == 10) + return true; // we clicked on the one-pixel spacer + + // source instrument + newEntry = (editor.instrBankOffset + 1) + (uint8_t)((mouse.y - 5) / 11); + if (editor.srcInstr != newEntry) + { + editor.srcInstr = newEntry; + updateInstrumentSwitcher(); + + if (editor.ui.advEditShown) + updateAdvEdit(); + } + + return true; + } + else if (mouse.x >= 406 && mouse.x <= 503) + { + mouse.lastUsedObjectType = OBJECT_INSTRSWITCH; + + if ((mouse.y-5) % 11 == 10) + return true; // we clicked on the one-pixel spacer + + // destination instrument + newEntry = (editor.instrBankOffset + 1) + (uint8_t)((mouse.y - 5) / 11); + if (editor.curInstr != newEntry) + { + editor.curInstr = newEntry; + updateTextBoxPointers(); + updateNewInstrument(); + } + + return true; + } + } + + return false; +} + +bool testInstrSwitcherMouseDown(void) +{ + if (!editor.ui.instrSwitcherShown) + return false; + + if (editor.ui.extended) + return testInstrSwitcherExtended(); + else + return testInstrSwitcherNormal(); +} + +static int32_t SDLCALL saveInstrThread(void *ptr) +{ + int16_t n; + int32_t i; + size_t result; + FILE *f; + instrXIHeaderTyp ih; + instrTyp *ins; + sampleTyp *s; + sampleHeaderTyp *dst; + + (void)ptr; + + if (editor.tmpFilenameU == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during saving! Is the file in use?"); + return false; + } + + n = getUsedSamples(saveInstrNr); + if (n == 0 || instr[saveInstrNr] == NULL) + { + okBoxThreadSafe(0, "System message", "Instrument is empty!"); + return false; + } + + f = UNICHAR_FOPEN(editor.tmpFilenameU, "wb"); + if (f == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during saving! Is the file in use?"); + return false; + } + + memset(&ih, 0, sizeof (ih)); // important, also clears reserved stuff + + memcpy(ih.sig, "Extended Instrument: ", 21); + memset(ih.name, ' ', 22); + memcpy(ih.name, song.instrName[saveInstrNr], strlen(song.instrName[saveInstrNr])); + ih.name[22] = 0x1A; + memcpy(ih.progName, PROG_NAME_STR, 20); + ih.ver = 0x0102; + + // copy over instrument struct data to instrument header + ins = instr[saveInstrNr]; + memcpy(ih.ta, ins->ta, 96); + memcpy(ih.envVP, ins->envVP, 12*2*sizeof(int16_t)); + memcpy(ih.envPP, ins->envPP, 12*2*sizeof(int16_t)); + ih.envVPAnt = ins->envVPAnt; + ih.envPPAnt = ins->envPPAnt; + ih.envVSust = ins->envVSust; + ih.envVRepS = ins->envVRepS; + ih.envVRepE = ins->envVRepE; + ih.envPSust = ins->envPSust; + ih.envPRepS = ins->envPRepS; + ih.envPRepE = ins->envPRepE; + ih.envVTyp = ins->envVTyp; + ih.envPTyp = ins->envPTyp; + ih.vibTyp = ins->vibTyp; + ih.vibSweep = ins->vibSweep; + ih.vibDepth = ins->vibDepth; + ih.vibRate = ins->vibRate; + ih.fadeOut = ins->fadeOut; + ih.midiOn = ins->midiOn ? 1 : 0; + ih.midiChannel = ins->midiChannel; + ih.midiProgram = ins->midiProgram; + ih.midiBend = ins->midiBend; + ih.mute = ins->mute ? 1 : 0; + ih.antSamp = n; + + // copy over sample struct datas to sample headers + for (i = 0; i < n; i++) + { + s = &instr[saveInstrNr]->samp[i]; + dst = &ih.samp[i]; + + dst->len = s->len; + dst->repS = s->repS; + dst->repL = s->repL; + dst->vol = s->vol; + dst->fine = s->fine; + dst->typ = s->typ; + dst->pan = s->pan; + dst->relTon = s->relTon; + + dst->nameLen = (uint8_t)strlen(s->name); + memcpy(dst->name, s->name, 22); + + if (s->pek == NULL) + dst->len = 0; + } + + result = fwrite(&ih, INSTR_XI_HEADER_SIZE + (ih.antSamp * sizeof (sampleHeaderTyp)), 1, f); + if (result != 1) + { + fclose(f); + okBoxThreadSafe(0, "System message", "Error saving instrument: general I/O error!"); + return false; + } + + pauseAudio(); + for (i = 0; i < n; i++) + { + s = &instr[saveInstrNr]->samp[i]; + if (s->pek != NULL && s->len > 0) + { + restoreSample(s); + samp2Delta(s->pek, s->len, s->typ); + + result = fwrite(s->pek, 1, s->len, f); + + delta2Samp(s->pek, s->len, s->typ); + fixSample(s); + + if (result != (size_t)s->len) // write not OK + { + resumeAudio(); + fclose(f); + okBoxThreadSafe(0, "System message", "Error saving instrument: general I/O error!"); + return false; + } + } + } + resumeAudio(); + + fclose(f); + + editor.diskOpReadDir = true; // force diskop re-read + + setMouseBusy(false); + return true; +} + +void saveInstr(UNICHAR *filenameU, int16_t nr) +{ + if (nr == 0) + return; + + saveInstrNr = nr; + UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); + + mouseAnimOn(); + thread = SDL_CreateThread(saveInstrThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +static int16_t getPATNote(int32_t freq) +{ + double dNote = (log2(freq * (1.0 / 440000.0)) * 12.0) + 57.0; + int32_t note = (int32_t)(dNote + 0.5); + + return (int16_t)note; +} + +static int32_t SDLCALL loadInstrThread(void *ptr) +{ + bool stereoWarning; + int8_t *newPtr; + int16_t a, b; + int32_t i, j; + double dFreq; + FILE *f; + instrXIHeaderTyp ih; + instrPATHeaderTyp ih_PAT; + instrPATWaveHeaderTyp ih_PATWave; + sampleHeaderTyp *src; + sampleTyp *s; + instrTyp *ins; + + (void)ptr; + + stereoWarning = false; + + if (editor.tmpInstrFilenameU == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + return false; + } + + f = UNICHAR_FOPEN(editor.tmpInstrFilenameU, "rb"); + if (f == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + return false; + } + + memset(&ih, 0, sizeof (ih)); + + fread(&ih, INSTR_XI_HEADER_SIZE, 1, f); + if (!strncmp(ih.sig, "Extended Instrument: ", 21)) + { + // XI - Extended Instrument + + if (ih.ver != 0x0101 && ih.ver != 0x0102) + { + okBoxThreadSafe(0, "System message", "Incompatible format version!"); + goto loadDone; + } + + if (ih.ver == 0x0101) // not even FT2.01 can save old v1.01 .XI files, so I have no way to verify this. + { + fseek(f, -20, SEEK_CUR); + ih.antSamp = ih.midiProgram; + ih.midiProgram = 0; + ih.midiBend = 0; + ih.mute = false; + } + + if (ih.antSamp > MAX_SMP_PER_INST) + { + okBoxThreadSafe(0, "System message", "Incompatible instrument!"); + goto loadDone; + } + + memcpy(song.instrName[editor.curInstr], ih.name, 22); + song.instrName[editor.curInstr][22] = '\0'; + + pauseAudio(); + + freeInstr(editor.curInstr); + + if (ih.antSamp > 0) + { + if (!allocateInstr(editor.curInstr)) + { + resumeAudio(); + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto loadDone; + } + + // copy instrument header elements to our instrument struct + + ins = instr[editor.curInstr]; + memcpy(ins->ta, ih.ta, 96); + memcpy(ins->envVP, ih.envVP, 12*2*sizeof(int16_t)); + memcpy(ins->envPP, ih.envPP, 12*2*sizeof(int16_t)); + ins->envVPAnt = ih.envVPAnt; + ins->envPPAnt = ih.envPPAnt; + ins->envVSust = ih.envVSust; + ins->envVRepS = ih.envVRepS; + ins->envVRepE = ih.envVRepE; + ins->envPSust = ih.envPSust; + ins->envPRepS = ih.envPRepS; + ins->envPRepE = ih.envPRepE; + ins->envVTyp = ih.envVTyp; + ins->envPTyp = ih.envPTyp; + ins->vibTyp = ih.vibTyp; + ins->vibSweep = ih.vibSweep; + ins->vibDepth = ih.vibDepth; + ins->vibRate = ih.vibRate; + ins->fadeOut = ih.fadeOut; + ins->midiOn = (ih.midiOn > 0) ? true : false; + ins->midiChannel = ih.midiChannel; + ins->midiProgram = ih.midiProgram; + ins->midiBend = ih.midiBend; + ins->mute = (ih.mute > 0) ? true : false; + ins->antSamp = ih.antSamp; // used in loadInstrSample() + + // sanitize stuff for broken/unsupported instruments + ins->midiProgram = CLAMP(ins->midiProgram, 0, 127); + ins->midiBend = CLAMP(ins->midiBend, 0, 36); + + if (ins->midiChannel > 15) ins->midiChannel = 15; + if (ins->vibDepth > 0x0F) ins->vibDepth = 0x0F; + if (ins->vibRate > 0x3F) ins->vibRate = 0x3F; + if (ins->vibTyp > 3) ins->vibTyp = 0; + + for (i = 0; i < 96; i++) + { + if (ins->ta[i] > 15) + ins->ta[i] = 15; + } + + if (ins->envVPAnt > 12) ins->envVPAnt = 12; + if (ins->envVRepS > 11) ins->envVRepS = 11; + if (ins->envVRepE > 11) ins->envVRepE = 11; + if (ins->envVSust > 11) ins->envVSust = 11; + if (ins->envPPAnt > 12) ins->envPPAnt = 12; + if (ins->envPRepS > 11) ins->envPRepS = 11; + if (ins->envPRepE > 11) ins->envPRepE = 11; + if (ins->envPSust > 11) ins->envPSust = 11; + + for (i = 0; i < 12; i++) + { + if ((uint16_t)ins->envVP[i][0] > 32767) ins->envVP[i][0] = 32767; + if ((uint16_t)ins->envPP[i][0] > 32767) ins->envPP[i][0] = 32767; + if ((uint16_t)ins->envVP[i][1] > 64) ins->envVP[i][1] = 64; + if ((uint16_t)ins->envPP[i][1] > 63) ins->envPP[i][1] = 63; + + } + + if (fread(ih.samp, sizeof (sampleHeaderTyp) * ih.antSamp, 1, f) != 1) + { + freeInstr(editor.curInstr); + resumeAudio(); + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto loadDone; + } + + for (i = 0; i < ih.antSamp; i++) + { + s = &instr[editor.curInstr]->samp[i]; + src = &ih.samp[i]; + + // copy sample header elements to our sample struct + + s->len = src->len; + s->repS = src->repS; + s->repL = src->repL; + s->vol = src->vol; + s->fine = src->fine; + s->typ = src->typ; + s->pan = src->pan; + s->relTon = src->relTon; + memcpy(s->name, src->name, 22); + s->name[22] = '\0'; + + // dst->pek is set up later + + // trim off spaces at end of name + for (j = 21; j >= 0; j--) + { + if (s->name[j] == ' ' || s->name[j] == 0x1A) + s->name[j] = '\0'; + else + break; + } + + // sanitize stuff broken/unsupported samples + if (s->vol > 64) + s->vol = 64; + + s->relTon = CLAMP(s->relTon, -48, 71); + } + } + + for (i = 0; i < ih.antSamp; i++) + { + s = &instr[editor.curInstr]->samp[i]; + + // if a sample has both forward loop and pingpong loop set, make it pingpong loop only (FT2 mixer behavior) + if ((s->typ & 3) == 3) + s->typ &= 0xFE; + + if (s->len > 0) + { + s->pek = NULL; + s->origPek = (int8_t *)malloc(s->len + LOOP_FIX_LEN); + if (s->origPek == NULL) + { + freeInstr(editor.curInstr); + resumeAudio(); + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto loadDone; + } + + s->pek = s->origPek + SMP_DAT_OFFSET; + + if (fread(s->pek, s->len, 1, f) != 1) + { + freeInstr(editor.curInstr); + resumeAudio(); + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto loadDone; + } + + delta2Samp(s->pek, s->len, s->typ); // stereo samples are handled here + + // check if it was a stereo sample + if (s->typ & 32) + { + s->typ &= ~32; + + s->len /= 2; + s->repL /= 2; + s->repS /= 2; + + newPtr = (int8_t *)realloc(s->origPek, s->len + LOOP_FIX_LEN); + if (newPtr != NULL) + { + s->origPek = newPtr; + s->pek = s->origPek + SMP_DAT_OFFSET; + } + + stereoWarning = true; + } + + checkSampleRepeat(s); + fixSample(s); + } + } + + resumeAudio(); + } + else + { + rewind(f); + + fread(&ih_PAT, 1, sizeof (instrPATHeaderTyp), f); + if (!memcmp(ih_PAT.id, "GF1PATCH110\0ID#000002\0", 22)) + { + // PAT - Gravis Ultrasound GF1 patch + + if (ih_PAT.antSamp == 0) + ih_PAT.antSamp = 1; // to some patch makers, 0 means 1 + + if (ih_PAT.layers > 1 || ih_PAT.antSamp > MAX_SMP_PER_INST) + { + okBoxThreadSafe(0, "System message", "Incompatible instrument!"); + goto loadDone; + } + + pauseAudio(); + freeInstr(editor.curInstr); + + if (!allocateInstr(editor.curInstr)) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto loadDone; + } + + memset(song.instrName[editor.curInstr], 0, 22 + 1); + memcpy(song.instrName[editor.curInstr], ih_PAT.instrName, 16); + + for (i = 0; i < ih_PAT.antSamp; i++) + { + s = &instr[editor.curInstr]->samp[i]; + ins = instr[editor.curInstr]; + + if (fread(&ih_PATWave, 1, sizeof (ih_PATWave), f) != sizeof (ih_PATWave)) + { + freeInstr(editor.curInstr); + resumeAudio(); + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto loadDone; + } + + s->pek = NULL; + s->origPek = (int8_t *)malloc(ih_PATWave.waveSize + LOOP_FIX_LEN); + if (s->origPek == NULL) + { + freeInstr(editor.curInstr); + resumeAudio(); + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto loadDone; + } + + s->pek = s->origPek + SMP_DAT_OFFSET; + + if (i == 0) + { + ins->vibSweep = ih_PATWave.vibSweep; + + ins->vibRate = (ih_PATWave.vibRate + 2) / 4; + if (ins->vibRate > 0x3F) + ins->vibRate = 0x3F; + + ins->vibDepth = (ih_PATWave.vibDepth + 1) / 2; + if (ins->vibDepth > 0x0F) + ins->vibDepth = 0x0F; + } + + s = &instr[editor.curInstr]->samp[i]; + + memcpy(s->name, ih_PATWave.name, 7); + + s->typ = (ih_PATWave.mode & 1) << 4; // 16-bit flag + if (ih_PATWave.mode & 4) // loop enabled? + { + if (ih_PATWave.mode & 8) + s->typ |= 2; // pingpong loop + else + s->typ |= 1; // forward loop + } + + s->pan = ((ih_PATWave.pan << 4) & 0xF0) | (ih_PATWave.pan & 0xF); + + if (s->typ & 16) + { + ih_PATWave.waveSize &= 0xFFFFFFFE; + ih_PATWave.repS &= 0xFFFFFFFE; + ih_PATWave.repE &= 0xFFFFFFFE; + } + + s->len = ih_PATWave.waveSize; + if (s->len > MAX_SAMPLE_LEN) + s->len = MAX_SAMPLE_LEN; + + s->repS = ih_PATWave.repS; + if (s->repS > s->len) + s->repS = 0; + + s->repL = ih_PATWave.repE - ih_PATWave.repS; + if (s->repL < 0) + s->repL = 0; + + if (s->repS+s->repL > s->len) + s->repL = s->len - s->repS; + + dFreq = (1.0 + (ih_PATWave.fineTune / 512.0)) * ih_PATWave.sampleRate; + int32_t freq = (int32_t)(dFreq + 0.5); + tuneSample(s, freq); + + a = s->relTon - (getPATNote(ih_PATWave.rootFrq) - (12 * 3)); + s->relTon = (uint8_t)CLAMP(a, -48, 71); + + a = getPATNote(ih_PATWave.lowFrq); + b = getPATNote(ih_PATWave.highFreq); + + a = CLAMP(a, 0, 95); + b = CLAMP(b, 0, 95); + + for (j = a; j <= b; j++) + ins->ta[j] = (uint8_t)i; + + if (fread(s->pek, ih_PATWave.waveSize, 1, f) != 1) + { + freeInstr(editor.curInstr); + resumeAudio(); + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto loadDone; + } + + if (ih_PATWave.mode & 2) + { + if (s->typ & 16) + conv16BitSample(s->pek, s->len, false); + else + conv8BitSample(s->pek, s->len, false); + } + + fixSample(s); + } + + resumeAudio(); + } + } + +loadDone: + fclose(f); + + fixSampleName(editor.curInstr); + editor.updateCurInstr = true; // setMouseBusy(false) is called in the input/video thread when done + + if (stereoWarning) + okBoxThreadSafe(0, "System message", "The instrument contains stereo samples! They were mixed to mono."); + + return true; +} + +static bool fileIsInstr(UNICHAR *filename) +{ + char header[22]; + FILE *f; + + f = UNICHAR_FOPEN(filename, "rb"); + if (f == NULL) + return false; + + fread(header, 1, sizeof (header), f); + fclose(f); + + if (!strncmp(header, "Extended Instrument: ", 21) || !memcmp(header, "GF1PATCH110\0ID#000002\0", 22)) + return true; + + return false; +} + +void loadInstr(UNICHAR *filenameU) +{ + if (editor.curInstr == 0) + { + okBox(0, "System message", "The zero-instrument cannot hold intrument data."); + return; + } + + UNICHAR_STRCPY(editor.tmpInstrFilenameU, filenameU); + + if (fileIsInstr(filenameU)) + { + // load as instrument + mouseAnimOn(); + thread = SDL_CreateThread(loadInstrThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); + } + else + { + // load as sample into sample slot #0 (and clear instrument) + loadSample(editor.tmpInstrFilenameU, 0, true); + } +} diff --git a/src/ft2_inst_ed.h b/src/ft2_inst_ed.h index 512e9f8..a6c971f 100644 --- a/src/ft2_inst_ed.h +++ b/src/ft2_inst_ed.h @@ -1,104 +1,104 @@ -#pragma once - -#include -#include "ft2_header.h" -#include "ft2_audio.h" -#include "ft2_audio.h" -#include "ft2_unicode.h" - -void saveInstr(UNICHAR *filenameU, int16_t nr); -void loadInstr(UNICHAR *filenameU); -void copyInstr(void); // dstInstr = srcInstr -void xchgInstr(void); // dstInstr <-> srcInstr -void updateNewSample(void); -void updateNewInstrument(void); -void handleInstEditorRedrawing(void); -void hideInstEditor(void); -void exitInstEditor(void); -void updateInstEditor(void); -void showInstEditor(void); -void toggleInstEditor(void); -void midiChDown(void); -void midiChUp(void); -void midiPrgDown(void); -void midiPrgUp(void); -void midiBendDown(void); -void midiBendUp(void); -void sbMidiChPos(uint32_t pos); -void sbMidiPrgPos(uint32_t pos); -void sbMidiBendPos(uint32_t pos); -void volPreDef1(void); -void volPreDef2(void); -void volPreDef3(void); -void volPreDef4(void); -void volPreDef5(void); -void volPreDef6(void); -void panPreDef1(void); -void panPreDef2(void); -void panPreDef3(void); -void panPreDef4(void); -void panPreDef5(void); -void panPreDef6(void); -void relToneOctUp(void); -void relToneOctDown(void); -void relToneUp(void); -void relToneDown(void); -void volEnvAdd(void); -void volEnvDel(void); -void volEnvSusUp(void); -void volEnvSusDown(void); -void volEnvRepSUp(void); -void volEnvRepSDown(void); -void volEnvRepEUp(void); -void volEnvRepEDown(void); -void panEnvAdd(void); -void panEnvDel(void); -void panEnvSusUp(void); -void panEnvSusDown(void); -void panEnvRepSUp(void); -void panEnvRepSDown(void); -void panEnvRepEUp(void); -void panEnvRepEDown(void); -void volDown(void); -void volUp(void); -void panDown(void); -void panUp(void); -void ftuneDown(void); -void ftuneUp(void); -void fadeoutDown(void); -void fadeoutUp(void); -void vibSpeedDown(void); -void vibSpeedUp(void); -void vibDepthDown(void); -void vibDepthUp(void); -void vibSweepDown(void); -void vibSweepUp(void); -void setVolumeScroll(uint32_t pos); -void setPanningScroll(uint32_t pos); -void setFinetuneScroll(uint32_t pos); -void setFadeoutScroll(uint32_t pos); -void setVibSpeedScroll(uint32_t pos); -void setVibDepthScroll(uint32_t pos); -void setVibSweepScroll(uint32_t pos); -void rbVibWaveSine(void); -void rbVibWaveSquare(void); -void rbVibWaveRampDown(void); -void rbVibWaveRampUp(void); -void cbVEnv(void); -void cbVEnvSus(void); -void cbVEnvLoop(void); -void cbPEnv(void); -void cbPEnvSus(void); -void cbPEnvLoop(void); -void drawPiano(void); -void drawPianoReplayer(chSyncData_t *chSyncData); -bool testInstrVolEnvMouseDown(bool mouseButtonDown); -bool testInstrPanEnvMouseDown(bool mouseButtonDown); -bool testPianoKeysMouseDown(bool mouseButtonDown); -bool testInstrSwitcherMouseDown(void); -void cbInstMidiEnable(void); -void cbInstMuteComputer(void); -void drawInstEditorExt(void); -void showInstEditorExt(void); -void hideInstEditorExt(void); -void toggleInstEditorExt(void); +#pragma once + +#include +#include "ft2_header.h" +#include "ft2_audio.h" +#include "ft2_audio.h" +#include "ft2_unicode.h" + +void saveInstr(UNICHAR *filenameU, int16_t nr); +void loadInstr(UNICHAR *filenameU); +void copyInstr(void); // dstInstr = srcInstr +void xchgInstr(void); // dstInstr <-> srcInstr +void updateNewSample(void); +void updateNewInstrument(void); +void handleInstEditorRedrawing(void); +void hideInstEditor(void); +void exitInstEditor(void); +void updateInstEditor(void); +void showInstEditor(void); +void toggleInstEditor(void); +void midiChDown(void); +void midiChUp(void); +void midiPrgDown(void); +void midiPrgUp(void); +void midiBendDown(void); +void midiBendUp(void); +void sbMidiChPos(uint32_t pos); +void sbMidiPrgPos(uint32_t pos); +void sbMidiBendPos(uint32_t pos); +void volPreDef1(void); +void volPreDef2(void); +void volPreDef3(void); +void volPreDef4(void); +void volPreDef5(void); +void volPreDef6(void); +void panPreDef1(void); +void panPreDef2(void); +void panPreDef3(void); +void panPreDef4(void); +void panPreDef5(void); +void panPreDef6(void); +void relToneOctUp(void); +void relToneOctDown(void); +void relToneUp(void); +void relToneDown(void); +void volEnvAdd(void); +void volEnvDel(void); +void volEnvSusUp(void); +void volEnvSusDown(void); +void volEnvRepSUp(void); +void volEnvRepSDown(void); +void volEnvRepEUp(void); +void volEnvRepEDown(void); +void panEnvAdd(void); +void panEnvDel(void); +void panEnvSusUp(void); +void panEnvSusDown(void); +void panEnvRepSUp(void); +void panEnvRepSDown(void); +void panEnvRepEUp(void); +void panEnvRepEDown(void); +void volDown(void); +void volUp(void); +void panDown(void); +void panUp(void); +void ftuneDown(void); +void ftuneUp(void); +void fadeoutDown(void); +void fadeoutUp(void); +void vibSpeedDown(void); +void vibSpeedUp(void); +void vibDepthDown(void); +void vibDepthUp(void); +void vibSweepDown(void); +void vibSweepUp(void); +void setVolumeScroll(uint32_t pos); +void setPanningScroll(uint32_t pos); +void setFinetuneScroll(uint32_t pos); +void setFadeoutScroll(uint32_t pos); +void setVibSpeedScroll(uint32_t pos); +void setVibDepthScroll(uint32_t pos); +void setVibSweepScroll(uint32_t pos); +void rbVibWaveSine(void); +void rbVibWaveSquare(void); +void rbVibWaveRampDown(void); +void rbVibWaveRampUp(void); +void cbVEnv(void); +void cbVEnvSus(void); +void cbVEnvLoop(void); +void cbPEnv(void); +void cbPEnvSus(void); +void cbPEnvLoop(void); +void drawPiano(void); +void drawPianoReplayer(chSyncData_t *chSyncData); +bool testInstrVolEnvMouseDown(bool mouseButtonDown); +bool testInstrPanEnvMouseDown(bool mouseButtonDown); +bool testPianoKeysMouseDown(bool mouseButtonDown); +bool testInstrSwitcherMouseDown(void); +void cbInstMidiEnable(void); +void cbInstMuteComputer(void); +void drawInstEditorExt(void); +void showInstEditorExt(void); +void hideInstEditorExt(void); +void toggleInstEditorExt(void); diff --git a/src/ft2_keyboard.c b/src/ft2_keyboard.c index f5ca043..25d99bc 100644 --- a/src/ft2_keyboard.c +++ b/src/ft2_keyboard.c @@ -1,1298 +1,1317 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include "ft2_header.h" -#include "ft2_keyboard.h" -#include "ft2_gui.h" -#include "ft2_about.h" -#include "ft2_video.h" -#include "ft2_edit.h" -#include "ft2_config.h" -#include "ft2_help.h" -#include "ft2_mouse.h" -#include "ft2_nibbles.h" -#include "ft2_inst_ed.h" -#include "ft2_pattern_ed.h" -#include "ft2_diskop.h" -#include "ft2_wav_renderer.h" -#include "ft2_sample_ed.h" -#include "ft2_audio.h" -#include "ft2_trim.h" -#include "ft2_sample_ed_features.h" - -static void handleKeys(SDL_Keycode keycode, SDL_Scancode scanKey); -static bool checkModifiedKeys(SDL_Keycode keycode); - -static const uint8_t scancodeKey2Note[52] = // keys (USB usage page standard) to FT2 notes look-up table -{ - 0x08, 0x05, 0x04, 0x11, 0x00, 0x07, 0x09, 0x19, - 0x0B, 0x00, 0x0E, 0x0C, 0x0A, 0x1B, 0x1D, 0x0D, - 0x12, 0x02, 0x14, 0x18, 0x06, 0x0F, 0x03, 0x16, - 0x01, 0x00, 0x0E, 0x10, 0x00, 0x13, 0x15, 0x17, - 0x00, 0x1A, 0x1C, 0x22, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1F, 0x1E, 0x20, 0x13, 0x00, 0x10, 0x00, - 0x00, 0x0D, 0x0F, 0x11 -}; - -int8_t scancodeKeyToNote(SDL_Scancode scancode) -{ - int8_t note; - - if (scancode == SDL_SCANCODE_CAPSLOCK || scancode == SDL_SCANCODE_NONUSBACKSLASH) - return 97; // key off - - // translate key to note - note = 0; - if (scancode >= SDL_SCANCODE_B && scancode <= SDL_SCANCODE_SLASH) - note = scancodeKey2Note[(int32_t)scancode - SDL_SCANCODE_B]; - - if (note == 0) - return -1; // not a note key, do further key handling - - return note + (editor.curOctave * 12); -} - -void readKeyModifiers(void) -{ - SDL_Keymod modState; - - modState = SDL_GetModState(); - - keyb.ctrlPressed = (modState & (KMOD_LCTRL | KMOD_RCTRL)) ? true : false; - keyb.leftCtrlPressed = (modState & KMOD_LCTRL) ? true : false; - keyb.leftAltPressed = (modState & KMOD_LALT) ? true : false; - keyb.leftShiftPressed = (modState & KMOD_LSHIFT) ? true : false; -#ifdef __APPLE__ - keyb.commandPressed = (modState & (KMOD_LGUI | KMOD_RGUI)) ? true : false; - keyb.leftCommandPressed = (modState & KMOD_LGUI) ? true : false; -#endif - keyb.keyModifierDown = (modState & (KMOD_LSHIFT | KMOD_LCTRL | KMOD_LALT | KMOD_LGUI)) ? true : false; -} - -void keyUpHandler(SDL_Scancode scancode, SDL_Keycode keycode) -{ - (void)keycode; - - if (editor.editTextFlag || editor.ui.sysReqShown) - return; // kludge: don't handle key up! - - if (keyb.ignoreCurrKeyUp) - { - keyb.ignoreCurrKeyUp = false; - return; - } - - if (editor.cursor.object == CURSOR_NOTE && !keyb.keyModifierDown) - testNoteKeysRelease(scancode); - - if (scancode == SDL_SCANCODE_KP_PLUS) - keyb.numPadPlusPressed = false; - - keyb.keyRepeat = false; -} - -void keyDownHandler(SDL_Scancode scancode, SDL_Keycode keycode, bool keyWasRepeated) -{ - if (keycode == SDLK_UNKNOWN) - return; - - if (mouse.mode != MOUSE_MODE_NORMAL) - setMouseMode(MOUSE_MODE_NORMAL); - - if (editor.ui.sysReqShown) - { - if (keycode == SDLK_RETURN) editor.ui.sysReqEnterPressed = true; - else if (keycode == SDLK_ESCAPE) editor.ui.sysReqShown = false; - - return; - } - - if (testNibblesCheatCodes(keycode)) - return; // ignore current key - - if (keyWasRepeated) - { - if (editor.NI_Play || !keyb.keyRepeat) - return; // do NOT repeat keys in Nibbles or if keyRepeat is disabled - } - - keyb.keyRepeat = true; - - // handle certain keys (home/end/left/right etc) when editing text - if (editor.editTextFlag) - { - handleTextEditControl(keycode); - return; - } - - if (editor.NI_Play) - { - nibblesKeyAdministrator(scancode); - return; - } - - if (keycode == SDLK_ESCAPE) - { - if (quitBox(false) == 1) - editor.throwExit = true; - - return; - } - - if (scancode == SDL_SCANCODE_KP_PLUS) - keyb.numPadPlusPressed = true; - - if (handleEditKeys(keycode, scancode)) - return; - - if (keyb.keyModifierDown && checkModifiedKeys(keycode)) - return; - - handleKeys(keycode, scancode); // no pattern editing, do general key handling -} - -static void handleKeys(SDL_Keycode keycode, SDL_Scancode scanKey) -{ - bool audioWasntLocked; - uint16_t pattLen; - - // if we're holding numpad plus but not pressing bank keys, don't check any other key - if (keyb.numPadPlusPressed) - { - if (scanKey != SDL_SCANCODE_NUMLOCKCLEAR && scanKey != SDL_SCANCODE_KP_DIVIDE && - scanKey != SDL_SCANCODE_KP_MULTIPLY && scanKey != SDL_SCANCODE_KP_MINUS) - { - return; - } - } - - // scan keys - switch (scanKey) - { - case SDL_SCANCODE_KP_ENTER: pbSwapInstrBank(); return; - - case SDL_SCANCODE_NUMLOCKCLEAR: - { - if (keyb.numPadPlusPressed) - { - if (editor.instrBankSwapped) - pbSetInstrBank13(); - else - pbSetInstrBank5(); - } - else - { - if (editor.instrBankSwapped) - pbSetInstrBank9(); - else - pbSetInstrBank1(); - } - } - return; - - case SDL_SCANCODE_KP_DIVIDE: - { - if (keyb.numPadPlusPressed) - { - if (editor.instrBankSwapped) - pbSetInstrBank14(); - else - pbSetInstrBank6(); - } - else - { - if (editor.instrBankSwapped) - pbSetInstrBank10(); - else - pbSetInstrBank2(); - } - } - return; - - case SDL_SCANCODE_KP_MULTIPLY: - { - if (keyb.numPadPlusPressed) - { - if (editor.instrBankSwapped) - pbSetInstrBank15(); - else - pbSetInstrBank7(); - } - else - { - if (editor.instrBankSwapped) - pbSetInstrBank11(); - else - pbSetInstrBank3(); - } - } - return; - - case SDL_SCANCODE_KP_MINUS: - { - if (keyb.numPadPlusPressed) - { - if (editor.instrBankSwapped) - pbSetInstrBank16(); - else - pbSetInstrBank8(); - } - else - { - if (editor.instrBankSwapped) - pbSetInstrBank12(); - else - pbSetInstrBank4(); - } - } - return; - - case SDL_SCANCODE_KP_PERIOD: - { - if (editor.curInstr > 0) - { - if (keyb.leftShiftPressed) - { - clearSample(); - } - else - { - if (editor.curInstr == 0 || instr[editor.curInstr] == NULL) - return; - - if (okBox(1, "System request", "Clear instrument?") == 1) - { - freeInstr(editor.curInstr); - updateNewInstrument(); - setSongModifiedFlag(); - } - } - } - } - return; - - case SDL_SCANCODE_KP_0: setNewInstr(0); return; - case SDL_SCANCODE_KP_1: setNewInstr(editor.instrBankOffset + 1); return; - case SDL_SCANCODE_KP_2: setNewInstr(editor.instrBankOffset + 2); return; - case SDL_SCANCODE_KP_3: setNewInstr(editor.instrBankOffset + 3); return; - case SDL_SCANCODE_KP_4: setNewInstr(editor.instrBankOffset + 4); return; - case SDL_SCANCODE_KP_5: setNewInstr(editor.instrBankOffset + 5); return; - case SDL_SCANCODE_KP_6: setNewInstr(editor.instrBankOffset + 6); return; - case SDL_SCANCODE_KP_7: setNewInstr(editor.instrBankOffset + 7); return; - case SDL_SCANCODE_KP_8: setNewInstr(editor.instrBankOffset + 8); return; - - case SDL_SCANCODE_GRAVE: // "key below esc" - { - if (keyb.leftShiftPressed) - { - // decrease edit skip - if (editor.ID_Add == 0) - editor.ID_Add = 16; - else - editor.ID_Add--; - } - else - { - // increase edit skip - if (editor.ID_Add == 16) - editor.ID_Add = 0; - else - editor.ID_Add++; - } - - if (!editor.ui.nibblesShown && !editor.ui.configScreenShown && - !editor.ui.aboutScreenShown && !editor.ui.diskOpShown && - !editor.ui.helpScreenShown && !editor.ui.extended) - { - drawIDAdd(); - } - } - return; - - default: break; - } - - // no normal key pressed - if (keycode == SDLK_UNKNOWN) - return; - - // layout keys - switch (keycode) - { - default: return; - - case SDLK_DELETE: // non-FT2 addition - { - if (editor.ui.sampleEditorShown) - sampCut(); - } - break; - - // note off - case SDLK_LESS: - case SDLK_CAPSLOCK: - { - if (playMode == PLAYMODE_EDIT || playMode == PLAYMODE_RECPATT || playMode == PLAYMODE_RECSONG) - { - if (!allocatePattern(editor.editPattern)) - break; - - patt[editor.editPattern][(editor.pattPos * MAX_VOICES) + editor.cursor.ch].ton = 97; - - pattLen = pattLens[editor.editPattern]; - if (playMode == PLAYMODE_EDIT && pattLen >= 1) - setPos(-1, (editor.pattPos + editor.ID_Add) % pattLen); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); - } - } - break; - - //case SDLK_PRINTSCREEN: togglePatternEditorExtended(); break; - - // EDIT/PLAY KEYS - - // record song - case SDLK_RSHIFT: startPlaying(PLAYMODE_RECSONG, 0); break; - - // play song -#ifdef __APPLE__ - case SDLK_RGUI: // fall-through for Apple keyboards -#endif - case SDLK_RCTRL: - startPlaying(PLAYMODE_SONG, 0); - break; - - // play pattern - case SDLK_RALT: startPlaying(PLAYMODE_PATT, 0); break; - - case SDLK_SPACE: - { - if (playMode == PLAYMODE_IDLE) - { - lockMixerCallback(); - memset(editor.keyOnTab, 0, sizeof (editor.keyOnTab)); - playMode = PLAYMODE_EDIT; - editor.ui.updatePosSections = true; // for updating mode text - unlockMixerCallback(); - } - else - { - stopPlaying(); - } - } - break; - - case SDLK_TAB: - { - if (keyb.leftShiftPressed) - cursorTabLeft(); - else - cursorTabRight(); - } - break; - - case SDLK_LEFT: cursorLeft(); break; - case SDLK_RIGHT: cursorRight(); break; - - // function Keys (F1..F12) - - case SDLK_F1: - { - if (keyb.leftShiftPressed) trackTranspAllInsDn(); - else if (keyb.leftCtrlPressed) pattTranspAllInsDn(); - else if (keyb.leftAltPressed) blockTranspAllInsDn(); - else editor.curOctave = 0; - } - break; - - case SDLK_F2: - { - if (keyb.leftShiftPressed) trackTranspAllInsUp(); - else if (keyb.leftCtrlPressed) pattTranspAllInsUp(); - else if (keyb.leftAltPressed) blockTranspAllInsUp(); - else editor.curOctave = 1; - } - break; - - case SDLK_F3: - { - if (keyb.leftShiftPressed) cutTrack(); - else if (keyb.leftCtrlPressed) cutPattern(); - else if (keyb.leftAltPressed) cutBlock(); - else editor.curOctave = 2; - } - break; - - case SDLK_F4: - { - if (keyb.leftShiftPressed) copyTrack(); - else if (keyb.leftCtrlPressed) copyPattern(); - else if (keyb.leftAltPressed) copyBlock(); - else editor.curOctave = 3; - } - break; - - case SDLK_F5: - { - if (keyb.leftShiftPressed) pasteTrack(); - else if (keyb.leftCtrlPressed) pastePattern(); - else if (keyb.leftAltPressed) pasteBlock(); - else editor.curOctave = 4; - } - break; - - case SDLK_F6: editor.curOctave = 5; break; - - case SDLK_F7: - { - if (keyb.leftShiftPressed) trackTranspCurInsDn(); - else if (keyb.leftCtrlPressed) pattTranspCurInsDn(); - else if (keyb.leftAltPressed) blockTranspCurInsDn(); - else editor.curOctave = 6; - } - break; - - case SDLK_F8: - { - if (keyb.leftShiftPressed) trackTranspCurInsUp(); - else if (keyb.leftCtrlPressed) pattTranspCurInsUp(); - else if (keyb.leftAltPressed) blockTranspCurInsUp(); - else editor.curOctave = 6; - } - break; - - case SDLK_F9: - { - lockAudio(); - - song.pattPos = editor.ptnJumpPos[0]; - if (song.pattPos >= song.pattLen) - song.pattPos = song.pattLen - 1; - - if (!songPlaying) - { - editor.pattPos = (uint8_t)song.pattPos; - editor.ui.updatePatternEditor = true; - } - - unlockAudio(); - } - break; - - case SDLK_F10: - { - lockAudio(); - - song.pattPos = editor.ptnJumpPos[1]; - if (song.pattPos >= song.pattLen) - song.pattPos = song.pattLen - 1; - - if (!songPlaying) - { - editor.pattPos = (uint8_t)song.pattPos; - editor.ui.updatePatternEditor = true; - } - - unlockAudio(); - } - break; - - case SDLK_F11: - { - lockAudio(); - - song.pattPos = editor.ptnJumpPos[2]; - if (song.pattPos >= song.pattLen) - song.pattPos = song.pattLen - 1; - - if (!songPlaying) - { - editor.pattPos = (uint8_t)song.pattPos; - editor.ui.updatePatternEditor = true; - } - - unlockAudio(); - } - break; - - case SDLK_F12: - { - lockAudio(); - - song.pattPos = editor.ptnJumpPos[3]; - if (song.pattPos >= song.pattLen) - song.pattPos = song.pattLen - 1; - - if (!songPlaying) - { - editor.pattPos = (uint8_t)song.pattPos; - editor.ui.updatePatternEditor = true; - } - - unlockAudio(); - } - break; - - // PATTERN EDITOR POSITION KEYS - - case SDLK_INSERT: - { - if (keyb.leftShiftPressed) - insertPatternLine(); - else - insertPatternNote(); - } - break; - - case SDLK_BACKSPACE: - { - if (editor.ui.diskOpShown) diskOpGoParent(); - else if (keyb.leftShiftPressed) deletePatternLine(); - else deletePatternNote(); - } - break; - - case SDLK_UP: - { - if (keyb.leftShiftPressed) - { - decCurIns(); - } - else - { - if (keyb.leftAltPressed) - keybPattMarkUp(); - else - rowOneUpWrap(); - } - break; - } - break; - - case SDLK_DOWN: - { - if (keyb.leftShiftPressed) - { - incCurIns(); - } - else - { - if (keyb.leftAltPressed) - keybPattMarkDown(); - else - rowOneDownWrap(); - } - } - break; - - case SDLK_PAGEUP: - { - audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (song.pattPos >= 16) - song.pattPos -= 16; - else - song.pattPos = 0; - - if (!songPlaying) - { - editor.pattPos = (uint8_t)song.pattPos; - editor.ui.updatePatternEditor = true; - } - - if (audioWasntLocked) - unlockAudio(); - } - break; - - case SDLK_PAGEDOWN: - { - audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (song.pattPos < (song.pattLen - 16)) - song.pattPos += 16; - else - song.pattPos = song.pattLen - 1; - - if (!songPlaying) - { - editor.pattPos = (uint8_t)song.pattPos; - editor.ui.updatePatternEditor = true; - } - - if (audioWasntLocked) - unlockAudio(); - } - break; - - case SDLK_HOME: - { - audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - song.pattPos = 0; - if (!songPlaying) - { - editor.pattPos = (uint8_t)song.pattPos; - editor.ui.updatePatternEditor = true; - } - - if (audioWasntLocked) - unlockAudio(); - } - break; - - case SDLK_END: - { - audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - song.pattPos = pattLens[song.pattNr] - 1; - if (!songPlaying) - { - editor.pattPos = (uint8_t)song.pattPos; - editor.ui.updatePatternEditor = true; - } - - if (audioWasntLocked) - unlockAudio(); - } - break; - } -} - -static bool checkModifiedKeys(SDL_Keycode keycode) -{ - // normal keys - switch (keycode) - { - default: break; - - case SDLK_KP_ENTER: - case SDLK_RETURN: - if (keyb.leftAltPressed) - { - toggleFullScreen(); - - // prevent fullscreen toggle from firing twice on certain SDL2 Linux ports -#ifdef __unix__ - SDL_Delay(100); -#endif - return true; - } - break; - - case SDLK_F9: - if (keyb.leftCtrlPressed) - { - startPlaying(PLAYMODE_PATT, editor.ptnJumpPos[0]); - return true; - } - else if (keyb.leftShiftPressed) - { - editor.ptnJumpPos[0] = (uint8_t)editor.pattPos; - return true; - } - break; - - case SDLK_F10: - if (keyb.leftCtrlPressed) - { - startPlaying(PLAYMODE_PATT, editor.ptnJumpPos[1]); - return true; - } - else if (keyb.leftShiftPressed) - { - editor.ptnJumpPos[1] = (uint8_t)editor.pattPos; - return true; - } - break; - - case SDLK_F11: - if (keyb.leftCtrlPressed) - { - startPlaying(PLAYMODE_PATT, editor.ptnJumpPos[2]); - return true; - } - else if (keyb.leftShiftPressed) - { - editor.ptnJumpPos[2] = (uint8_t)editor.pattPos; - return true; - } - break; - - case SDLK_F12: - if (keyb.leftCtrlPressed) - { - startPlaying(PLAYMODE_PATT, editor.ptnJumpPos[3]); - return true; - } - else if (keyb.leftShiftPressed) - { - editor.ptnJumpPos[3] = (uint8_t)editor.pattPos; - return true; - } - break; - - case SDLK_a: - if (keyb.leftCtrlPressed || keyb.leftCommandPressed) - { - if (editor.ui.sampleEditorShown) - rangeAll(); - else - showAdvEdit(); - - return true; - } - else if (keyb.leftAltPressed) - { - if (editor.ui.sampleEditorShown) - rangeAll(); - else - jumpToChannel(8); - - return true; - } - break; - - case SDLK_b: - if (keyb.leftCtrlPressed) - { - if (!editor.ui.aboutScreenShown) - showAboutScreen(); - - return true; - } - break; - - case SDLK_c: - if (keyb.leftAltPressed) - { - if (editor.ui.sampleEditorShown) - { - sampCopy(); - } - else - { - // mark current track (non-FT2 feature) - pattMark.markX1 = editor.cursor.ch; - pattMark.markX2 = pattMark.markX1; - pattMark.markY1 = 0; - pattMark.markY2 = pattLens[editor.editPattern]; - - editor.ui.updatePatternEditor = true; - } - - return true; - } - else if (keyb.leftCtrlPressed || keyb.leftCommandPressed) - { - if (editor.ui.sampleEditorShown) - sampCopy(); - else - showConfigScreen(); - - return true; - } - break; - - case SDLK_d: - if (keyb.leftAltPressed) - { - jumpToChannel(10); - return true; - } - else if (keyb.leftCtrlPressed) - { - if (!editor.ui.diskOpShown) - showDiskOpScreen(); - - return true; - } - break; - - case SDLK_e: - if (keyb.leftAltPressed) - { - jumpToChannel(2); - return true; - } - else if (keyb.leftCtrlPressed) - { - if (editor.ui.aboutScreenShown) hideAboutScreen(); - if (editor.ui.configScreenShown) hideConfigScreen(); - if (editor.ui.helpScreenShown) hideHelpScreen(); - if (editor.ui.nibblesShown) hideNibblesScreen(); - - showSampleEditorExt(); - return true; - } - break; - - case SDLK_f: - if (keyb.leftShiftPressed && keyb.leftCtrlPressed) - { - resetFPSCounter(); - video.showFPSCounter ^= 1; - if (!video.showFPSCounter) - { - if (editor.ui.extended) // kludge, my best friend - exitPatternEditorExtended(); - - showTopScreen(false); - } - } - else if (keyb.leftAltPressed) - { - jumpToChannel(11); - return true; - } - break; - - case SDLK_g: - if (keyb.leftAltPressed) - { - jumpToChannel(12); - return true; - } - break; - - case SDLK_h: - if (keyb.leftAltPressed) - { - jumpToChannel(13); - return true; - } - else if (keyb.leftCtrlPressed) - { - showHelpScreen(); - return true; - } - break; - - case SDLK_i: - if (keyb.leftAltPressed) - { - jumpToChannel(7); - return true; - } - else if (keyb.leftCtrlPressed) - { - showInstEditor(); - return true; - } - break; - - case SDLK_j: - if (keyb.leftAltPressed) - { - jumpToChannel(14); - return true; - } - break; - - case SDLK_k: - if (keyb.leftAltPressed) - { - jumpToChannel(15); - return true; - } - break; - - case SDLK_m: - if (keyb.leftCtrlPressed) - { - if (editor.ui.aboutScreenShown) hideAboutScreen(); - if (editor.ui.configScreenShown) hideConfigScreen(); - if (editor.ui.helpScreenShown) hideHelpScreen(); - if (editor.ui.nibblesShown) hideNibblesScreen(); - - showInstEditorExt(); - - return true; - } - break; - - case SDLK_n: - if (keyb.leftCtrlPressed) - { - showNibblesScreen(); - return true; - } - break; - - case SDLK_p: - if (keyb.leftCtrlPressed) - { - if (!editor.ui.patternEditorShown) - { - if (editor.ui.sampleEditorShown) hideSampleEditor(); - if (editor.ui.sampleEditorExtShown) hideSampleEditorExt(); - if (editor.ui.instEditorShown) hideInstEditor(); - - showPatternEditor(); - } - - return true; - } - break; - - case SDLK_q: - if (keyb.leftAltPressed) - { - jumpToChannel(0); - return true; - } - break; - - case SDLK_r: - if (keyb.leftAltPressed) - { - if (editor.ui.sampleEditorShown) - sampCrop(); - else - jumpToChannel(3); - - return true; - } - else if (keyb.leftCtrlPressed) - { - showTrimScreen(); - return true; - } - break; - - case SDLK_s: - if (keyb.leftAltPressed) - { - if (editor.ui.sampleEditorShown) - showRange(); - else - jumpToChannel(9); - - return true; - } - else if (keyb.leftCtrlPressed) - { - showSampleEditor(); - return true; - } - break; - - case SDLK_t: - if (keyb.leftAltPressed) - { - jumpToChannel(4); - return true; - } - else if (keyb.leftCtrlPressed) - { - showTranspose(); - return true; - } - break; - - case SDLK_u: - if (keyb.leftAltPressed) - { - jumpToChannel(6); - return true; - } - break; - - case SDLK_v: - if (keyb.leftAltPressed) - { - if (editor.ui.sampleEditorShown) sampPaste(); - else if (!editor.ui.instEditorShown) scaleFadeVolumeBlock(); - - return true; - } - else if (keyb.leftCtrlPressed || keyb.leftCommandPressed) - { - if (editor.ui.sampleEditorShown) sampPaste(); - else if (!editor.ui.instEditorShown) scaleFadeVolumePattern(); - - return true; - } - else if (keyb.leftShiftPressed) - { - if (!editor.ui.sampleEditorShown && !editor.ui.instEditorShown) - { - keyb.ignoreTextEditKey = true; // ignore key from first frame - scaleFadeVolumeTrack(); - } - - return true; - } - break; - - case SDLK_w: - if (keyb.leftAltPressed) - { - jumpToChannel(1); - return true; - } - break; - - case SDLK_x: - if (keyb.leftAltPressed) - { - if (editor.ui.sampleEditorShown) - sampCut(); - - return true; - } - else if (keyb.leftCtrlPressed || keyb.leftCommandPressed) - { - if (editor.ui.extended) - exitPatternEditorExtended(); - - if (editor.ui.sampleEditorShown) hideSampleEditor(); - if (editor.ui.sampleEditorExtShown) hideSampleEditorExt(); - if (editor.ui.instEditorShown) hideInstEditor(); - if (editor.ui.instEditorExtShown) hideInstEditorExt(); - if (editor.ui.transposeShown) hideTranspose(); - if (editor.ui.aboutScreenShown) hideAboutScreen(); - if (editor.ui.configScreenShown) hideConfigScreen(); - if (editor.ui.helpScreenShown) hideHelpScreen(); - if (editor.ui.nibblesShown) hideNibblesScreen(); - if (editor.ui.diskOpShown) hideDiskOpScreen(); - if (editor.ui.advEditShown) hideAdvEdit(); - if (editor.ui.wavRendererShown) hideWavRenderer(); - if (editor.ui.trimScreenShown) hideTrimScreen(); - - showTopScreen(false); - showBottomScreen(); - - showPatternEditor(); - - return true; - } - break; - - case SDLK_y: - if (keyb.leftAltPressed) - { - jumpToChannel(5); - return true; - } - break; - - case SDLK_z: - if (keyb.leftAltPressed) - { - if (editor.ui.sampleEditorShown) - zoomOut(); - - return true; - } - else if (keyb.leftCtrlPressed) - { - togglePatternEditorExtended(); - return true; - } - break; - - case SDLK_1: - if (keyb.leftAltPressed) - { - if (keyb.leftShiftPressed) - writeToMacroSlot(1-1); - else - writeFromMacroSlot(1-1); - - return true; - } - else if (keyb.leftCtrlPressed) - { - editor.currConfigScreen = 0; - showConfigScreen(); - checkRadioButton(RB_CONFIG_IO_DEVICES); - - return true; - } - break; - - case SDLK_2: - if (keyb.leftAltPressed) - { - if (keyb.leftShiftPressed) - writeToMacroSlot(2-1); - else - writeFromMacroSlot(2-1); - - return true; - } - else if (keyb.leftCtrlPressed) - { - editor.currConfigScreen = 1; - showConfigScreen(); - checkRadioButton(RB_CONFIG_LAYOUT); - - return true; - } - break; - - case SDLK_3: - if (keyb.leftAltPressed) - { - if (keyb.leftShiftPressed) - writeToMacroSlot(3-1); - else - writeFromMacroSlot(3-1); - - return true; - } - else if (keyb.leftCtrlPressed) - { - editor.currConfigScreen = 2; - showConfigScreen(); - checkRadioButton(RB_CONFIG_MISCELLANEOUS); - - return true; - } - break; - - case SDLK_4: - if (keyb.leftAltPressed) - { - if (keyb.leftShiftPressed) - writeToMacroSlot(4-1); - else - writeFromMacroSlot(4-1); - - return true; - } - else if (keyb.leftCtrlPressed) - { - editor.currConfigScreen = 3; - showConfigScreen(); - checkRadioButton(RB_CONFIG_MIDI_INPUT); - - return true; - } - break; - - case SDLK_5: - if (keyb.leftAltPressed) - { - if (keyb.leftShiftPressed) - writeToMacroSlot(5-1); - else - writeFromMacroSlot(5-1); - - return true; - } - break; - - case SDLK_6: - if (keyb.leftAltPressed) - { - if (keyb.leftShiftPressed) - writeToMacroSlot(6-1); - else - writeFromMacroSlot(6-1); - - return true; - } - break; - - case SDLK_7: - if (keyb.leftAltPressed) - { - if (keyb.leftShiftPressed) - writeToMacroSlot(7-1); - else - writeFromMacroSlot(7-1); - - return true; - } - break; - - case SDLK_8: - if (keyb.leftAltPressed) - { - if (keyb.leftShiftPressed) - writeToMacroSlot(8-1); - else - writeFromMacroSlot(8-1); - - return true; - } - break; - - case SDLK_9: - if (keyb.leftAltPressed) - { - if (keyb.leftShiftPressed) - writeToMacroSlot(9-1); - else - writeFromMacroSlot(9-1); - - return true; - } - break; - - case SDLK_0: - if (keyb.leftAltPressed) - { - if (keyb.leftShiftPressed) - writeToMacroSlot(10-1); - else - writeFromMacroSlot(10-1); - - return true; - } - break; - - case SDLK_LEFT: - if (keyb.leftShiftPressed) - { - decSongPos(); - return true; - } - else if (keyb.leftCtrlPressed) - { - pbEditPattDown(); - return true; - } - else if (keyb.leftAltPressed) - { - keybPattMarkLeft(); - return true; - } - break; - - case SDLK_RIGHT: - if (keyb.leftShiftPressed) - { - incSongPos(); - return true; - } - else if (keyb.leftCtrlPressed) - { - pbEditPattUp(); - return true; - } - else if (keyb.leftAltPressed) - { - keybPattMarkRight(); - return true; - } - break; - } - - return false; -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include "ft2_header.h" +#include "ft2_keyboard.h" +#include "ft2_gui.h" +#include "ft2_about.h" +#include "ft2_video.h" +#include "ft2_edit.h" +#include "ft2_config.h" +#include "ft2_help.h" +#include "ft2_mouse.h" +#include "ft2_nibbles.h" +#include "ft2_inst_ed.h" +#include "ft2_pattern_ed.h" +#include "ft2_diskop.h" +#include "ft2_wav_renderer.h" +#include "ft2_sample_ed.h" +#include "ft2_audio.h" +#include "ft2_trim.h" +#include "ft2_sample_ed_features.h" + +static void handleKeys(SDL_Keycode keycode, SDL_Scancode scanKey); +static bool checkModifiedKeys(SDL_Keycode keycode); + +static const uint8_t scancodeKey2Note[52] = // keys (USB usage page standard) to FT2 notes look-up table +{ + 0x08, 0x05, 0x04, 0x11, 0x00, 0x07, 0x09, 0x19, + 0x0B, 0x00, 0x0E, 0x0C, 0x0A, 0x1B, 0x1D, 0x0D, + 0x12, 0x02, 0x14, 0x18, 0x06, 0x0F, 0x03, 0x16, + 0x01, 0x00, 0x0E, 0x10, 0x00, 0x13, 0x15, 0x17, + 0x00, 0x1A, 0x1C, 0x22, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x1E, 0x20, 0x13, 0x00, 0x10, 0x00, + 0x00, 0x0D, 0x0F, 0x11 +}; + +int8_t scancodeKeyToNote(SDL_Scancode scancode) +{ + int8_t note; + + if (scancode == SDL_SCANCODE_CAPSLOCK || scancode == SDL_SCANCODE_NONUSBACKSLASH) + return 97; // key off + + // translate key to note + note = 0; + if (scancode >= SDL_SCANCODE_B && scancode <= SDL_SCANCODE_SLASH) + note = scancodeKey2Note[(int32_t)scancode - SDL_SCANCODE_B]; + + if (note == 0) + return -1; // not a note key, do further key handling + + return note + (editor.curOctave * 12); +} + +void readKeyModifiers(void) +{ + SDL_Keymod modState; + + modState = SDL_GetModState(); + + keyb.ctrlPressed = (modState & (KMOD_LCTRL | KMOD_RCTRL)) ? true : false; + keyb.leftCtrlPressed = (modState & KMOD_LCTRL) ? true : false; + keyb.leftAltPressed = (modState & KMOD_LALT) ? true : false; + keyb.leftShiftPressed = (modState & KMOD_LSHIFT) ? true : false; +#ifdef __APPLE__ + keyb.commandPressed = (modState & (KMOD_LGUI | KMOD_RGUI)) ? true : false; + keyb.leftCommandPressed = (modState & KMOD_LGUI) ? true : false; +#endif + keyb.keyModifierDown = (modState & (KMOD_LSHIFT | KMOD_LCTRL | KMOD_LALT | KMOD_LGUI)) ? true : false; +} + +void keyUpHandler(SDL_Scancode scancode, SDL_Keycode keycode) +{ + (void)keycode; + + if (editor.editTextFlag || editor.ui.sysReqShown) + return; // kludge: don't handle key up! (XXX: Is this hack really needed anymore?) + + /* Yet another kludge for not leaving a ghost key-up event after an inputBox/okBox + ** was exited with a key press. They could be picked up as note release events. */ + if (keyb.ignoreCurrKeyUp) + { + keyb.ignoreCurrKeyUp = false; + return; + } + + if (editor.cursor.object == CURSOR_NOTE && !keyb.keyModifierDown) + testNoteKeysRelease(scancode); + + if (scancode == SDL_SCANCODE_KP_PLUS) + keyb.numPadPlusPressed = false; + + keyb.keyRepeat = false; +} + +void keyDownHandler(SDL_Scancode scancode, SDL_Keycode keycode, bool keyWasRepeated) +{ + if (keycode == SDLK_UNKNOWN) + return; + + // revert "delete/rename" mouse modes (disk op.) + if (mouse.mode != MOUSE_MODE_NORMAL) + setMouseMode(MOUSE_MODE_NORMAL); + + if (editor.ui.sysReqShown) + { + if (keycode == SDLK_RETURN) + editor.ui.sysReqEnterPressed = true; + else if (keycode == SDLK_ESCAPE) + editor.ui.sysReqShown = false; + + return; + } + + if (testNibblesCheatCodes(keycode)) + return; // current key (+ modifiers) matches nibbles cheat code sequence, ignore current key here + + if (keyWasRepeated) + { + if (editor.NI_Play || !keyb.keyRepeat) + return; // do NOT repeat keys in Nibbles or if keyRepeat is disabled + } + + keyb.keyRepeat = true; + + // handle certain keys (home/end/left/right etc) when editing text + if (editor.editTextFlag) + { + handleTextEditControl(keycode); + return; + } + + if (editor.NI_Play) + { + nibblesKeyAdministrator(scancode); + return; + } + + if (keycode == SDLK_ESCAPE) + { + if (quitBox(false) == 1) + editor.throwExit = true; + + return; + } + + if (scancode == SDL_SCANCODE_KP_PLUS) + keyb.numPadPlusPressed = true; + + if (handleEditKeys(keycode, scancode)) + return; + + if (keyb.keyModifierDown && checkModifiedKeys(keycode)) + return; + + handleKeys(keycode, scancode); // no pattern editing, do general key handling +} + +static void handleKeys(SDL_Keycode keycode, SDL_Scancode scanKey) +{ + bool audioWasntLocked; + uint16_t pattLen; + + // if we're holding numpad plus but not pressing bank keys, don't check any other key + if (keyb.numPadPlusPressed) + { + if (scanKey != SDL_SCANCODE_NUMLOCKCLEAR && scanKey != SDL_SCANCODE_KP_DIVIDE && + scanKey != SDL_SCANCODE_KP_MULTIPLY && scanKey != SDL_SCANCODE_KP_MINUS) + { + return; + } + } + + // handle scankeys (actual key on keyboard, using US keyb. layout) + switch (scanKey) + { + case SDL_SCANCODE_KP_ENTER: pbSwapInstrBank(); return; + + case SDL_SCANCODE_NUMLOCKCLEAR: + { + if (keyb.numPadPlusPressed) + { + if (editor.instrBankSwapped) + pbSetInstrBank13(); + else + pbSetInstrBank5(); + } + else + { + if (editor.instrBankSwapped) + pbSetInstrBank9(); + else + pbSetInstrBank1(); + } + } + return; + + case SDL_SCANCODE_KP_DIVIDE: + { + if (keyb.numPadPlusPressed) + { + if (editor.instrBankSwapped) + pbSetInstrBank14(); + else + pbSetInstrBank6(); + } + else + { + if (editor.instrBankSwapped) + pbSetInstrBank10(); + else + pbSetInstrBank2(); + } + } + return; + + case SDL_SCANCODE_KP_MULTIPLY: + { + if (keyb.numPadPlusPressed) + { + if (editor.instrBankSwapped) + pbSetInstrBank15(); + else + pbSetInstrBank7(); + } + else + { + if (editor.instrBankSwapped) + pbSetInstrBank11(); + else + pbSetInstrBank3(); + } + } + return; + + case SDL_SCANCODE_KP_MINUS: + { + if (keyb.numPadPlusPressed) + { + if (editor.instrBankSwapped) + pbSetInstrBank16(); + else + pbSetInstrBank8(); + } + else + { + if (editor.instrBankSwapped) + pbSetInstrBank12(); + else + pbSetInstrBank4(); + } + } + return; + + case SDL_SCANCODE_KP_PERIOD: + { + if (editor.curInstr > 0) + { + if (keyb.leftShiftPressed) // this only triggers if num lock is off. Probably an SDL bug... + { + clearSample(); + } + else + { + if (editor.curInstr == 0 || instr[editor.curInstr] == NULL) + return; + + if (okBox(1, "System request", "Clear instrument?") == 1) + { + freeInstr(editor.curInstr); + updateNewInstrument(); + setSongModifiedFlag(); + } + } + } + } + return; + + case SDL_SCANCODE_KP_0: setNewInstr(0); return; + case SDL_SCANCODE_KP_1: setNewInstr(editor.instrBankOffset+1); return; + case SDL_SCANCODE_KP_2: setNewInstr(editor.instrBankOffset+2); return; + case SDL_SCANCODE_KP_3: setNewInstr(editor.instrBankOffset+3); return; + case SDL_SCANCODE_KP_4: setNewInstr(editor.instrBankOffset+4); return; + case SDL_SCANCODE_KP_5: setNewInstr(editor.instrBankOffset+5); return; + case SDL_SCANCODE_KP_6: setNewInstr(editor.instrBankOffset+6); return; + case SDL_SCANCODE_KP_7: setNewInstr(editor.instrBankOffset+7); return; + case SDL_SCANCODE_KP_8: setNewInstr(editor.instrBankOffset+8); return; + + case SDL_SCANCODE_GRAVE: // "key below esc" + { + if (keyb.leftShiftPressed) + { + // decrease edit skip + if (editor.ID_Add == 0) + editor.ID_Add = 16; + else + editor.ID_Add--; + } + else + { + // increase edit skip + if (editor.ID_Add == 16) + editor.ID_Add = 0; + else + editor.ID_Add++; + } + + if (!editor.ui.nibblesShown && !editor.ui.configScreenShown && + !editor.ui.aboutScreenShown && !editor.ui.diskOpShown && + !editor.ui.helpScreenShown && !editor.ui.extended) + { + drawIDAdd(); + } + } + return; + + default: break; + } + + // no normal key (keycode) pressed (XXX: shouldn't happen? Whatever...) + if (keycode == SDLK_UNKNOWN) + return; + + // handle normal keys (keycodes - affected by keyb. layout in OS) + switch (keycode) + { + default: return; + + case SDLK_DELETE: // non-FT2 addition + { + if (editor.ui.sampleEditorShown) + sampCut(); + } + break; + + // note off + case SDLK_LESS: + case SDLK_CAPSLOCK: + { + if (playMode == PLAYMODE_EDIT || playMode == PLAYMODE_RECPATT || playMode == PLAYMODE_RECSONG) + { + if (!allocatePattern(editor.editPattern)) + break; + + patt[editor.editPattern][(editor.pattPos * MAX_VOICES) + editor.cursor.ch].ton = 97; + + pattLen = pattLens[editor.editPattern]; + if (playMode == PLAYMODE_EDIT && pattLen >= 1) + setPos(-1, (editor.pattPos + editor.ID_Add) % pattLen, true); + + editor.ui.updatePatternEditor = true; + setSongModifiedFlag(); + } + } + break; + + //case SDLK_PRINTSCREEN: togglePatternEditorExtended(); break; + + // EDIT/PLAY KEYS + + // record song + case SDLK_RSHIFT: startPlaying(PLAYMODE_RECSONG, 0); break; + + // play song +#ifdef __APPLE__ + case SDLK_RGUI: // fall-through for Apple keyboards +#endif + case SDLK_RCTRL: + startPlaying(PLAYMODE_SONG, 0); + break; + + // play pattern + case SDLK_RALT: startPlaying(PLAYMODE_PATT, 0); break; + + case SDLK_SPACE: + { + if (playMode == PLAYMODE_IDLE) + { + lockMixerCallback(); + memset(editor.keyOnTab, 0, sizeof (editor.keyOnTab)); + playMode = PLAYMODE_EDIT; + editor.ui.updatePosSections = true; // for updating mode text + unlockMixerCallback(); + } + else + { + stopPlaying(); + } + } + break; + + case SDLK_TAB: + { + if (keyb.leftShiftPressed) + cursorTabLeft(); + else + cursorTabRight(); + } + break; + + case SDLK_LEFT: cursorLeft(); break; + case SDLK_RIGHT: cursorRight(); break; + + // function Keys (F1..F12) + + case SDLK_F1: + { + if (keyb.leftShiftPressed) trackTranspAllInsDn(); + else if (keyb.leftCtrlPressed) pattTranspAllInsDn(); + else if (keyb.leftAltPressed) blockTranspAllInsDn(); + else editor.curOctave = 0; + } + break; + + case SDLK_F2: + { + if (keyb.leftShiftPressed) trackTranspAllInsUp(); + else if (keyb.leftCtrlPressed) pattTranspAllInsUp(); + else if (keyb.leftAltPressed) blockTranspAllInsUp(); + else editor.curOctave = 1; + } + break; + + case SDLK_F3: + { + if (keyb.leftShiftPressed) cutTrack(); + else if (keyb.leftCtrlPressed) cutPattern(); + else if (keyb.leftAltPressed) cutBlock(); + else editor.curOctave = 2; + } + break; + + case SDLK_F4: + { + if (keyb.leftShiftPressed) copyTrack(); + else if (keyb.leftCtrlPressed) copyPattern(); + else if (keyb.leftAltPressed) copyBlock(); + else editor.curOctave = 3; + } + break; + + case SDLK_F5: + { + if (keyb.leftShiftPressed) pasteTrack(); + else if (keyb.leftCtrlPressed) pastePattern(); + else if (keyb.leftAltPressed) pasteBlock(); + else editor.curOctave = 4; + } + break; + + case SDLK_F6: editor.curOctave = 5; break; + + case SDLK_F7: + { + if (keyb.leftShiftPressed) trackTranspCurInsDn(); + else if (keyb.leftCtrlPressed) pattTranspCurInsDn(); + else if (keyb.leftAltPressed) blockTranspCurInsDn(); + else editor.curOctave = 6; + } + break; + + case SDLK_F8: + { + if (keyb.leftShiftPressed) trackTranspCurInsUp(); + else if (keyb.leftCtrlPressed) pattTranspCurInsUp(); + else if (keyb.leftAltPressed) blockTranspCurInsUp(); + else editor.curOctave = 6; + } + break; + + case SDLK_F9: + { + lockAudio(); + + song.pattPos = editor.ptnJumpPos[0]; + if (song.pattPos >= song.pattLen) + song.pattPos = song.pattLen - 1; + + if (!songPlaying) + { + editor.pattPos = (uint8_t)song.pattPos; + editor.ui.updatePatternEditor = true; + } + + unlockAudio(); + } + break; + + case SDLK_F10: + { + lockAudio(); + + song.pattPos = editor.ptnJumpPos[1]; + if (song.pattPos >= song.pattLen) + song.pattPos = song.pattLen - 1; + + if (!songPlaying) + { + editor.pattPos = (uint8_t)song.pattPos; + editor.ui.updatePatternEditor = true; + } + + unlockAudio(); + } + break; + + case SDLK_F11: + { + lockAudio(); + + song.pattPos = editor.ptnJumpPos[2]; + if (song.pattPos >= song.pattLen) + song.pattPos = song.pattLen - 1; + + if (!songPlaying) + { + editor.pattPos = (uint8_t)song.pattPos; + editor.ui.updatePatternEditor = true; + } + + unlockAudio(); + } + break; + + case SDLK_F12: + { + lockAudio(); + + song.pattPos = editor.ptnJumpPos[3]; + if (song.pattPos >= song.pattLen) + song.pattPos = song.pattLen - 1; + + if (!songPlaying) + { + editor.pattPos = (uint8_t)song.pattPos; + editor.ui.updatePatternEditor = true; + } + + unlockAudio(); + } + break; + + // PATTERN EDITOR POSITION KEYS + + case SDLK_INSERT: + { + if (keyb.leftShiftPressed) + insertPatternLine(); + else + insertPatternNote(); + } + break; + + case SDLK_BACKSPACE: + { + if (editor.ui.diskOpShown) diskOpGoParent(); + else if (keyb.leftShiftPressed) deletePatternLine(); + else deletePatternNote(); + } + break; + + case SDLK_UP: + { + if (keyb.leftShiftPressed) + { + decCurIns(); + } + else + { + if (keyb.leftAltPressed) + keybPattMarkUp(); + else + rowOneUpWrap(); + } + break; + } + break; + + case SDLK_DOWN: + { + if (keyb.leftShiftPressed) + { + incCurIns(); + } + else + { + if (keyb.leftAltPressed) + keybPattMarkDown(); + else + rowOneDownWrap(); + } + } + break; + + case SDLK_PAGEUP: + { + audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (song.pattPos >= 16) + song.pattPos -= 16; + else + song.pattPos = 0; + + if (!songPlaying) + { + editor.pattPos = (uint8_t)song.pattPos; + editor.ui.updatePatternEditor = true; + } + + if (audioWasntLocked) + unlockAudio(); + } + break; + + case SDLK_PAGEDOWN: + { + audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (song.pattPos < (song.pattLen - 16)) + song.pattPos += 16; + else + song.pattPos = song.pattLen - 1; + + if (!songPlaying) + { + editor.pattPos = (uint8_t)song.pattPos; + editor.ui.updatePatternEditor = true; + } + + if (audioWasntLocked) + unlockAudio(); + } + break; + + case SDLK_HOME: + { + audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + song.pattPos = 0; + if (!songPlaying) + { + editor.pattPos = (uint8_t)song.pattPos; + editor.ui.updatePatternEditor = true; + } + + if (audioWasntLocked) + unlockAudio(); + } + break; + + case SDLK_END: + { + audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + song.pattPos = pattLens[song.pattNr] - 1; + if (!songPlaying) + { + editor.pattPos = (uint8_t)song.pattPos; + editor.ui.updatePatternEditor = true; + } + + if (audioWasntLocked) + unlockAudio(); + } + break; + } +} + +static bool checkModifiedKeys(SDL_Keycode keycode) +{ + // normal keys + switch (keycode) + { + default: break; + + case SDLK_KP_ENTER: + case SDLK_RETURN: + if (keyb.leftAltPressed) + { + toggleFullScreen(); + + // prevent fullscreen toggle from firing twice on certain SDL2 Linux ports +#ifdef __unix__ + SDL_Delay(100); +#endif + return true; + } + break; + + case SDLK_F9: + if (keyb.leftCtrlPressed) + { + startPlaying(PLAYMODE_PATT, editor.ptnJumpPos[0]); + return true; + } + else if (keyb.leftShiftPressed) + { + editor.ptnJumpPos[0] = (uint8_t)editor.pattPos; + return true; + } + break; + + case SDLK_F10: + if (keyb.leftCtrlPressed) + { + startPlaying(PLAYMODE_PATT, editor.ptnJumpPos[1]); + return true; + } + else if (keyb.leftShiftPressed) + { + editor.ptnJumpPos[1] = (uint8_t)editor.pattPos; + return true; + } + break; + + case SDLK_F11: + if (keyb.leftCtrlPressed) + { + startPlaying(PLAYMODE_PATT, editor.ptnJumpPos[2]); + return true; + } + else if (keyb.leftShiftPressed) + { + editor.ptnJumpPos[2] = (uint8_t)editor.pattPos; + return true; + } + break; + + case SDLK_F12: + if (keyb.leftCtrlPressed) + { + startPlaying(PLAYMODE_PATT, editor.ptnJumpPos[3]); + return true; + } + else if (keyb.leftShiftPressed) + { + editor.ptnJumpPos[3] = (uint8_t)editor.pattPos; + return true; + } + break; + + case SDLK_a: + if (keyb.leftCtrlPressed || keyb.leftCommandPressed) + { + if (editor.ui.sampleEditorShown) + rangeAll(); + else + showAdvEdit(); + + return true; + } + else if (keyb.leftAltPressed) + { + if (editor.ui.sampleEditorShown) + rangeAll(); + else + jumpToChannel(8); + + return true; + } + break; + + case SDLK_b: + if (keyb.leftCtrlPressed) + { + if (!editor.ui.aboutScreenShown) + showAboutScreen(); + + return true; + } + break; + + case SDLK_c: + if (keyb.leftAltPressed) + { + if (editor.ui.sampleEditorShown) + { + sampCopy(); + } + else + { + // mark current track (non-FT2 feature) + pattMark.markX1 = editor.cursor.ch; + pattMark.markX2 = pattMark.markX1; + pattMark.markY1 = 0; + pattMark.markY2 = pattLens[editor.editPattern]; + + editor.ui.updatePatternEditor = true; + } + + return true; + } + else if (keyb.leftCtrlPressed || keyb.leftCommandPressed) + { + if (editor.ui.sampleEditorShown) + sampCopy(); + else + showConfigScreen(); + + return true; + } + break; + + case SDLK_d: + if (keyb.leftAltPressed) + { + jumpToChannel(10); + return true; + } + else if (keyb.leftCtrlPressed) + { + if (!editor.ui.diskOpShown) + showDiskOpScreen(); + + return true; + } + break; + + case SDLK_e: + if (keyb.leftAltPressed) + { + jumpToChannel(2); + return true; + } + else if (keyb.leftCtrlPressed) + { + if (editor.ui.aboutScreenShown) hideAboutScreen(); + if (editor.ui.configScreenShown) hideConfigScreen(); + if (editor.ui.helpScreenShown) hideHelpScreen(); + if (editor.ui.nibblesShown) hideNibblesScreen(); + + showSampleEditorExt(); + return true; + } + break; + + case SDLK_f: +#ifdef __APPLE__ + if (keyb.leftCommandPressed && keyb.leftCtrlPressed) + { + toggleFullScreen(); + return true; + } + else +#endif + if (keyb.leftShiftPressed && keyb.leftCtrlPressed) + { + resetFPSCounter(); + video.showFPSCounter ^= 1; + if (!video.showFPSCounter) + { + if (editor.ui.extended) // yet another kludge... + exitPatternEditorExtended(); + + showTopScreen(false); + } + } + else if (keyb.leftAltPressed) + { + jumpToChannel(11); + return true; + } + break; + + case SDLK_g: + if (keyb.leftAltPressed) + { + jumpToChannel(12); + return true; + } + break; + + case SDLK_h: + if (keyb.leftAltPressed) + { + jumpToChannel(13); + return true; + } + else if (keyb.leftCtrlPressed) + { + showHelpScreen(); + return true; + } + break; + + case SDLK_i: + if (keyb.leftAltPressed) + { + jumpToChannel(7); + return true; + } + else if (keyb.leftCtrlPressed) + { + showInstEditor(); + return true; + } + break; + + case SDLK_j: + if (keyb.leftAltPressed) + { + jumpToChannel(14); + return true; + } + break; + + case SDLK_k: + if (keyb.leftAltPressed) + { + jumpToChannel(15); + return true; + } + break; + + case SDLK_m: + if (keyb.leftCtrlPressed) + { + if (editor.ui.aboutScreenShown) hideAboutScreen(); + if (editor.ui.configScreenShown) hideConfigScreen(); + if (editor.ui.helpScreenShown) hideHelpScreen(); + if (editor.ui.nibblesShown) hideNibblesScreen(); + + showInstEditorExt(); + + return true; + } + break; + + case SDLK_n: + if (keyb.leftCtrlPressed) + { + showNibblesScreen(); + return true; + } + break; + + case SDLK_p: + if (keyb.leftCtrlPressed) + { + if (!editor.ui.patternEditorShown) + { + if (editor.ui.sampleEditorShown) hideSampleEditor(); + if (editor.ui.sampleEditorExtShown) hideSampleEditorExt(); + if (editor.ui.instEditorShown) hideInstEditor(); + + showPatternEditor(); + } + + return true; + } + break; + + case SDLK_q: + if (keyb.leftAltPressed) + { + jumpToChannel(0); + return true; + } + break; + + case SDLK_r: + if (keyb.leftAltPressed) + { + if (editor.ui.sampleEditorShown) + sampCrop(); + else + jumpToChannel(3); + + return true; + } + else if (keyb.leftCtrlPressed) + { + showTrimScreen(); + return true; + } + break; + + case SDLK_s: + if (keyb.leftAltPressed) + { + if (editor.ui.sampleEditorShown) + showRange(); + else + jumpToChannel(9); + + return true; + } + else if (keyb.leftCtrlPressed) + { + showSampleEditor(); + return true; + } + break; + + case SDLK_t: + if (keyb.leftAltPressed) + { + jumpToChannel(4); + return true; + } + else if (keyb.leftCtrlPressed) + { + showTranspose(); + return true; + } + break; + + case SDLK_u: + if (keyb.leftAltPressed) + { + jumpToChannel(6); + return true; + } + break; + + case SDLK_v: + if (keyb.leftAltPressed) + { + if (editor.ui.sampleEditorShown) + sampPaste(); + else if (!editor.ui.instEditorShown) + scaleFadeVolumeBlock(); + + return true; + } + else if (keyb.leftCtrlPressed || keyb.leftCommandPressed) + { + if (editor.ui.sampleEditorShown) + sampPaste(); + else if (!editor.ui.instEditorShown) + scaleFadeVolumePattern(); + + return true; + } + else if (keyb.leftShiftPressed) + { + if (!editor.ui.sampleEditorShown && !editor.ui.instEditorShown) + { + keyb.ignoreTextEditKey = true; // ignore key from first frame + scaleFadeVolumeTrack(); + } + + return true; + } + break; + + case SDLK_w: + if (keyb.leftAltPressed) + { + jumpToChannel(1); + return true; + } + break; + + case SDLK_x: + if (keyb.leftAltPressed) + { + if (editor.ui.sampleEditorShown) + sampCut(); + + return true; + } + else if (keyb.leftCtrlPressed || keyb.leftCommandPressed) + { + if (editor.ui.extended) + exitPatternEditorExtended(); + + if (editor.ui.sampleEditorShown) hideSampleEditor(); + if (editor.ui.sampleEditorExtShown) hideSampleEditorExt(); + if (editor.ui.instEditorShown) hideInstEditor(); + if (editor.ui.instEditorExtShown) hideInstEditorExt(); + if (editor.ui.transposeShown) hideTranspose(); + if (editor.ui.aboutScreenShown) hideAboutScreen(); + if (editor.ui.configScreenShown) hideConfigScreen(); + if (editor.ui.helpScreenShown) hideHelpScreen(); + if (editor.ui.nibblesShown) hideNibblesScreen(); + if (editor.ui.diskOpShown) hideDiskOpScreen(); + if (editor.ui.advEditShown) hideAdvEdit(); + if (editor.ui.wavRendererShown) hideWavRenderer(); + if (editor.ui.trimScreenShown) hideTrimScreen(); + + showTopScreen(false); + showBottomScreen(); + + showPatternEditor(); + + return true; + } + break; + + case SDLK_y: + if (keyb.leftAltPressed) + { + jumpToChannel(5); + return true; + } + break; + + case SDLK_z: + if (keyb.leftAltPressed) + { + if (editor.ui.sampleEditorShown) + zoomOut(); + + return true; + } + else if (keyb.leftCtrlPressed) + { + togglePatternEditorExtended(); + return true; + } + break; + + case SDLK_1: + if (keyb.leftAltPressed) + { + if (keyb.leftShiftPressed) + writeToMacroSlot(1-1); + else + writeFromMacroSlot(1-1); + + return true; + } + else if (keyb.leftCtrlPressed) + { + editor.currConfigScreen = 0; + showConfigScreen(); + checkRadioButton(RB_CONFIG_IO_DEVICES); + + return true; + } + break; + + case SDLK_2: + if (keyb.leftAltPressed) + { + if (keyb.leftShiftPressed) + writeToMacroSlot(2-1); + else + writeFromMacroSlot(2-1); + + return true; + } + else if (keyb.leftCtrlPressed) + { + editor.currConfigScreen = 1; + showConfigScreen(); + checkRadioButton(RB_CONFIG_LAYOUT); + + return true; + } + break; + + case SDLK_3: + if (keyb.leftAltPressed) + { + if (keyb.leftShiftPressed) + writeToMacroSlot(3-1); + else + writeFromMacroSlot(3-1); + + return true; + } + else if (keyb.leftCtrlPressed) + { + editor.currConfigScreen = 2; + showConfigScreen(); + checkRadioButton(RB_CONFIG_MISCELLANEOUS); + + return true; + } + break; + + case SDLK_4: + if (keyb.leftAltPressed) + { + if (keyb.leftShiftPressed) + writeToMacroSlot(4-1); + else + writeFromMacroSlot(4-1); + + return true; + } +#ifdef HAS_MIDI + else if (keyb.leftCtrlPressed) + { + editor.currConfigScreen = 3; + showConfigScreen(); + checkRadioButton(RB_CONFIG_MIDI_INPUT); + + return true; + } +#endif + break; + + case SDLK_5: + if (keyb.leftAltPressed) + { + if (keyb.leftShiftPressed) + writeToMacroSlot(5-1); + else + writeFromMacroSlot(5-1); + + return true; + } + break; + + case SDLK_6: + if (keyb.leftAltPressed) + { + if (keyb.leftShiftPressed) + writeToMacroSlot(6-1); + else + writeFromMacroSlot(6-1); + + return true; + } + break; + + case SDLK_7: + if (keyb.leftAltPressed) + { + if (keyb.leftShiftPressed) + writeToMacroSlot(7-1); + else + writeFromMacroSlot(7-1); + + return true; + } + break; + + case SDLK_8: + if (keyb.leftAltPressed) + { + if (keyb.leftShiftPressed) + writeToMacroSlot(8-1); + else + writeFromMacroSlot(8-1); + + return true; + } + break; + + case SDLK_9: + if (keyb.leftAltPressed) + { + if (keyb.leftShiftPressed) + writeToMacroSlot(9-1); + else + writeFromMacroSlot(9-1); + + return true; + } + break; + + case SDLK_0: + if (keyb.leftAltPressed) + { + if (keyb.leftShiftPressed) + writeToMacroSlot(10-1); + else + writeFromMacroSlot(10-1); + + return true; + } + break; + + case SDLK_LEFT: + if (keyb.leftShiftPressed) + { + decSongPos(); + return true; + } + else if (keyb.leftCtrlPressed) + { + pbEditPattDown(); + return true; + } + else if (keyb.leftAltPressed) + { + keybPattMarkLeft(); + return true; + } + break; + + case SDLK_RIGHT: + if (keyb.leftShiftPressed) + { + incSongPos(); + return true; + } + else if (keyb.leftCtrlPressed) + { + pbEditPattUp(); + return true; + } + else if (keyb.leftAltPressed) + { + keybPattMarkRight(); + return true; + } + break; + } + + return false; +} diff --git a/src/ft2_keyboard.h b/src/ft2_keyboard.h index 4cdf28c..1c2b0d4 100644 --- a/src/ft2_keyboard.h +++ b/src/ft2_keyboard.h @@ -1,18 +1,18 @@ -#pragma once - -#include -#include -#include - -struct keyb_t -{ - uint8_t keyRepeat, keyPressed; - bool ignoreCurrKeyUp, ignoreTextEditKey, numPadPlusPressed; - bool keyModifierDown, commandPressed, leftCommandPressed; - bool leftShiftPressed, leftCtrlPressed, ctrlPressed, leftAltPressed; -} keyb; - -int8_t scancodeKeyToNote(SDL_Scancode scancode); -void keyUpHandler(SDL_Scancode scancode, SDL_Keycode keycode); -void keyDownHandler(SDL_Scancode scancode, SDL_Keycode keycode, bool keyWasRepeated); -void readKeyModifiers(void); +#pragma once + +#include +#include +#include + +struct keyb_t +{ + uint8_t keyRepeat, keyPressed; + bool ignoreCurrKeyUp, ignoreTextEditKey, numPadPlusPressed; + bool keyModifierDown, commandPressed, leftCommandPressed; + bool leftShiftPressed, leftCtrlPressed, ctrlPressed, leftAltPressed; +} keyb; + +int8_t scancodeKeyToNote(SDL_Scancode scancode); +void keyUpHandler(SDL_Scancode scancode, SDL_Keycode keycode); +void keyDownHandler(SDL_Scancode scancode, SDL_Keycode keycode, bool keyWasRepeated); +void readKeyModifiers(void); diff --git a/src/ft2_main.c b/src/ft2_main.c index 74317ec..8dfa1c5 100644 --- a/src/ft2_main.c +++ b/src/ft2_main.c @@ -1,440 +1,458 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include // modf() -#ifdef _WIN32 -#define WIN32_MEAN_AND_LEAN -#include -#include -#else -#include // chdir() -#endif -#include "ft2_header.h" -#include "ft2_gui.h" -#include "ft2_video.h" -#include "ft2_audio.h" -#include "ft2_mouse.h" -#include "ft2_keyboard.h" -#include "ft2_config.h" -#include "ft2_sample_ed.h" -#include "ft2_diskop.h" -#include "ft2_scopes.h" -#include "ft2_about.h" -#include "ft2_pattern_ed.h" -#include "ft2_module_loader.h" -#include "ft2_sampling.h" -#include "ft2_audioselector.h" -#include "ft2_help.h" -#include "ft2_midi.h" -#include "ft2_events.h" - -static SDL_Thread *initMidiThread; - -static void setupPerfFreq(void); -static void initializeVars(void); -static void cleanUpAndExit(void); // never call this inside the main loop -#ifdef __APPLE__ -static void osxSetDirToProgramDirFromArgs(char **argv); -#endif - -#ifdef _WIN32 -static void disableWasapi(void); -#endif - -int main(int argc, char *argv[]) -{ -#if defined _WIN32 || defined __APPLE__ - SDL_version sdlVer; -#endif - - // for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER - _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); -#endif - -#if SDL_PATCHLEVEL < 5 -#pragma message("WARNING: The SDL2 dev lib is older than ver 2.0.5. You'll get fullscreen mode issues and no audio input sampling.") -#pragma message("At least version 2.0.7 is recommended.") -#endif - - SDL_SetThreadPriority(SDL_THREAD_PRIORITY_HIGH); - - initializeVars(); - setupCrashHandler(); - - // on Windows and macOS, test what version SDL2.DLL is (against library version used in compilation) -#if defined _WIN32 || defined __APPLE__ - SDL_GetVersion(&sdlVer); - if (sdlVer.major != SDL_MAJOR_VERSION || sdlVer.minor != SDL_MINOR_VERSION || sdlVer.patch != SDL_PATCHLEVEL) - { -#ifdef _WIN32 - showErrorMsgBox("SDL2.dll is not the expected version, the program will terminate.\n\n" \ - "Loaded dll version: %d.%d.%d\n" \ - "Required (compiled with) version: %d.%d.%d\n\n" \ - "The needed SDL2.dll is located in the .zip from 16-bits.org/ft2.php\n", - sdlVer.major, sdlVer.minor, sdlVer.patch, - SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL); -#else - showErrorMsgBox("The loaded SDL2 library is not the expected version, the program will terminate.\n\n" \ - "Loaded library version: %d.%d.%d\n" \ - "Required (compiled with) version: %d.%d.%d", - sdlVer.major, sdlVer.minor, sdlVer.patch, - SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL); -#endif - return 0; - } -#endif - -#if SDL_PATCHLEVEL >= 4 // SDL 2.0.4 or later - SDL_SetHint(SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4, "1"); // windows only - prevent ALT+F4 from exiting (FT2 uses ALT+F4) -#endif - -#ifdef _WIN32 - if (!cpu.hasSSE) - { - showErrorMsgBox("Your computer's processor doesn't have the SSE instruction set\n" \ - "which is needed for this program to run. Sorry!"); - return 0; - } - - setupWin32Usleep(); - disableWasapi(); // disable problematic WASAPI SDL2 audio driver on Windows (causes clicks/pops sometimes...) -#endif - - /* SDL 2.0.9 for Windows has a serious bug where you need to initialize the joystick subsystem - ** (even if you don't use it) or else weird things happen like random stutters, keyboard (rarely) being - ** reinitialized in Windows and what not. - ** Ref.: https://bugzilla.libsdl.org/show_bug.cgi?id=4391 */ -#if defined _WIN32 && SDL_PATCHLEVEL == 9 - if (SDL_Init(SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_JOYSTICK) != 0) -#else - if (SDL_Init(SDL_INIT_AUDIO | SDL_INIT_VIDEO) != 0) -#endif - { - showErrorMsgBox("Couldn't initialize SDL:\n%s", SDL_GetError()); - return 1; - } - - createSDL2Cursors(); - - /* Text input is started by default in SDL2, turn it off to remove ~2ms spikes per key press. - ** We manuallay start it again when a text edit box is activated, and stop it when done. - ** Ref.: https://bugzilla.libsdl.org/show_bug.cgi?id=4166 */ - SDL_StopTextInput(); - -#ifdef __APPLE__ - osxSetDirToProgramDirFromArgs(argv); -#endif - UNICHAR_GETCWD(editor.binaryPathU, PATH_MAX); - - loadConfigOrSetDefaults(); - if (!setupWindow() || !setupRenderer()) - { - cleanUpAndExit(); - return 1; - } - -#ifdef _WIN32 - // allow only one instance, and send arguments to it (what song to play) - if (handleSingleInstancing(argc, argv)) - { - cleanUpAndExit(); - return 0; // close current instance, the main instance got a message now - } -#endif - - if (!setupDiskOp()) - { - cleanUpAndExit(); - return 1; - } - - audio.currOutputDevice = getAudioOutputDeviceFromConfig(); - audio.currInputDevice = getAudioInputDeviceFromConfig(); - - setupPerfFreq(); - - if (!setupAudio(CONFIG_HIDE_ERRORS)) - { - // one LAST attempt (with default audio device and settings) -#ifdef __APPLE__ - config.audioFreq = 44100; -#else - config.audioFreq = 48000; -#endif - // try 16-bit audio at 1024 samples (44.1kHz/48kHz) - config.specialFlags &= ~(BITDEPTH_24 + BUFFSIZE_512 + BUFFSIZE_2048 + BUFFSIZE_4096); - config.specialFlags |= (BITDEPTH_16 + BUFFSIZE_1024); - - setToDefaultAudioOutputDevice(); - if (!setupAudio(CONFIG_SHOW_ERRORS)) - { - cleanUpAndExit(); // still no go... - return 1; - } - } - - if (!setupReplayer() || !setupGUI() || !initScopes()) - { - cleanUpAndExit(); - return 1; - } - - pauseAudio(); - resumeAudio(); - rescanAudioDevices(); - - SDL_ShowWindow(video.window); - if (config.windowFlags & START_IN_FULLSCR) - { - video.fullscreen = true; - enterFullscreen(); - } - - //benchmarkAudioChannelMixer(); // for development testing - - // set up MIDI input (in a thread because it can take quite a while on f.ex. macOS) - initMidiThread = SDL_CreateThread(initMidiFunc, NULL, NULL); - if (initMidiThread == NULL) - { - showErrorMsgBox("Couldn't create MIDI initialization thread!"); - cleanUpAndExit(); - return 1; - } - SDL_DetachThread(initMidiThread); // don't wait for this thread, let it clean up when done - - SDL_EventState(SDL_DROPFILE, SDL_ENABLE); - - setupWaitVBL(); - handleModuleLoadFromArg(argc, argv); - while (editor.programRunning) - { - beginFPSCounter(); - handleThreadEvents(); - readInput(); - handleEvents(); - handleRedrawing(); - flipFrame(); - endFPSCounter(); - } - - if (config.cfg_AutoSave) - saveConfig(CONFIG_HIDE_ERRORS); - - cleanUpAndExit(); - return 0; -} - -static void initializeVars(void) -{ - int32_t i; - - cpu.hasSSE = SDL_HasSSE(); - cpu.hasSSE2 = SDL_HasSSE2(); - - // clear common structs - memset(&video, 0, sizeof (video)); - memset(&keyb, 0, sizeof (keyb)); - memset(&mouse, 0, sizeof (mouse)); - memset(&editor, 0, sizeof (editor)); - memset(&pattMark, 0, sizeof (pattMark)); - memset(&pattSync, 0, sizeof (pattSync)); - memset(&chSync, 0, sizeof (chSync)); - memset(&song, 0, sizeof (song)); - - for (i = 0; i < MAX_VOICES; i++) - { - lastChInstr[i].instrNr = 255; - lastChInstr[i].sampleNr = 255; - } - - // now set data that must be initialized to non-zero values... - - audio.locked = true; - audio.rescanAudioDevicesSupported = true; - - strcpy(editor.ui.fullscreenButtonText, "Go fullscreen"); - - // set non-zero values - - editor.moduleSaveMode = MOD_SAVE_MODE_XM; - editor.sampleSaveMode = SMP_SAVE_MODE_WAV; - - editor.ui.sampleDataOrLoopDrag = -1; - - mouse.lastUsedObjectID = OBJECT_ID_NONE; - - editor.ID_Add = 1; - editor.srcInstr = 1; - editor.curInstr = 1; - editor.curOctave = 4; - editor.smpEd_NoteNr = 48 + 1; // middle-C - - editor.ptnJumpPos[0] = 0x00; - editor.ptnJumpPos[1] = 0x10; - editor.ptnJumpPos[2] = 0x20; - editor.ptnJumpPos[3] = 0x30; - - editor.copyMaskEnable = true; - memset(editor.copyMask, 1, sizeof (editor.copyMask)); - memset(editor.pasteMask, 1, sizeof (editor.pasteMask)); - - midi.enable = true; - - editor.diskOpReadOnOpen = true; - editor.programRunning = true; -} - -static void cleanUpAndExit(void) // never call this inside the main loop! -{ - if (midi.closeMidiOnExit) - { - closeMidiInDevice(); - freeMidiIn(); - } - - closeAudio(); - closeReplayer(); - closeVideo(); - freeSprites(); - freeDiskOp(); - clearCopyBuffer(); - freeAudioDeviceSelectorBuffers(); - freeMidiInputDeviceList(); - windUpFTHelp(); - freeTextBoxes(); - freeSDL2Cursors(); - - if (midi.inputDeviceName != NULL) - { - free(midi.inputDeviceName); - midi.inputDeviceName = NULL; - } - - if (editor.audioDevConfigFileLocation != NULL) - { - free(editor.audioDevConfigFileLocation); - editor.audioDevConfigFileLocation = NULL; - } - - if (editor.configFileLocation != NULL) - { - free(editor.configFileLocation); - editor.configFileLocation = NULL; - } - - if (editor.midiConfigFileLocation != NULL) - { - free(editor.midiConfigFileLocation); - editor.midiConfigFileLocation = NULL; - } - -#ifdef _WIN32 - freeWin32Usleep(); - closeSingleInstancing(); -#endif - - SDL_Quit(); -} - -#ifdef __APPLE__ -static void osxSetDirToProgramDirFromArgs(char **argv) -{ - char *tmpPath; - int32_t i, tmpPathLen; - - /* OS X/macOS: hackish way of setting the current working directory to the place where we double clicked - ** on the icon (for protracker.ini loading) - */ - - // if we launched from the terminal, argv[0][0] would be '.' - if (argv[0] != NULL && argv[0][0] == DIR_DELIMITER) // don't do the hack if we launched from the terminal - { - tmpPath = strdup(argv[0]); - if (tmpPath != NULL) - { - // cut off program filename - tmpPathLen = strlen(tmpPath); - for (i = tmpPathLen - 1; i >= 0; i--) - { - if (tmpPath[i] == DIR_DELIMITER) - { - tmpPath[i] = '\0'; - break; - } - } - - chdir(tmpPath); // path to binary - chdir("../../../"); // we should now be in the directory where the config can be - - free(tmpPath); - } - } -} -#endif - -static void setupPerfFreq(void) -{ - uint64_t perfFreq64; - double dInt, dFrac; - - perfFreq64 = SDL_GetPerformanceFrequency(); assert(perfFreq64 != 0); - editor.dPerfFreq = (double)perfFreq64; - editor.dPerfFreqMulMicro = 1000000.0 / editor.dPerfFreq; - editor.dPerfFreqMulMs = 1.0 / (editor.dPerfFreq / 1000.0); - - // calculate vblank time for performance counters and split into int/frac - dFrac = modf(editor.dPerfFreq / VBLANK_HZ, &dInt); - - // integer part - video.vblankTimeLen = (uint32_t)dInt; - - // fractional part scaled to 0..2^32-1 - dFrac *= UINT32_MAX + 1.0; - if (dFrac > (double)UINT32_MAX) - dFrac = (double)UINT32_MAX; - video.vblankTimeLenFrac = (uint32_t)round(dFrac); -} - -#ifdef _WIN32 -static void disableWasapi(void) -{ - const char *audioDriver; - int32_t i, numAudioDrivers; - - // disable problematic WASAPI SDL2 audio driver on Windows (causes clicks/pops sometimes...) - - numAudioDrivers = SDL_GetNumAudioDrivers(); - for (i = 0; i < numAudioDrivers; i++) - { - audioDriver = SDL_GetAudioDriver(i); - if (audioDriver != NULL && strcmp("directsound", audioDriver) == 0) - { - SDL_setenv("SDL_AUDIODRIVER", "directsound", true); - audio.rescanAudioDevicesSupported = false; - break; - } - } - - if (i == numAudioDrivers) - { - // directsound is not available, try winmm - for (i = 0; i < numAudioDrivers; i++) - { - audioDriver = SDL_GetAudioDriver(i); - if (audioDriver != NULL && strcmp("winmm", audioDriver) == 0) - { - SDL_setenv("SDL_AUDIODRIVER", "winmm", true); - audio.rescanAudioDevicesSupported = false; - break; - } - } - } - - // maybe we didn't find directsound or winmm, let's use wasapi after all then... -} -#endif +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include // modf() +#ifdef _WIN32 +#define WIN32_MEAN_AND_LEAN +#include +#include +#else +#include // chdir() +#endif +#include "ft2_header.h" +#include "ft2_gui.h" +#include "ft2_video.h" +#include "ft2_audio.h" +#include "ft2_mouse.h" +#include "ft2_keyboard.h" +#include "ft2_config.h" +#include "ft2_sample_ed.h" +#include "ft2_diskop.h" +#include "ft2_scopes.h" +#include "ft2_about.h" +#include "ft2_pattern_ed.h" +#include "ft2_module_loader.h" +#include "ft2_sampling.h" +#include "ft2_audioselector.h" +#include "ft2_help.h" +#include "ft2_midi.h" +#include "ft2_events.h" + +#ifdef HAS_MIDI +static SDL_Thread *initMidiThread; +#endif + +static void setupPerfFreq(void); +static void initializeVars(void); +static void cleanUpAndExit(void); // never call this inside the main loop +#ifdef __APPLE__ +static void osxSetDirToProgramDirFromArgs(char **argv); +#endif + +#ifdef _WIN32 +static void disableWasapi(void); +#endif + +int main(int argc, char *argv[]) +{ +#if defined _WIN32 || defined __APPLE__ + SDL_version sdlVer; +#endif + + // for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER + _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); +#endif + +#if SDL_PATCHLEVEL < 5 +#pragma message("WARNING: The SDL2 dev lib is older than ver 2.0.5. You'll get fullscreen mode issues and no audio input sampling.") +#pragma message("At least version 2.0.7 is recommended.") +#endif + + SDL_SetThreadPriority(SDL_THREAD_PRIORITY_HIGH); + + initializeVars(); + setupCrashHandler(); + + // on Windows and macOS, test what version SDL2.DLL is (against library version used in compilation) +#if defined _WIN32 || defined __APPLE__ + SDL_GetVersion(&sdlVer); + if (sdlVer.major != SDL_MAJOR_VERSION || sdlVer.minor != SDL_MINOR_VERSION || sdlVer.patch != SDL_PATCHLEVEL) + { +#ifdef _WIN32 + showErrorMsgBox("SDL2.dll is not the expected version, the program will terminate.\n\n" \ + "Loaded dll version: %d.%d.%d\n" \ + "Required (compiled with) version: %d.%d.%d\n\n" \ + "The needed SDL2.dll is located in the .zip from 16-bits.org/ft2.php\n", + sdlVer.major, sdlVer.minor, sdlVer.patch, + SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL); +#else + showErrorMsgBox("The loaded SDL2 library is not the expected version, the program will terminate.\n\n" \ + "Loaded library version: %d.%d.%d\n" \ + "Required (compiled with) version: %d.%d.%d", + sdlVer.major, sdlVer.minor, sdlVer.patch, + SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL); +#endif + return 0; + } +#endif + +#if SDL_PATCHLEVEL >= 4 // SDL 2.0.4 or later + SDL_SetHint(SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4, "1"); // windows only - prevent ALT+F4 from exiting (FT2 uses ALT+F4) +#endif + +#ifdef _WIN32 + if (!cpu.hasSSE) + { + showErrorMsgBox("Your computer's processor doesn't have the SSE instruction set\n" \ + "which is needed for this program to run. Sorry!"); + return 0; + } + + if (!cpu.hasSSE2) + { + showErrorMsgBox("Your computer's processor doesn't have the SSE2 instruction set\n" \ + "which is needed for this program to run. Sorry!"); + return 0; + } + + setupWin32Usleep(); + disableWasapi(); // disable problematic WASAPI SDL2 audio driver on Windows (causes clicks/pops sometimes...) +#endif + + /* SDL 2.0.9 for Windows has a serious bug where you need to initialize the joystick subsystem + ** (even if you don't use it) or else weird things happen like random stutters, keyboard (rarely) being + ** reinitialized in Windows and what not. + ** Ref.: https://bugzilla.libsdl.org/show_bug.cgi?id=4391 */ +#if defined _WIN32 && SDL_PATCHLEVEL == 9 + if (SDL_Init(SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_JOYSTICK) != 0) +#else + if (SDL_Init(SDL_INIT_AUDIO | SDL_INIT_VIDEO) != 0) +#endif + { + showErrorMsgBox("Couldn't initialize SDL:\n%s", SDL_GetError()); + return 1; + } + SDL_EventState(SDL_DROPFILE, SDL_ENABLE); + + /* Text input is started by default in SDL2, turn it off to remove ~2ms spikes per key press. + ** We manuallay start it again when a text edit box is activated, and stop it when done. + ** Ref.: https://bugzilla.libsdl.org/show_bug.cgi?id=4166 */ + SDL_StopTextInput(); + +#ifdef __APPLE__ + osxSetDirToProgramDirFromArgs(argv); +#endif + UNICHAR_GETCWD(editor.binaryPathU, PATH_MAX); + + loadConfigOrSetDefaults(); + if (!setupWindow() || !setupRenderer()) + { + cleanUpAndExit(); + return 1; + } + +#ifdef _WIN32 + // allow only one instance, and send arguments to it (what song to play) + if (handleSingleInstancing(argc, argv)) + { + cleanUpAndExit(); + return 0; // close current instance, the main instance got a message now + } +#endif + + if (!setupDiskOp()) + { + cleanUpAndExit(); + return 1; + } + + audio.currOutputDevice = getAudioOutputDeviceFromConfig(); + audio.currInputDevice = getAudioInputDeviceFromConfig(); + + setupPerfFreq(); + + if (!setupAudio(CONFIG_HIDE_ERRORS)) + { + // one LAST attempt (with default audio device and settings) +#ifdef __APPLE__ + config.audioFreq = 44100; +#else + config.audioFreq = 48000; +#endif + // try 16-bit audio at 1024 samples (44.1kHz/48kHz) + config.specialFlags &= ~(BITDEPTH_24 + BUFFSIZE_512 + BUFFSIZE_2048); + config.specialFlags |= (BITDEPTH_16 + BUFFSIZE_1024); + + setToDefaultAudioOutputDevice(); + if (!setupAudio(CONFIG_SHOW_ERRORS)) + { + cleanUpAndExit(); // still no go... + return 1; + } + } + + if (!setupReplayer() || !setupGUI() || !initScopes()) + { + cleanUpAndExit(); + return 1; + } + + pauseAudio(); + resumeAudio(); + rescanAudioDevices(); + +#ifdef _WIN32 // on Windows we show the window at this point + SDL_ShowWindow(video.window); +#endif + + if (config.windowFlags & START_IN_FULLSCR) + { + video.fullscreen = true; + enterFullscreen(); + } + +#ifdef HAS_MIDI + // set up MIDI input (in a thread because it can take quite a while on f.ex. macOS) + initMidiThread = SDL_CreateThread(initMidiFunc, NULL, NULL); + if (initMidiThread == NULL) + { + showErrorMsgBox("Couldn't create MIDI initialization thread!"); + cleanUpAndExit(); + return 1; + } + SDL_DetachThread(initMidiThread); // don't wait for this thread, let it clean up when done +#endif + + setupWaitVBL(); // this is needed for potential okBox() calls in handleModuleLoadFromArg() + handleModuleLoadFromArg(argc, argv); + setupWaitVBL(); // yes, this is needed again for main loop + + editor.mainLoopOngoing = true; + while (editor.programRunning) + { + beginFPSCounter(); + handleThreadEvents(); + readInput(); + handleEvents(); + handleRedrawing(); + flipFrame(); + endFPSCounter(); + } + + if (config.cfg_AutoSave) + saveConfig(CONFIG_HIDE_ERRORS); + + cleanUpAndExit(); + return 0; +} + +static void initializeVars(void) +{ + int32_t i; + + cpu.hasSSE = SDL_HasSSE(); + cpu.hasSSE2 = SDL_HasSSE2(); + + // clear common structs + memset(&video, 0, sizeof (video)); + memset(&keyb, 0, sizeof (keyb)); + memset(&mouse, 0, sizeof (mouse)); + memset(&editor, 0, sizeof (editor)); + memset(&pattMark, 0, sizeof (pattMark)); + memset(&pattSync, 0, sizeof (pattSync)); + memset(&chSync, 0, sizeof (chSync)); + memset(&song, 0, sizeof (song)); + + for (i = 0; i < MAX_VOICES; i++) + { + lastChInstr[i].instrNr = 255; + lastChInstr[i].sampleNr = 255; + } + + // now set data that must be initialized to non-zero values... + + audio.locked = true; + audio.rescanAudioDevicesSupported = true; + + strcpy(editor.ui.fullscreenButtonText, "Go fullscreen"); + + // set non-zero values + + editor.moduleSaveMode = MOD_SAVE_MODE_XM; + editor.sampleSaveMode = SMP_SAVE_MODE_WAV; + + editor.ui.sampleDataOrLoopDrag = -1; + + mouse.lastUsedObjectID = OBJECT_ID_NONE; + + editor.ID_Add = 1; + editor.srcInstr = 1; + editor.curInstr = 1; + editor.curOctave = 4; + editor.smpEd_NoteNr = 48 + 1; // middle-C + + editor.ptnJumpPos[0] = 0x00; + editor.ptnJumpPos[1] = 0x10; + editor.ptnJumpPos[2] = 0x20; + editor.ptnJumpPos[3] = 0x30; + + editor.copyMaskEnable = true; + memset(editor.copyMask, 1, sizeof (editor.copyMask)); + memset(editor.pasteMask, 1, sizeof (editor.pasteMask)); + +#ifdef HAS_MIDI + midi.enable = true; +#endif + + editor.diskOpReadOnOpen = true; + editor.programRunning = true; +} + +static void cleanUpAndExit(void) // never call this inside the main loop! +{ +#ifdef HAS_MIDI + if (midi.closeMidiOnExit) + { + closeMidiInDevice(); + freeMidiIn(); + } +#endif + + closeAudio(); + closeReplayer(); + closeVideo(); + freeSprites(); + freeDiskOp(); + clearCopyBuffer(); + freeAudioDeviceSelectorBuffers(); +#ifdef HAS_MIDI + freeMidiInputDeviceList(); +#endif + windUpFTHelp(); + freeTextBoxes(); + freeMouseCursors(); + +#ifdef HAS_MIDI + if (midi.inputDeviceName != NULL) + { + free(midi.inputDeviceName); + midi.inputDeviceName = NULL; + } +#endif + + if (editor.audioDevConfigFileLocation != NULL) + { + free(editor.audioDevConfigFileLocation); + editor.audioDevConfigFileLocation = NULL; + } + + if (editor.configFileLocation != NULL) + { + free(editor.configFileLocation); + editor.configFileLocation = NULL; + } + + if (editor.midiConfigFileLocation != NULL) + { + free(editor.midiConfigFileLocation); + editor.midiConfigFileLocation = NULL; + } + +#ifdef _WIN32 + freeWin32Usleep(); + closeSingleInstancing(); +#endif + + SDL_Quit(); +} + +#ifdef __APPLE__ +static void osxSetDirToProgramDirFromArgs(char **argv) +{ + char *tmpPath; + int32_t i, tmpPathLen; + + /* OS X/macOS: hackish way of setting the current working directory to the place where we double clicked + ** on the icon (for protracker.ini loading) + */ + + // if we launched from the terminal, argv[0][0] would be '.' + if (argv[0] != NULL && argv[0][0] == DIR_DELIMITER) // don't do the hack if we launched from the terminal + { + tmpPath = strdup(argv[0]); + if (tmpPath != NULL) + { + // cut off program filename + tmpPathLen = strlen(tmpPath); + for (i = tmpPathLen - 1; i >= 0; i--) + { + if (tmpPath[i] == DIR_DELIMITER) + { + tmpPath[i] = '\0'; + break; + } + } + + chdir(tmpPath); // path to binary + chdir("../../../"); // we should now be in the directory where the config can be + + free(tmpPath); + } + } +} +#endif + +static void setupPerfFreq(void) +{ + uint64_t perfFreq64; + double dInt, dFrac; + + perfFreq64 = SDL_GetPerformanceFrequency(); assert(perfFreq64 != 0); + editor.dPerfFreq = (double)perfFreq64; + editor.dPerfFreqMulMicro = 1000000.0 / editor.dPerfFreq; + editor.dPerfFreqMulMs = 1.0 / (editor.dPerfFreq / 1000.0); + + // calculate vblank time for performance counters and split into int/frac + dFrac = modf(editor.dPerfFreq / VBLANK_HZ, &dInt); + + // integer part + video.vblankTimeLen = (uint32_t)dInt; + + // fractional part scaled to 0..2^32-1 + dFrac *= UINT32_MAX; + video.vblankTimeLenFrac = (uint32_t)(dFrac + 0.5); +} + +#ifdef _WIN32 +static void disableWasapi(void) +{ + const char *audioDriver; + int32_t i, numAudioDrivers; + + // disable problematic WASAPI SDL2 audio driver on Windows (causes clicks/pops sometimes...) + + numAudioDrivers = SDL_GetNumAudioDrivers(); + for (i = 0; i < numAudioDrivers; i++) + { + audioDriver = SDL_GetAudioDriver(i); + if (audioDriver != NULL && strcmp("directsound", audioDriver) == 0) + { + SDL_setenv("SDL_AUDIODRIVER", "directsound", true); + audio.rescanAudioDevicesSupported = false; + break; + } + } + + if (i == numAudioDrivers) + { + // directsound is not available, try winmm + for (i = 0; i < numAudioDrivers; i++) + { + audioDriver = SDL_GetAudioDriver(i); + if (audioDriver != NULL && strcmp("winmm", audioDriver) == 0) + { + SDL_setenv("SDL_AUDIODRIVER", "winmm", true); + audio.rescanAudioDevicesSupported = false; + break; + } + } + } + + // maybe we didn't find directsound or winmm, let's use wasapi after all then... +} +#endif diff --git a/src/ft2_midi.c b/src/ft2_midi.c index 3e1aaec..e85e96a 100644 --- a/src/ft2_midi.c +++ b/src/ft2_midi.c @@ -1,520 +1,526 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include "ft2_header.h" -#include "ft2_edit.h" -#include "ft2_config.h" -#include "ft2_gui.h" -#include "ft2_midi.h" -#include "ft2_audio.h" -#include "ft2_mouse.h" -#include "ft2_pattern_ed.h" -#include "rtmidi/rtmidi_c.h" - -// hide POSIX warnings -#ifdef _MSC_VER -#pragma warning(disable: 4996) -#endif - -// MIDI INPUT ONLY! - -static volatile bool midiDeviceOpened; -static bool recMIDIValidChn = true; -static RtMidiPtr midiDev; - -static inline void midiInSetChannel(uint8_t status) -{ - recMIDIValidChn = (config.recMIDIAllChn || (status & 0x0F) == config.recMIDIChn -1); -} - -static inline void midiInKeyAction(int8_t m, uint8_t mv) -{ - int16_t vol; - - vol = (mv * 64 * config.recMIDIVolSens) / (127 * 100); - if (vol > 64) - vol = 64; - - // FT2 bugfix: If velocity>0, and sensitivity made vol=0, set vol to 1 (prevent key off) - if (mv > 0 && vol == 0) - vol = 1; - - if (mv > 0 && !config.recMIDIVelosity) - vol = -1; // don't record volume (velocity) - - m -= 11; - if (config.recMIDITransp) - m += (int8_t)config.recMIDITranspVal; - - if ((mv == 0 || vol != 0) && m > 0 && m < 96 && recMIDIValidChn) - recordNote(m, (int8_t)vol); -} - -static inline void midiInControlChange(uint8_t data1, uint8_t data2) -{ - uint8_t vibDepth; - - if (data1 != 1) // 1 = modulation wheel - return; - - midi.currMIDIVibDepth = data2 << 6; - - if (recMIDIValidChn) // real FT2 forgot to check this here.. - { - for (uint8_t i = 0; i < song.antChn; i++) - { - if (stm[i].midiVibDepth != 0 || editor.keyOnTab[i] != 0) - stm[i].midiVibDepth = midi.currMIDIVibDepth; - } - } - - vibDepth = (midi.currMIDIVibDepth >> 9) & 0x0F; - if (vibDepth > 0 && recMIDIValidChn) - recordMIDIEffect(0x04, 0xA0 | vibDepth); -} - -static inline void midiInPitchBendChange(uint8_t data1, uint8_t data2) -{ - int16_t pitch; - - pitch = (int16_t)((data2 << 7) | data1) - 8192; // -8192..8191 - pitch >>= 6; // -128..127 - - midi.currMIDIPitch = pitch; - if (recMIDIValidChn) - { - for (uint8_t i = 0; i < song.antChn; i++) - { - if (stm[i].midiPitch != 0 || editor.keyOnTab[i] != 0) - stm[i].midiPitch = midi.currMIDIPitch; - } - } -} - -static void midiInCallback(double dTimeStamp, const unsigned char *message, size_t messageSize, void *userData) -{ - uint8_t byte[3]; - - (void)dTimeStamp; - (void)userData; - - if (!midi.enable || messageSize < 2) - return; - - byte[0] = message[0]; - if (byte[0] > 127 && byte[0] < 240) - { - byte[1] = message[1] & 0x7F; - - if (messageSize >= 3) - byte[2] = message[2] & 0x7F; - else - byte[2] = 0; - - midiInSetChannel(byte[0]); - - if (byte[0] >= 128 && byte[0] <= 128+15) midiInKeyAction(byte[1], 0); - else if (byte[0] >= 144 && byte[0] <= 144+15) midiInKeyAction(byte[1], byte[2]); - else if (byte[0] >= 176 && byte[0] <= 176+15) midiInControlChange(byte[1], byte[2]); - else if (byte[0] >= 224 && byte[0] <= 224+15) midiInPitchBendChange(byte[1], byte[2]); - } -} - -static uint32_t getNumMidiInDevices(void) -{ - if (midiDev == NULL) - return 0; - - return rtmidi_get_port_count(midiDev); -} - -static char *getMidiInDeviceName(uint32_t deviceID) -{ - char *devStr; - - if (midiDev == NULL) - return NULL; - - devStr = (char *)rtmidi_get_port_name(midiDev, deviceID); - if (!midiDev->ok) - return NULL; - - return devStr; -} - -void closeMidiInDevice(void) -{ - while (!midi.initThreadDone); - - if (midiDeviceOpened) - { - if (midiDev != NULL) - { - rtmidi_in_cancel_callback(midiDev); - rtmidi_close_port(midiDev); - } - - midiDeviceOpened = false; - } -} - -void freeMidiIn(void) -{ - while (!midi.initThreadDone); - - if (midiDev != NULL) - { - rtmidi_in_free(midiDev); - midiDev = NULL; - } -} - -bool initMidiIn(void) -{ - if (midiDev != NULL) - return false; // already initialized - - midiDev = rtmidi_in_create_default(); - if (!midiDev->ok) - { - midiDev = NULL; - return false; - } - - midiDeviceOpened = false; - return true; -} - -bool openMidiInDevice(uint32_t deviceID) -{ - if (midiDev == NULL) - return false; - - if (getNumMidiInDevices() == 0) - return false; - - rtmidi_open_port(midiDev, deviceID, "FT2 Clone MIDI Port"); - if (!midiDev->ok) - return false; - - rtmidi_in_set_callback(midiDev, midiInCallback, NULL); - if (!midiDev->ok) - { - rtmidi_close_port(midiDev); - return false; - } - - rtmidi_in_ignore_types(midiDev, true, true, true); - - midiDeviceOpened = true; - return true; -} - -void recordMIDIEffect(uint8_t effTyp, uint8_t effData) -{ - int16_t nr; - tonTyp *note; - - // only handle this in record mode - if (!midi.enable || (playMode != PLAYMODE_RECSONG && playMode != PLAYMODE_RECPATT)) - return; - - nr = editor.editPattern; - if (config.multiRec) - { - for (uint16_t i = 0; i < song.antChn; i++) - { - if (config.multiRecChn[i] && editor.chnMode[i]) - { - if (!allocatePattern(nr)) - return; - - note = &patt[nr][(editor.pattPos * MAX_VOICES) + i]; - if (note->effTyp == 0) - { - note->effTyp = effTyp; - note->eff = effData; - - setSongModifiedFlag(); - } - } - } - } - else - { - if (!allocatePattern(nr)) - return; - - note = &patt[nr][(editor.pattPos * MAX_VOICES) + editor.cursor.ch]; - if (note->effTyp != effTyp || note->eff != effData) - setSongModifiedFlag(); - - note->effTyp = effTyp; - note->eff = effData; - } -} - -bool saveMidiInputDeviceToConfig(void) -{ - char *midiInStr; - uint32_t numDevices; - FILE *f; - - if (!midi.initThreadDone || midiDev == NULL || !midiDeviceOpened) - return false; - - numDevices = getNumMidiInDevices(); - if (numDevices == 0) - return false; - - midiInStr = getMidiInDeviceName(midi.inputDevice); - if (midiInStr == NULL) - return false; - - f = UNICHAR_FOPEN(editor.midiConfigFileLocation, "w"); - if (f == NULL) - { - free(midiInStr); - return false; - } - - fputs(midiInStr, f); - free(midiInStr); - - fclose(f); - return true; -} - -bool setMidiInputDeviceFromConfig(void) -{ -#define MAX_DEV_STR_LEN 1024 - - char *midiInStr, *devString; - uint32_t i, numDevices; - FILE *f; - - if (midi.inputDeviceName != NULL) - free(midi.inputDeviceName); - - numDevices = getNumMidiInDevices(); - if (numDevices == 0) - goto setDefMidiInputDev; - - f = UNICHAR_FOPEN(editor.midiConfigFileLocation, "r"); - if (f == NULL) - goto setDefMidiInputDev; - - devString = (char *)calloc(MAX_DEV_STR_LEN + 4, sizeof (char)); - if (devString == NULL) - { - fclose(f); - goto setDefMidiInputDev; - } - - if (fgets(devString, MAX_DEV_STR_LEN, f) == NULL) - { - fclose(f); - free(devString); - goto setDefMidiInputDev; - } - - fclose(f); - - // scan for device in list - midiInStr = NULL; - for (i = 0; i < numDevices; i++) - { - midiInStr = getMidiInDeviceName(i); - if (midiInStr == NULL) - continue; - - if (!_stricmp(devString, midiInStr)) - break; // device matched - - free(midiInStr); - midiInStr = NULL; - } - - free(devString); - - // device not found in list, set default - if (i == numDevices) - goto setDefMidiInputDev; - - midi.inputDevice = i; - midi.inputDeviceName = midiInStr; - midi.numInputDevices = numDevices; - - return true; - - // couldn't load device, set default -setDefMidiInputDev: - midi.inputDevice = 0; - midi.inputDeviceName = strdup("RtMidi"); - midi.numInputDevices = numDevices; - - return false; -} - -void freeMidiInputDeviceList(void) -{ - for (int32_t i = 0; i < MAX_MIDI_DEVICES; i++) - { - if (midi.inputDeviceNames[i] != NULL) - { - free(midi.inputDeviceNames[i]); - midi.inputDeviceNames[i] = NULL; - } - } - - midi.numInputDevices = 0; -} - -void rescanMidiInputDevices(void) -{ - char *deviceName; - - freeMidiInputDeviceList(); - - midi.numInputDevices = getNumMidiInDevices(); - if (midi.numInputDevices > MAX_MIDI_DEVICES) - midi.numInputDevices = MAX_MIDI_DEVICES; - - for (int32_t i = 0; i < midi.numInputDevices; i++) - { - deviceName = getMidiInDeviceName(i); - if (deviceName == NULL) - { - if (midi.numInputDevices > 0) - midi.numInputDevices--; // hide device - - continue; - } - - midi.inputDeviceNames[i] = deviceName; - } - - setScrollBarEnd(SB_MIDI_INPUT_SCROLL, midi.numInputDevices); - setScrollBarPos(SB_MIDI_INPUT_SCROLL, 0, false); -} - -void drawMidiInputList(void) -{ - char *tmpString; - uint16_t y; - int32_t deviceEntry; - - clearRect(114, 4, 365, 164); - - if (!midi.initThreadDone || midiDev == NULL || midi.numInputDevices == 0) - { - textOut(114, 4 + (0 * 11), PAL_FORGRND, "No MIDI input devices found!"); - textOut(114, 4 + (1 * 11), PAL_FORGRND, "Either wait a few seconds for MIDI to initialize, or restart the"); - textOut(114, 4 + (2 * 11), PAL_FORGRND, "tracker if you recently plugged in a MIDI device."); - return; - } - - for (uint16_t i = 0; i < 15; i++) - { - deviceEntry = getScrollBarPos(SB_MIDI_INPUT_SCROLL) + i; - if (deviceEntry < midi.numInputDevices) - { - if (midi.inputDeviceNames[deviceEntry] == NULL) - continue; - - y = 4 + (i * 11); - - if (midi.inputDeviceName != NULL) - { - if (_stricmp(midi.inputDeviceName, midi.inputDeviceNames[deviceEntry]) == 0) - fillRect(114, y, 365, 10, PAL_BUTTONS); // selection background color - } - - tmpString = utf8ToCp437(midi.inputDeviceNames[deviceEntry], true); - if (tmpString != NULL) - { - textOutClipX(114, y, PAL_FORGRND, tmpString, 479); - free(tmpString); - } - } - } -} - -void scrollMidiInputDevListUp(void) -{ - scrollBarScrollUp(SB_MIDI_INPUT_SCROLL, 1); -} - -void scrollMidiInputDevListDown(void) -{ - scrollBarScrollDown(SB_MIDI_INPUT_SCROLL, 1); -} - -void sbMidiInputSetPos(uint32_t pos) -{ - (void)pos; - - if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_MIDI_INPUT) - drawMidiInputList(); -} - -bool testMidiInputDeviceListMouseDown(void) -{ - int32_t mx, my, deviceNum; - - if (!editor.ui.configScreenShown || editor.currConfigScreen != CONFIG_SCREEN_MIDI_INPUT) - return false; // we didn't click the area - - if (!midi.initThreadDone) - return true; - - mx = mouse.x; - my = mouse.y; - - if (my < 4 || my > 166 || mx < 114 || mx > 479) - return false; // we didn't click the area - - deviceNum = (int32_t)scrollBars[SB_MIDI_INPUT_SCROLL].pos + ((my - 4) / 11); - if (midi.numInputDevices <= 0 || deviceNum >= midi.numInputDevices) - return true; - - if (midi.inputDeviceName != NULL) - { - if (!_stricmp(midi.inputDeviceName, midi.inputDeviceNames[deviceNum])) - return true; // we clicked the currently selected device, do nothing - - free(midi.inputDeviceName); - } - - midi.inputDeviceName = strdup(midi.inputDeviceNames[deviceNum]); - midi.inputDevice = deviceNum; - - closeMidiInDevice(); - freeMidiIn(); - initMidiIn(); - openMidiInDevice(midi.inputDevice); - - drawMidiInputList(); - return true; -} - -int32_t SDLCALL initMidiFunc(void *ptr) -{ - (void)ptr; - - midi.closeMidiOnExit = true; - - midi.initThreadDone = false; - initMidiIn(); - setMidiInputDeviceFromConfig(); - openMidiInDevice(midi.inputDevice); - midi.initThreadDone = true; - - midi.rescanDevicesFlag = true; - - return true; -} +#ifdef HAS_MIDI + +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include "ft2_header.h" +#include "ft2_edit.h" +#include "ft2_config.h" +#include "ft2_gui.h" +#include "ft2_midi.h" +#include "ft2_audio.h" +#include "ft2_mouse.h" +#include "ft2_pattern_ed.h" +#include "rtmidi/rtmidi_c.h" + +// hide POSIX warnings +#ifdef _MSC_VER +#pragma warning(disable: 4996) +#endif + +// MIDI INPUT ONLY! + +static volatile bool midiDeviceOpened; +static bool recMIDIValidChn = true; +static RtMidiPtr midiDev; + +static inline void midiInSetChannel(uint8_t status) +{ + recMIDIValidChn = (config.recMIDIAllChn || (status & 0xF) == config.recMIDIChn-1); +} + +static inline void midiInKeyAction(int8_t m, uint8_t mv) +{ + int16_t vol; + + vol = (mv * 64 * config.recMIDIVolSens) / (127 * 100); + if (vol > 64) + vol = 64; + + // FT2 bugfix: If velocity>0, and sensitivity made vol=0, set vol to 1 (prevent key off) + if (mv > 0 && vol == 0) + vol = 1; + + if (mv > 0 && !config.recMIDIVelocity) + vol = -1; // don't record volume (velocity) + + m -= 11; + if (config.recMIDITransp) + m += (int8_t)config.recMIDITranspVal; + + if ((mv == 0 || vol != 0) && m > 0 && m < 96 && recMIDIValidChn) + recordNote(m, (int8_t)vol); +} + +static inline void midiInControlChange(uint8_t data1, uint8_t data2) +{ + uint8_t vibDepth; + + if (data1 != 1) // 1 = modulation wheel + return; + + midi.currMIDIVibDepth = data2 << 6; + + if (recMIDIValidChn) // real FT2 forgot to check this here.. + { + for (uint8_t i = 0; i < song.antChn; i++) + { + if (stm[i].midiVibDepth != 0 || editor.keyOnTab[i] != 0) + stm[i].midiVibDepth = midi.currMIDIVibDepth; + } + } + + vibDepth = (midi.currMIDIVibDepth >> 9) & 0x0F; + if (vibDepth > 0 && recMIDIValidChn) + recordMIDIEffect(0x04, 0xA0 | vibDepth); +} + +static inline void midiInPitchBendChange(uint8_t data1, uint8_t data2) +{ + int16_t pitch; + + pitch = (int16_t)((data2 << 7) | data1) - 8192; // -8192..8191 + pitch >>= 6; // -128..127 + + midi.currMIDIPitch = pitch; + if (recMIDIValidChn) + { + for (uint8_t i = 0; i < song.antChn; i++) + { + if (stm[i].midiPitch != 0 || editor.keyOnTab[i] != 0) + stm[i].midiPitch = midi.currMIDIPitch; + } + } +} + +static void midiInCallback(double dTimeStamp, const unsigned char *message, size_t messageSize, void *userData) +{ + uint8_t byte[3]; + + (void)dTimeStamp; + (void)userData; + + if (!midi.enable || messageSize < 2) + return; + + byte[0] = message[0]; + if (byte[0] > 127 && byte[0] < 240) + { + byte[1] = message[1] & 0x7F; + + if (messageSize >= 3) + byte[2] = message[2] & 0x7F; + else + byte[2] = 0; + + midiInSetChannel(byte[0]); + + if (byte[0] >= 128 && byte[0] <= 128+15) midiInKeyAction(byte[1], 0); + else if (byte[0] >= 144 && byte[0] <= 144+15) midiInKeyAction(byte[1], byte[2]); + else if (byte[0] >= 176 && byte[0] <= 176+15) midiInControlChange(byte[1], byte[2]); + else if (byte[0] >= 224 && byte[0] <= 224+15) midiInPitchBendChange(byte[1], byte[2]); + } +} + +static uint32_t getNumMidiInDevices(void) +{ + if (midiDev == NULL) + return 0; + + return rtmidi_get_port_count(midiDev); +} + +static char *getMidiInDeviceName(uint32_t deviceID) +{ + char *devStr; + + if (midiDev == NULL) + return NULL; + + devStr = (char *)rtmidi_get_port_name(midiDev, deviceID); + if (!midiDev->ok) + return NULL; + + return devStr; +} + +void closeMidiInDevice(void) +{ + while (!midi.initThreadDone); + + if (midiDeviceOpened) + { + if (midiDev != NULL) + { + rtmidi_in_cancel_callback(midiDev); + rtmidi_close_port(midiDev); + } + + midiDeviceOpened = false; + } +} + +void freeMidiIn(void) +{ + while (!midi.initThreadDone); + + if (midiDev != NULL) + { + rtmidi_in_free(midiDev); + midiDev = NULL; + } +} + +bool initMidiIn(void) +{ + if (midiDev != NULL) + return false; // already initialized + + midiDev = rtmidi_in_create_default(); + if (!midiDev->ok) + { + midiDev = NULL; + return false; + } + + midiDeviceOpened = false; + return true; +} + +bool openMidiInDevice(uint32_t deviceID) +{ + if (midiDev == NULL) + return false; + + if (getNumMidiInDevices() == 0) + return false; + + rtmidi_open_port(midiDev, deviceID, "FT2 Clone MIDI Port"); + if (!midiDev->ok) + return false; + + rtmidi_in_set_callback(midiDev, midiInCallback, NULL); + if (!midiDev->ok) + { + rtmidi_close_port(midiDev); + return false; + } + + rtmidi_in_ignore_types(midiDev, true, true, true); + + midiDeviceOpened = true; + return true; +} + +void recordMIDIEffect(uint8_t effTyp, uint8_t effData) +{ + int16_t nr; + tonTyp *note; + + // only handle this in record mode + if (!midi.enable || (playMode != PLAYMODE_RECSONG && playMode != PLAYMODE_RECPATT)) + return; + + nr = editor.editPattern; + if (config.multiRec) + { + for (uint16_t i = 0; i < song.antChn; i++) + { + if (config.multiRecChn[i] && editor.chnMode[i]) + { + if (!allocatePattern(nr)) + return; + + note = &patt[nr][(editor.pattPos * MAX_VOICES) + i]; + if (note->effTyp == 0) + { + note->effTyp = effTyp; + note->eff = effData; + + setSongModifiedFlag(); + } + } + } + } + else + { + if (!allocatePattern(nr)) + return; + + note = &patt[nr][(editor.pattPos * MAX_VOICES) + editor.cursor.ch]; + if (note->effTyp != effTyp || note->eff != effData) + setSongModifiedFlag(); + + note->effTyp = effTyp; + note->eff = effData; + } +} + +bool saveMidiInputDeviceToConfig(void) +{ + char *midiInStr; + uint32_t numDevices; + FILE *f; + + if (!midi.initThreadDone || midiDev == NULL || !midiDeviceOpened) + return false; + + numDevices = getNumMidiInDevices(); + if (numDevices == 0) + return false; + + midiInStr = getMidiInDeviceName(midi.inputDevice); + if (midiInStr == NULL) + return false; + + f = UNICHAR_FOPEN(editor.midiConfigFileLocation, "w"); + if (f == NULL) + { + free(midiInStr); + return false; + } + + fputs(midiInStr, f); + free(midiInStr); + + fclose(f); + return true; +} + +bool setMidiInputDeviceFromConfig(void) +{ +#define MAX_DEV_STR_LEN 1024 + + char *midiInStr, *devString; + uint32_t i, numDevices; + FILE *f; + + if (midi.inputDeviceName != NULL) + free(midi.inputDeviceName); + + numDevices = getNumMidiInDevices(); + if (numDevices == 0) + goto setDefMidiInputDev; + + f = UNICHAR_FOPEN(editor.midiConfigFileLocation, "r"); + if (f == NULL) + goto setDefMidiInputDev; + + devString = (char *)calloc(MAX_DEV_STR_LEN + 4, sizeof (char)); + if (devString == NULL) + { + fclose(f); + goto setDefMidiInputDev; + } + + if (fgets(devString, MAX_DEV_STR_LEN, f) == NULL) + { + fclose(f); + free(devString); + goto setDefMidiInputDev; + } + + fclose(f); + + // scan for device in list + midiInStr = NULL; + for (i = 0; i < numDevices; i++) + { + midiInStr = getMidiInDeviceName(i); + if (midiInStr == NULL) + continue; + + if (!_stricmp(devString, midiInStr)) + break; // device matched + + free(midiInStr); + midiInStr = NULL; + } + + free(devString); + + // device not found in list, set default + if (i == numDevices) + goto setDefMidiInputDev; + + midi.inputDevice = i; + midi.inputDeviceName = midiInStr; + midi.numInputDevices = numDevices; + + return true; + + // couldn't load device, set default +setDefMidiInputDev: + midi.inputDevice = 0; + midi.inputDeviceName = strdup("RtMidi"); + midi.numInputDevices = numDevices; + + return false; +} + +void freeMidiInputDeviceList(void) +{ + for (int32_t i = 0; i < MAX_MIDI_DEVICES; i++) + { + if (midi.inputDeviceNames[i] != NULL) + { + free(midi.inputDeviceNames[i]); + midi.inputDeviceNames[i] = NULL; + } + } + + midi.numInputDevices = 0; +} + +void rescanMidiInputDevices(void) +{ + char *deviceName; + + freeMidiInputDeviceList(); + + midi.numInputDevices = getNumMidiInDevices(); + if (midi.numInputDevices > MAX_MIDI_DEVICES) + midi.numInputDevices = MAX_MIDI_DEVICES; + + for (int32_t i = 0; i < midi.numInputDevices; i++) + { + deviceName = getMidiInDeviceName(i); + if (deviceName == NULL) + { + if (midi.numInputDevices > 0) + midi.numInputDevices--; // hide device + + continue; + } + + midi.inputDeviceNames[i] = deviceName; + } + + setScrollBarEnd(SB_MIDI_INPUT_SCROLL, midi.numInputDevices); + setScrollBarPos(SB_MIDI_INPUT_SCROLL, 0, false); +} + +void drawMidiInputList(void) +{ + char *tmpString; + uint16_t y; + int32_t deviceEntry; + + clearRect(114, 4, 365, 165); + + if (!midi.initThreadDone || midiDev == NULL || midi.numInputDevices == 0) + { + textOut(114, 4 + (0 * 11), PAL_FORGRND, "No MIDI input devices found!"); + textOut(114, 4 + (1 * 11), PAL_FORGRND, "Either wait a few seconds for MIDI to initialize, or restart the"); + textOut(114, 4 + (2 * 11), PAL_FORGRND, "tracker if you recently plugged in a MIDI device."); + return; + } + + for (uint16_t i = 0; i < 15; i++) + { + deviceEntry = getScrollBarPos(SB_MIDI_INPUT_SCROLL) + i; + if (deviceEntry < midi.numInputDevices) + { + if (midi.inputDeviceNames[deviceEntry] == NULL) + continue; + + y = 4 + (i * 11); + + if (midi.inputDeviceName != NULL) + { + if (_stricmp(midi.inputDeviceName, midi.inputDeviceNames[deviceEntry]) == 0) + fillRect(114, y, 365, 10, PAL_BOXSLCT); // selection background color + } + + tmpString = utf8ToCp437(midi.inputDeviceNames[deviceEntry], true); + if (tmpString != NULL) + { + textOutClipX(114, y, PAL_FORGRND, tmpString, 479); + free(tmpString); + } + } + } +} + +void scrollMidiInputDevListUp(void) +{ + scrollBarScrollUp(SB_MIDI_INPUT_SCROLL, 1); +} + +void scrollMidiInputDevListDown(void) +{ + scrollBarScrollDown(SB_MIDI_INPUT_SCROLL, 1); +} + +void sbMidiInputSetPos(uint32_t pos) +{ + (void)pos; + + if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_MIDI_INPUT) + drawMidiInputList(); +} + +bool testMidiInputDeviceListMouseDown(void) +{ + int32_t mx, my, deviceNum; + + if (!editor.ui.configScreenShown || editor.currConfigScreen != CONFIG_SCREEN_MIDI_INPUT) + return false; // we didn't click the area + + if (!midi.initThreadDone) + return true; + + mx = mouse.x; + my = mouse.y; + + if (my < 4 || my > 166 || mx < 114 || mx > 479) + return false; // we didn't click the area + + deviceNum = (int32_t)scrollBars[SB_MIDI_INPUT_SCROLL].pos + ((my - 4) / 11); + if (midi.numInputDevices <= 0 || deviceNum >= midi.numInputDevices) + return true; + + if (midi.inputDeviceName != NULL) + { + if (!_stricmp(midi.inputDeviceName, midi.inputDeviceNames[deviceNum])) + return true; // we clicked the currently selected device, do nothing + + free(midi.inputDeviceName); + } + + midi.inputDeviceName = strdup(midi.inputDeviceNames[deviceNum]); + midi.inputDevice = deviceNum; + + closeMidiInDevice(); + freeMidiIn(); + initMidiIn(); + openMidiInDevice(midi.inputDevice); + + drawMidiInputList(); + return true; +} + +int32_t SDLCALL initMidiFunc(void *ptr) +{ + (void)ptr; + + midi.closeMidiOnExit = true; + + midi.initThreadDone = false; + initMidiIn(); + setMidiInputDeviceFromConfig(); + openMidiInDevice(midi.inputDevice); + midi.initThreadDone = true; + + midi.rescanDevicesFlag = true; + + return true; +} + +#else +typedef int make_iso_compilers_happy; // kludge: prevent warning about empty .c file if HAS_MIDI is not defined +#endif diff --git a/src/ft2_midi.h b/src/ft2_midi.h index 47a431c..c5d7c59 100644 --- a/src/ft2_midi.h +++ b/src/ft2_midi.h @@ -1,34 +1,38 @@ -#pragma once - -#include -#include -#include - -#define MIDI_INPUT_SELECTOR_BOX_WIDTH 247 -#define MAX_MIDI_DEVICES 99 - -struct midi_t -{ - char *inputDeviceName, *inputDeviceNames[MAX_MIDI_DEVICES]; - volatile bool closeMidiOnExit, initThreadDone; - uint32_t inputDevice; - bool enable, rescanDevicesFlag; - int16_t currMIDIVibDepth, currMIDIPitch; - int32_t numInputDevices; -} midi; - -void closeMidiInDevice(void); -void freeMidiIn(void); -bool initMidiIn(void); -bool openMidiInDevice(uint32_t deviceID); -void recordMIDIEffect(uint8_t effTyp, uint8_t effData); -bool saveMidiInputDeviceToConfig(void); -bool setMidiInputDeviceFromConfig(void); -void freeMidiInputDeviceList(void); -void rescanMidiInputDevices(void); -void drawMidiInputList(void); -void scrollMidiInputDevListUp(void); -void scrollMidiInputDevListDown(void); -void sbMidiInputSetPos(uint32_t pos); -bool testMidiInputDeviceListMouseDown(void); -int32_t SDLCALL initMidiFunc(void *ptr); +#pragma once + +#ifdef HAS_MIDI + +#include +#include +#include + +#define MIDI_INPUT_SELECTOR_BOX_WIDTH 247 +#define MAX_MIDI_DEVICES 99 + +struct midi_t +{ + char *inputDeviceName, *inputDeviceNames[MAX_MIDI_DEVICES]; + volatile bool closeMidiOnExit, initThreadDone; + uint32_t inputDevice; + bool enable, rescanDevicesFlag; + int16_t currMIDIVibDepth, currMIDIPitch; + int32_t numInputDevices; +} midi; + +void closeMidiInDevice(void); +void freeMidiIn(void); +bool initMidiIn(void); +bool openMidiInDevice(uint32_t deviceID); +void recordMIDIEffect(uint8_t effTyp, uint8_t effData); +bool saveMidiInputDeviceToConfig(void); +bool setMidiInputDeviceFromConfig(void); +void freeMidiInputDeviceList(void); +void rescanMidiInputDevices(void); +void drawMidiInputList(void); +void scrollMidiInputDevListUp(void); +void scrollMidiInputDevListDown(void); +void sbMidiInputSetPos(uint32_t pos); +bool testMidiInputDeviceListMouseDown(void); +int32_t SDLCALL initMidiFunc(void *ptr); + +#endif diff --git a/src/ft2_mix.c b/src/ft2_mix.c index b3da4b5..fc3b19c 100644 --- a/src/ft2_mix.c +++ b/src/ft2_mix.c @@ -1,1799 +1,1805 @@ -#include -#include -#include "ft2_header.h" -#include "ft2_mix.h" -#include "ft2_mix_macros.h" - -/* - --------------------- fixed-point audio channel mixer --------------------- - - This file has separate routines for EVERY possible sampling variation: - Interpolation, volume ramping, 8-bit, 16-bit, no loop, loop, bidi loop. - 24 mixing routines in total. - - Every voice has a function pointer set to the according mixing routine on - sample trigger (from replayer, but set in audio thread), using a function - pointer look-up table. - All voices are always cleared (thread safe) when changing any of the above - states from the GUI, so no problem there with deprecated cached function - pointers. - - Mixing macros can be found in ft2_mix_macros.h. - - Yes, this is a HUGE mess, and I hope you don't need to modify it. - If it's not broken, don't try to fix it! -*/ - -/* ----------------------------------------------------------------------- */ -/* 8-BIT MIXING ROUTINES */ -/* ----------------------------------------------------------------------- */ - -static void mix8bNoLoop(voice_t *v, uint32_t numSamples) -{ - const int8_t *CDA_LinearAdr; - bool mixInMono; - int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft; - register const int8_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; - - GET_VOL - - if ((CDA_LVol | CDA_RVol) == 0) - { - VOL0_OPTIMIZATION_NO_LOOP - return; - } - - GET_MIXER_VARS - GET_DELTA - SET_BASE8 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - CDA_BytesLeft -= samplesToMix; - - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_MONO - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_MONO - INC_POS - RENDER_8BIT_SMP_MONO - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP - INC_POS - RENDER_8BIT_SMP - INC_POS - } - } - - HANDLE_SAMPLE_END - } - - SET_BACK_MIXER_POS -} - -static void mix8bLoop(voice_t *v, uint32_t numSamples) -{ - const int8_t *CDA_LinearAdr; - bool mixInMono; - int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft; - register const int8_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; - - GET_VOL - - if ((CDA_LVol | CDA_RVol) == 0) - { - VOL0_OPTIMIZATION_LOOP - return; - } - - GET_MIXER_VARS - GET_DELTA - SET_BASE8 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - CDA_BytesLeft -= samplesToMix; - - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_MONO - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_MONO - INC_POS - RENDER_8BIT_SMP_MONO - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP - INC_POS - RENDER_8BIT_SMP - INC_POS - } - } - - WRAP_LOOP - } - - SET_BACK_MIXER_POS -} - -static void mix8bBidiLoop(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int8_t *CDA_LinearAdr, *CDA_LinAdrRev; - int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft; - register const int8_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; - register uint32_t pos; - uint32_t delta, i, samplesToMix; - - GET_VOL - - if ((CDA_LVol | CDA_RVol) == 0) - { - VOL0_OPTIMIZATION_BIDI_LOOP - return; - } - - GET_MIXER_VARS - SET_BASE8_BIDI - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - CDA_BytesLeft -= samplesToMix; - - START_BIDI - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_MONO - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_MONO - INC_POS_BIDI - RENDER_8BIT_SMP_MONO - INC_POS_BIDI - } - } - else - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP - INC_POS_BIDI - RENDER_8BIT_SMP - INC_POS_BIDI - } - } - END_BIDI - - WRAP_BIDI_LOOP - } - SET_BACK_MIXER_POS -} - -static void mix8bNoLoopIntrp(voice_t *v, uint32_t numSamples) -{ - const int8_t *CDA_LinearAdr; - bool mixInMono; - int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft; - register const int8_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; -#ifndef LERPMIX - int32_t sample3; -#endif - - GET_VOL - - if ((CDA_LVol | CDA_RVol) == 0) - { - VOL0_OPTIMIZATION_NO_LOOP - return; - } - - GET_MIXER_VARS - GET_DELTA - SET_BASE8 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - CDA_BytesLeft -= samplesToMix; - - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_MONO_INTRP - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_MONO_INTRP - INC_POS - RENDER_8BIT_SMP_MONO_INTRP - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_INTRP - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_INTRP - INC_POS - RENDER_8BIT_SMP_INTRP - INC_POS - } - } - - HANDLE_SAMPLE_END - } - - SET_BACK_MIXER_POS -} - -static void mix8bLoopIntrp(voice_t *v, uint32_t numSamples) -{ - const int8_t *CDA_LinearAdr; - bool mixInMono; - int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft; - register const int8_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; -#ifndef LERPMIX - int32_t sample3; -#endif - - GET_VOL - - if ((CDA_LVol | CDA_RVol) == 0) - { - VOL0_OPTIMIZATION_LOOP - return; - } - - GET_MIXER_VARS - GET_DELTA - SET_BASE8 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - CDA_BytesLeft -= samplesToMix; - - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_MONO_INTRP - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_MONO_INTRP - INC_POS - RENDER_8BIT_SMP_MONO_INTRP - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_INTRP - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_INTRP - INC_POS - RENDER_8BIT_SMP_INTRP - INC_POS - } - } - - WRAP_LOOP - } - - SET_BACK_MIXER_POS -} - -static void mix8bBidiLoopIntrp(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int8_t *CDA_LinearAdr, *CDA_LinAdrRev; - int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft; - register const int8_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; - register uint32_t pos; - uint32_t delta, i, samplesToMix; -#ifndef LERPMIX - int32_t sample3; -#endif - - GET_VOL - - if ((CDA_LVol | CDA_RVol) == 0) - { - VOL0_OPTIMIZATION_BIDI_LOOP - return; - } - - GET_MIXER_VARS - SET_BASE8_BIDI - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - CDA_BytesLeft -= samplesToMix; - - START_BIDI - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_MONO_INTRP - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_MONO_INTRP - INC_POS_BIDI - RENDER_8BIT_SMP_MONO_INTRP - INC_POS_BIDI - } - } - else - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_INTRP - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_INTRP - INC_POS_BIDI - RENDER_8BIT_SMP_INTRP - INC_POS_BIDI - } - } - END_BIDI - - WRAP_BIDI_LOOP - } - - SET_BACK_MIXER_POS -} - -static void mix8bRampNoLoop(voice_t *v, uint32_t numSamples) -{ - const int8_t *CDA_LinearAdr; - bool mixInMono; - int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; - register const int8_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; - - if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) - { - VOL0_OPTIMIZATION_NO_LOOP - return; - } - - GET_MIXER_VARS_RAMP - GET_DELTA - SET_BASE8 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - LIMIT_MIX_NUM_RAMP - CDA_BytesLeft -= samplesToMix; - - GET_VOL - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_MONO - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_MONO - VOLUME_RAMPING - INC_POS - RENDER_8BIT_SMP_MONO - VOLUME_RAMPING - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP - VOLUME_RAMPING - INC_POS - RENDER_8BIT_SMP - VOLUME_RAMPING - INC_POS - } - } - SET_VOL_BACK - - HANDLE_SAMPLE_END - } - - SET_BACK_MIXER_POS -} - -static void mix8bRampLoop(voice_t *v, uint32_t numSamples) -{ - const int8_t *CDA_LinearAdr; - bool mixInMono; - int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; - register const int8_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; - - if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) - { - VOL0_OPTIMIZATION_LOOP - return; - } - - GET_MIXER_VARS_RAMP - GET_DELTA - SET_BASE8 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - LIMIT_MIX_NUM_RAMP - CDA_BytesLeft -= samplesToMix; - - GET_VOL - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_MONO - VOLUME_RAMPING - INC_POS - RENDER_8BIT_SMP_MONO - VOLUME_RAMPING - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP - VOLUME_RAMPING - INC_POS - RENDER_8BIT_SMP - VOLUME_RAMPING - INC_POS - } - } - SET_VOL_BACK - - WRAP_LOOP - } - - SET_BACK_MIXER_POS -} - -static void mix8bRampBidiLoop(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int8_t *CDA_LinearAdr, *CDA_LinAdrRev; - int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; - register const int8_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; - register uint32_t pos; - uint32_t delta, i, samplesToMix; - - if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) - { - VOL0_OPTIMIZATION_BIDI_LOOP - return; - } - - GET_MIXER_VARS_RAMP - SET_BASE8_BIDI - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - LIMIT_MIX_NUM_RAMP - CDA_BytesLeft -= samplesToMix; - - GET_VOL - START_BIDI - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_MONO - VOLUME_RAMPING - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_MONO - VOLUME_RAMPING - INC_POS_BIDI - RENDER_8BIT_SMP_MONO - VOLUME_RAMPING - INC_POS_BIDI - } - } - else - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP - VOLUME_RAMPING - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP - VOLUME_RAMPING - INC_POS_BIDI - RENDER_8BIT_SMP - VOLUME_RAMPING - INC_POS_BIDI - } - } - END_BIDI - SET_VOL_BACK - - WRAP_BIDI_LOOP - } - - SET_BACK_MIXER_POS -} - -static void mix8bRampNoLoopIntrp(voice_t *v, uint32_t numSamples) -{ - const int8_t *CDA_LinearAdr; - bool mixInMono; - int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; - register const int8_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; -#ifndef LERPMIX - int32_t sample3; -#endif - - if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) - { - VOL0_OPTIMIZATION_NO_LOOP - return; - } - - GET_MIXER_VARS_RAMP - GET_DELTA - SET_BASE8 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - LIMIT_MIX_NUM_RAMP - CDA_BytesLeft -= samplesToMix; - - GET_VOL - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS - RENDER_8BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS - RENDER_8BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS - } - } - SET_VOL_BACK - - HANDLE_SAMPLE_END - } - - SET_BACK_MIXER_POS -} - -static void mix8bRampLoopIntrp(voice_t *v, uint32_t numSamples) -{ - const int8_t *CDA_LinearAdr; - bool mixInMono; - int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; - register const int8_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; -#ifndef LERPMIX - int32_t sample3; -#endif - - if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) - { - VOL0_OPTIMIZATION_LOOP - return; - } - - GET_MIXER_VARS_RAMP - GET_DELTA - SET_BASE8 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - LIMIT_MIX_NUM_RAMP - CDA_BytesLeft -= samplesToMix; - - GET_VOL - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS - RENDER_8BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS - RENDER_8BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS - } - } - SET_VOL_BACK - - WRAP_LOOP - } - - SET_BACK_MIXER_POS -} - -static void mix8bRampBidiLoopIntrp(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int8_t *CDA_LinearAdr, *CDA_LinAdrRev; - int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; - register const int8_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; - register uint32_t pos; - uint32_t delta, i, samplesToMix; -#ifndef LERPMIX - int32_t sample3; -#endif - - if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) - { - VOL0_OPTIMIZATION_BIDI_LOOP - return; - } - - GET_MIXER_VARS_RAMP - SET_BASE8_BIDI - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - LIMIT_MIX_NUM_RAMP - CDA_BytesLeft -= samplesToMix; - - GET_VOL - START_BIDI - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS_BIDI - RENDER_8BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS_BIDI - } - } - else - { - if (samplesToMix & 1) - { - RENDER_8BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_8BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS_BIDI - RENDER_8BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS_BIDI - } - } - END_BIDI - SET_VOL_BACK - - WRAP_BIDI_LOOP - } - SET_BACK_MIXER_POS -} - - - -/* ----------------------------------------------------------------------- */ -/* 16-BIT MIXING ROUTINES */ -/* ----------------------------------------------------------------------- */ - -static void mix16bNoLoop(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int16_t *CDA_LinearAdr; - int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft; - register const int16_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; - - GET_VOL - - if ((CDA_LVol | CDA_RVol) == 0) - { - VOL0_OPTIMIZATION_NO_LOOP - return; - } - - GET_MIXER_VARS - GET_DELTA - SET_BASE16 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - CDA_BytesLeft -= samplesToMix; - - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_MONO - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_MONO - INC_POS - RENDER_16BIT_SMP_MONO - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP - INC_POS - RENDER_16BIT_SMP - INC_POS - } - } - - HANDLE_SAMPLE_END - } - - SET_BACK_MIXER_POS -} - -static void mix16bLoop(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int16_t *CDA_LinearAdr; - int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft; - register const int16_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; - - GET_VOL - - if ((CDA_LVol | CDA_RVol) == 0) - { - VOL0_OPTIMIZATION_LOOP - return; - } - - GET_MIXER_VARS - GET_DELTA - SET_BASE16 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - CDA_BytesLeft -= samplesToMix; - - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_MONO - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_MONO - INC_POS - RENDER_16BIT_SMP_MONO - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP - INC_POS - RENDER_16BIT_SMP - INC_POS - } - } - - WRAP_LOOP - } - - SET_BACK_MIXER_POS -} - -static void mix16bBidiLoop(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int16_t *CDA_LinearAdr, *CDA_LinAdrRev; - int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft; - register const int16_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; - register uint32_t pos; - uint32_t delta, i, samplesToMix; - - GET_VOL - - if ((CDA_LVol | CDA_RVol) == 0) - { - VOL0_OPTIMIZATION_BIDI_LOOP - return; - } - - GET_MIXER_VARS - SET_BASE16_BIDI - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - CDA_BytesLeft -= samplesToMix; - - START_BIDI - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_MONO - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_MONO - INC_POS_BIDI - RENDER_16BIT_SMP_MONO - INC_POS_BIDI - } - } - else - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP - INC_POS_BIDI - RENDER_16BIT_SMP - INC_POS_BIDI - } - } - END_BIDI - - WRAP_BIDI_LOOP - } - - SET_BACK_MIXER_POS -} - -static void mix16bNoLoopIntrp(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int16_t *CDA_LinearAdr; - int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft; - register const int16_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; -#ifndef LERPMIX - int32_t sample3; -#endif - - GET_VOL - - if ((CDA_LVol | CDA_RVol) == 0) - { - VOL0_OPTIMIZATION_NO_LOOP - return; - } - - GET_MIXER_VARS - GET_DELTA - SET_BASE16 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - CDA_BytesLeft -= samplesToMix; - - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_MONO_INTRP - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_MONO_INTRP - INC_POS - RENDER_16BIT_SMP_MONO_INTRP - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_INTRP - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_INTRP - INC_POS - RENDER_16BIT_SMP_INTRP - INC_POS - } - } - - HANDLE_SAMPLE_END - } - - SET_BACK_MIXER_POS -} - -static void mix16bLoopIntrp(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int16_t *CDA_LinearAdr; - int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft; - register const int16_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; -#ifndef LERPMIX - int32_t sample3; -#endif - - GET_VOL - - if ((CDA_LVol| CDA_RVol) == 0) - { - VOL0_OPTIMIZATION_LOOP - return; - } - - GET_MIXER_VARS - GET_DELTA - SET_BASE16 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - CDA_BytesLeft -= samplesToMix; - - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_MONO_INTRP - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_MONO_INTRP - INC_POS - RENDER_16BIT_SMP_MONO_INTRP - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_INTRP - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_INTRP - INC_POS - RENDER_16BIT_SMP_INTRP - INC_POS - } - } - - WRAP_LOOP - } - - SET_BACK_MIXER_POS -} - -static void mix16bBidiLoopIntrp(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int16_t *CDA_LinearAdr, *CDA_LinAdrRev; - int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft; - register const int16_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; - register uint32_t pos; - uint32_t delta, i, samplesToMix; -#ifndef LERPMIX - int32_t sample3; -#endif - - GET_VOL - - if ((CDA_LVol | CDA_RVol) == 0) - { - VOL0_OPTIMIZATION_BIDI_LOOP - return; - } - - GET_MIXER_VARS - SET_BASE16_BIDI - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - CDA_BytesLeft -= samplesToMix; - - START_BIDI - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_MONO_INTRP - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_MONO_INTRP - INC_POS_BIDI - RENDER_16BIT_SMP_MONO_INTRP - INC_POS_BIDI - } - } - else - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_INTRP - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_INTRP - INC_POS_BIDI - RENDER_16BIT_SMP_INTRP - INC_POS_BIDI - } - } - END_BIDI - - WRAP_BIDI_LOOP - } - - SET_BACK_MIXER_POS -} - -static void mix16bRampNoLoop(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int16_t *CDA_LinearAdr; - int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; - register const int16_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; - - if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) - { - VOL0_OPTIMIZATION_NO_LOOP - return; - } - - GET_MIXER_VARS_RAMP - GET_DELTA - SET_BASE16 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - LIMIT_MIX_NUM_RAMP - CDA_BytesLeft -= samplesToMix; - - GET_VOL - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_MONO - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_MONO - VOLUME_RAMPING - INC_POS - RENDER_16BIT_SMP_MONO - VOLUME_RAMPING - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP - VOLUME_RAMPING - INC_POS - RENDER_16BIT_SMP - VOLUME_RAMPING - INC_POS - } - } - SET_VOL_BACK - - HANDLE_SAMPLE_END - } - - SET_BACK_MIXER_POS -} - -static void mix16bRampLoop(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int16_t *CDA_LinearAdr; - int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; - register const int16_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; - - if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) - { - VOL0_OPTIMIZATION_LOOP - return; - } - - GET_MIXER_VARS_RAMP - GET_DELTA - SET_BASE16 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - LIMIT_MIX_NUM_RAMP - CDA_BytesLeft -= samplesToMix; - - GET_VOL - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_MONO - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_MONO - VOLUME_RAMPING - INC_POS - RENDER_16BIT_SMP_MONO - VOLUME_RAMPING - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP - VOLUME_RAMPING - INC_POS - RENDER_16BIT_SMP - VOLUME_RAMPING - INC_POS - } - } - SET_VOL_BACK - - WRAP_LOOP - } - - SET_BACK_MIXER_POS -} - -static void mix16bRampBidiLoop(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int16_t *CDA_LinearAdr, *CDA_LinAdrRev; - int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; - register const int16_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; - register uint32_t pos; - uint32_t delta, i, samplesToMix; - - if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) - { - VOL0_OPTIMIZATION_BIDI_LOOP - return; - } - - GET_MIXER_VARS_RAMP - SET_BASE16_BIDI - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - LIMIT_MIX_NUM_RAMP - CDA_BytesLeft -= samplesToMix; - - GET_VOL - START_BIDI - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_MONO - VOLUME_RAMPING - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_MONO - VOLUME_RAMPING - INC_POS_BIDI - RENDER_16BIT_SMP_MONO - VOLUME_RAMPING - INC_POS_BIDI - } - } - else - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP - VOLUME_RAMPING - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP - VOLUME_RAMPING - INC_POS_BIDI - RENDER_16BIT_SMP - VOLUME_RAMPING - INC_POS_BIDI - } - } - END_BIDI - SET_VOL_BACK - - WRAP_BIDI_LOOP - } - - SET_BACK_MIXER_POS -} - -static void mix16bRampNoLoopIntrp(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int16_t *CDA_LinearAdr; - int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; - register const int16_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; -#ifndef LERPMIX - int32_t sample3; -#endif - - if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) - { - VOL0_OPTIMIZATION_NO_LOOP - return; - } - - GET_MIXER_VARS_RAMP - GET_DELTA - SET_BASE16 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - LIMIT_MIX_NUM_RAMP - CDA_BytesLeft -= samplesToMix; - - GET_VOL - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS - RENDER_16BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS - RENDER_16BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS - } - } - SET_VOL_BACK - - HANDLE_SAMPLE_END - } - - SET_BACK_MIXER_POS -} - -static void mix16bRampLoopIntrp(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int16_t *CDA_LinearAdr; - int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; - register const int16_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol; - register uint32_t pos, delta; - uint32_t i, samplesToMix; -#ifndef LERPMIX - int32_t sample3; -#endif - - if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) - { - VOL0_OPTIMIZATION_LOOP - return; - } - - GET_MIXER_VARS_RAMP - GET_DELTA - SET_BASE16 - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - LIMIT_MIX_NUM_RAMP - CDA_BytesLeft -= samplesToMix; - - GET_VOL - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS - RENDER_16BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS - } - } - else - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS - RENDER_16BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS - } - } - SET_VOL_BACK - - WRAP_LOOP - } - - SET_BACK_MIXER_POS -} - -static void mix16bRampBidiLoopIntrp(voice_t *v, uint32_t numSamples) -{ - bool mixInMono; - const int16_t *CDA_LinearAdr, *CDA_LinAdrRev; - int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; - register const int16_t *smpPtr; - register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; - register uint32_t pos; - uint32_t delta, i, samplesToMix; -#ifndef LERPMIX - int32_t sample3; -#endif - - if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) - { - VOL0_OPTIMIZATION_BIDI_LOOP - return; - } - - GET_MIXER_VARS_RAMP - SET_BASE16_BIDI - - CDA_BytesLeft = numSamples; - while (CDA_BytesLeft > 0) - { - LIMIT_MIX_NUM - LIMIT_MIX_NUM_RAMP - CDA_BytesLeft -= samplesToMix; - - GET_VOL - START_BIDI - if (mixInMono) - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS_BIDI - RENDER_16BIT_SMP_MONO_INTRP - VOLUME_RAMPING - INC_POS_BIDI - } - } - else - { - if (samplesToMix & 1) - { - RENDER_16BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS_BIDI - } - samplesToMix >>= 1; - for (i = 0; i < samplesToMix; i++) - { - RENDER_16BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS_BIDI - RENDER_16BIT_SMP_INTRP - VOLUME_RAMPING - INC_POS_BIDI - } - } - END_BIDI - SET_VOL_BACK - - WRAP_BIDI_LOOP - } - - SET_BACK_MIXER_POS -} - -// ----------------------------------------------------------------------- - -const mixRoutine mixRoutineTable[24] = -{ - (mixRoutine)mix8bNoLoop, - (mixRoutine)mix8bLoop, - (mixRoutine)mix8bBidiLoop, - (mixRoutine)mix8bNoLoopIntrp, - (mixRoutine)mix8bLoopIntrp, - (mixRoutine)mix8bBidiLoopIntrp, - (mixRoutine)mix8bRampNoLoop, - (mixRoutine)mix8bRampLoop, - (mixRoutine)mix8bRampBidiLoop, - (mixRoutine)mix8bRampNoLoopIntrp, - (mixRoutine)mix8bRampLoopIntrp, - (mixRoutine)mix8bRampBidiLoopIntrp, - (mixRoutine)mix16bNoLoop, - (mixRoutine)mix16bLoop, - (mixRoutine)mix16bBidiLoop, - (mixRoutine)mix16bNoLoopIntrp, - (mixRoutine)mix16bLoopIntrp, - (mixRoutine)mix16bBidiLoopIntrp, - (mixRoutine)mix16bRampNoLoop, - (mixRoutine)mix16bRampLoop, - (mixRoutine)mix16bRampBidiLoop, - (mixRoutine)mix16bRampNoLoopIntrp, - (mixRoutine)mix16bRampLoopIntrp, - (mixRoutine)mix16bRampBidiLoopIntrp -}; +#include +#include +#include "ft2_mix.h" +#include "ft2_mix_macros.h" +#include "ft2_tables.h" + +/* +** --------------------- 32-bit fixed-point audio channel mixer --------------------- +** (Note: Mixing macros can be found in ft2_mix_macros.h) +** +** 8bitbubsy: This is mostly ported from the i386-asm 32-bit mixer that was introduced in +** FT2.08 (MS-DOS). It has been changed and improved quite a bit, though... +** +** This file has separate routines for EVERY possible sampling variation: +** Interpolation on/off, volume ramping on/off, 8-bit, 16-bit, no loop, loop, pingpong. +** (24 mixing routines in total) +** +** Every voice has a function pointer set to the according mixing routine on sample +** trigger (from replayer, but set in audio thread), using a function pointer look-up +** table. All voices & pointers are always thread-safely cleared when changing any +** of the above attributes from the GUI, to prevent possible thread-related issues. +** +** There's one problem with the 4-tap cubic spline resampling interpolation... +** On looped samples where loopStart>0, the splines are not correct when reading +** from the loopStart (or +1?) sample point. The difference in audio is very minor, +** so it's not a big problem. It just has to stay like this the way the mixer works. +** In cases where loopStart=0, the sample before index 0 (yes, we allocate enough +** data and pre-increment main pointer to support negative look-up), is already +** pre-fixed so that the splines will be correct. +** ---------------------------------------------------------------------------------- +*/ + +/* ----------------------------------------------------------------------- */ +/* 8-BIT MIXING ROUTINES */ +/* ----------------------------------------------------------------------- */ + +static void mix8bNoLoop(voice_t *v, uint32_t numSamples) +{ + const int8_t *CDA_LinearAdr; + bool mixInMono; + int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft; + register const int8_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; + + GET_VOL + + if ((CDA_LVol | CDA_RVol) == 0) + { + VOL0_OPTIMIZATION_NO_LOOP + return; + } + + GET_MIXER_VARS + GET_DELTA + SET_BASE8 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + CDA_BytesLeft -= samplesToMix; + + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_MONO + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_MONO + INC_POS + RENDER_8BIT_SMP_MONO + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP + INC_POS + RENDER_8BIT_SMP + INC_POS + } + } + + HANDLE_SAMPLE_END + } + + SET_BACK_MIXER_POS +} + +static void mix8bLoop(voice_t *v, uint32_t numSamples) +{ + const int8_t *CDA_LinearAdr; + bool mixInMono; + int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft; + register const int8_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; + + GET_VOL + + if ((CDA_LVol | CDA_RVol) == 0) + { + VOL0_OPTIMIZATION_LOOP + return; + } + + GET_MIXER_VARS + GET_DELTA + SET_BASE8 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + CDA_BytesLeft -= samplesToMix; + + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_MONO + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_MONO + INC_POS + RENDER_8BIT_SMP_MONO + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP + INC_POS + RENDER_8BIT_SMP + INC_POS + } + } + + WRAP_LOOP + } + + SET_BACK_MIXER_POS +} + +static void mix8bBidiLoop(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int8_t *CDA_LinearAdr, *CDA_LinAdrRev; + int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft; + register const int8_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; + register uint32_t pos; + uint32_t delta, i, samplesToMix; + + GET_VOL + + if ((CDA_LVol | CDA_RVol) == 0) + { + VOL0_OPTIMIZATION_BIDI_LOOP + return; + } + + GET_MIXER_VARS + SET_BASE8_BIDI + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + CDA_BytesLeft -= samplesToMix; + + START_BIDI + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_MONO + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_MONO + INC_POS_BIDI + RENDER_8BIT_SMP_MONO + INC_POS_BIDI + } + } + else + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP + INC_POS_BIDI + RENDER_8BIT_SMP + INC_POS_BIDI + } + } + END_BIDI + + WRAP_BIDI_LOOP + } + SET_BACK_MIXER_POS +} + +static void mix8bNoLoopIntrp(voice_t *v, uint32_t numSamples) +{ + const int8_t *CDA_LinearAdr; + bool mixInMono; + int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft; + register const int8_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; +#ifndef LERPMIX + int32_t sample3, sample4; +#endif + + GET_VOL + + if ((CDA_LVol | CDA_RVol) == 0) + { + VOL0_OPTIMIZATION_NO_LOOP + return; + } + + GET_MIXER_VARS + GET_DELTA + SET_BASE8 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + CDA_BytesLeft -= samplesToMix; + + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_MONO_INTRP + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_MONO_INTRP + INC_POS + RENDER_8BIT_SMP_MONO_INTRP + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_INTRP + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_INTRP + INC_POS + RENDER_8BIT_SMP_INTRP + INC_POS + } + } + + HANDLE_SAMPLE_END + } + + SET_BACK_MIXER_POS +} + +static void mix8bLoopIntrp(voice_t *v, uint32_t numSamples) +{ + const int8_t *CDA_LinearAdr; + bool mixInMono; + int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft; + register const int8_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; +#ifndef LERPMIX + int32_t sample3, sample4; +#endif + + GET_VOL + + if ((CDA_LVol | CDA_RVol) == 0) + { + VOL0_OPTIMIZATION_LOOP + return; + } + + GET_MIXER_VARS + GET_DELTA + SET_BASE8 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + CDA_BytesLeft -= samplesToMix; + + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_MONO_INTRP + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_MONO_INTRP + INC_POS + RENDER_8BIT_SMP_MONO_INTRP + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_INTRP + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_INTRP + INC_POS + RENDER_8BIT_SMP_INTRP + INC_POS + } + } + + WRAP_LOOP + } + + SET_BACK_MIXER_POS +} + +static void mix8bBidiLoopIntrp(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int8_t *CDA_LinearAdr, *CDA_LinAdrRev; + int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft; + register const int8_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; + register uint32_t pos; + uint32_t delta, i, samplesToMix; +#ifndef LERPMIX + int32_t sample3, sample4; +#endif + + GET_VOL + + if ((CDA_LVol | CDA_RVol) == 0) + { + VOL0_OPTIMIZATION_BIDI_LOOP + return; + } + + GET_MIXER_VARS + SET_BASE8_BIDI + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + CDA_BytesLeft -= samplesToMix; + + START_BIDI + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_MONO_INTRP + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_MONO_INTRP + INC_POS_BIDI + RENDER_8BIT_SMP_MONO_INTRP + INC_POS_BIDI + } + } + else + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_INTRP + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_INTRP + INC_POS_BIDI + RENDER_8BIT_SMP_INTRP + INC_POS_BIDI + } + } + END_BIDI + + WRAP_BIDI_LOOP + } + + SET_BACK_MIXER_POS +} + +static void mix8bRampNoLoop(voice_t *v, uint32_t numSamples) +{ + const int8_t *CDA_LinearAdr; + bool mixInMono; + int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; + register const int8_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; + + if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) + { + VOL0_OPTIMIZATION_NO_LOOP + return; + } + + GET_MIXER_VARS_RAMP + GET_DELTA + SET_BASE8 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + LIMIT_MIX_NUM_RAMP + CDA_BytesLeft -= samplesToMix; + + GET_VOL + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_MONO + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_MONO + VOLUME_RAMPING + INC_POS + RENDER_8BIT_SMP_MONO + VOLUME_RAMPING + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP + VOLUME_RAMPING + INC_POS + RENDER_8BIT_SMP + VOLUME_RAMPING + INC_POS + } + } + SET_VOL_BACK + + HANDLE_SAMPLE_END + } + + SET_BACK_MIXER_POS +} + +static void mix8bRampLoop(voice_t *v, uint32_t numSamples) +{ + const int8_t *CDA_LinearAdr; + bool mixInMono; + int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; + register const int8_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; + + if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) + { + VOL0_OPTIMIZATION_LOOP + return; + } + + GET_MIXER_VARS_RAMP + GET_DELTA + SET_BASE8 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + LIMIT_MIX_NUM_RAMP + CDA_BytesLeft -= samplesToMix; + + GET_VOL + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_MONO + VOLUME_RAMPING + INC_POS + RENDER_8BIT_SMP_MONO + VOLUME_RAMPING + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP + VOLUME_RAMPING + INC_POS + RENDER_8BIT_SMP + VOLUME_RAMPING + INC_POS + } + } + SET_VOL_BACK + + WRAP_LOOP + } + + SET_BACK_MIXER_POS +} + +static void mix8bRampBidiLoop(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int8_t *CDA_LinearAdr, *CDA_LinAdrRev; + int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; + register const int8_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; + register uint32_t pos; + uint32_t delta, i, samplesToMix; + + if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) + { + VOL0_OPTIMIZATION_BIDI_LOOP + return; + } + + GET_MIXER_VARS_RAMP + SET_BASE8_BIDI + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + LIMIT_MIX_NUM_RAMP + CDA_BytesLeft -= samplesToMix; + + GET_VOL + START_BIDI + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_MONO + VOLUME_RAMPING + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_MONO + VOLUME_RAMPING + INC_POS_BIDI + RENDER_8BIT_SMP_MONO + VOLUME_RAMPING + INC_POS_BIDI + } + } + else + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP + VOLUME_RAMPING + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP + VOLUME_RAMPING + INC_POS_BIDI + RENDER_8BIT_SMP + VOLUME_RAMPING + INC_POS_BIDI + } + } + END_BIDI + SET_VOL_BACK + + WRAP_BIDI_LOOP + } + + SET_BACK_MIXER_POS +} + +static void mix8bRampNoLoopIntrp(voice_t *v, uint32_t numSamples) +{ + const int8_t *CDA_LinearAdr; + bool mixInMono; + int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; + register const int8_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; +#ifndef LERPMIX + int32_t sample3, sample4; +#endif + + if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) + { + VOL0_OPTIMIZATION_NO_LOOP + return; + } + + GET_MIXER_VARS_RAMP + GET_DELTA + SET_BASE8 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + LIMIT_MIX_NUM_RAMP + CDA_BytesLeft -= samplesToMix; + + GET_VOL + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS + RENDER_8BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS + RENDER_8BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS + } + } + SET_VOL_BACK + + HANDLE_SAMPLE_END + } + + SET_BACK_MIXER_POS +} + +static void mix8bRampLoopIntrp(voice_t *v, uint32_t numSamples) +{ + const int8_t *CDA_LinearAdr; + bool mixInMono; + int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; + register const int8_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; +#ifndef LERPMIX + int32_t sample3, sample4; +#endif + + if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) + { + VOL0_OPTIMIZATION_LOOP + return; + } + + GET_MIXER_VARS_RAMP + GET_DELTA + SET_BASE8 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + LIMIT_MIX_NUM_RAMP + CDA_BytesLeft -= samplesToMix; + + GET_VOL + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS + RENDER_8BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS + RENDER_8BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS + } + } + SET_VOL_BACK + + WRAP_LOOP + } + + SET_BACK_MIXER_POS +} + +static void mix8bRampBidiLoopIntrp(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int8_t *CDA_LinearAdr, *CDA_LinAdrRev; + int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; + register const int8_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; + register uint32_t pos; + uint32_t delta, i, samplesToMix; +#ifndef LERPMIX + int32_t sample3, sample4; +#endif + + if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) + { + VOL0_OPTIMIZATION_BIDI_LOOP + return; + } + + GET_MIXER_VARS_RAMP + SET_BASE8_BIDI + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + LIMIT_MIX_NUM_RAMP + CDA_BytesLeft -= samplesToMix; + + GET_VOL + START_BIDI + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS_BIDI + RENDER_8BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS_BIDI + } + } + else + { + if (samplesToMix & 1) + { + RENDER_8BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_8BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS_BIDI + RENDER_8BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS_BIDI + } + } + END_BIDI + SET_VOL_BACK + + WRAP_BIDI_LOOP + } + SET_BACK_MIXER_POS +} + + + +/* ----------------------------------------------------------------------- */ +/* 16-BIT MIXING ROUTINES */ +/* ----------------------------------------------------------------------- */ + +static void mix16bNoLoop(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int16_t *CDA_LinearAdr; + int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft; + register const int16_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; + + GET_VOL + + if ((CDA_LVol | CDA_RVol) == 0) + { + VOL0_OPTIMIZATION_NO_LOOP + return; + } + + GET_MIXER_VARS + GET_DELTA + SET_BASE16 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + CDA_BytesLeft -= samplesToMix; + + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_MONO + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_MONO + INC_POS + RENDER_16BIT_SMP_MONO + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP + INC_POS + RENDER_16BIT_SMP + INC_POS + } + } + + HANDLE_SAMPLE_END + } + + SET_BACK_MIXER_POS +} + +static void mix16bLoop(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int16_t *CDA_LinearAdr; + int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft; + register const int16_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; + + GET_VOL + + if ((CDA_LVol | CDA_RVol) == 0) + { + VOL0_OPTIMIZATION_LOOP + return; + } + + GET_MIXER_VARS + GET_DELTA + SET_BASE16 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + CDA_BytesLeft -= samplesToMix; + + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_MONO + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_MONO + INC_POS + RENDER_16BIT_SMP_MONO + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP + INC_POS + RENDER_16BIT_SMP + INC_POS + } + } + + WRAP_LOOP + } + + SET_BACK_MIXER_POS +} + +static void mix16bBidiLoop(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int16_t *CDA_LinearAdr, *CDA_LinAdrRev; + int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft; + register const int16_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; + register uint32_t pos; + uint32_t delta, i, samplesToMix; + + GET_VOL + + if ((CDA_LVol | CDA_RVol) == 0) + { + VOL0_OPTIMIZATION_BIDI_LOOP + return; + } + + GET_MIXER_VARS + SET_BASE16_BIDI + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + CDA_BytesLeft -= samplesToMix; + + START_BIDI + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_MONO + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_MONO + INC_POS_BIDI + RENDER_16BIT_SMP_MONO + INC_POS_BIDI + } + } + else + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP + INC_POS_BIDI + RENDER_16BIT_SMP + INC_POS_BIDI + } + } + END_BIDI + + WRAP_BIDI_LOOP + } + + SET_BACK_MIXER_POS +} + +static void mix16bNoLoopIntrp(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int16_t *CDA_LinearAdr; + int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft; + register const int16_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; +#ifndef LERPMIX + int32_t sample3, sample4; +#endif + + GET_VOL + + if ((CDA_LVol | CDA_RVol) == 0) + { + VOL0_OPTIMIZATION_NO_LOOP + return; + } + + GET_MIXER_VARS + GET_DELTA + SET_BASE16 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + CDA_BytesLeft -= samplesToMix; + + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_MONO_INTRP + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_MONO_INTRP + INC_POS + RENDER_16BIT_SMP_MONO_INTRP + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_INTRP + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_INTRP + INC_POS + RENDER_16BIT_SMP_INTRP + INC_POS + } + } + + HANDLE_SAMPLE_END + } + + SET_BACK_MIXER_POS +} + +static void mix16bLoopIntrp(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int16_t *CDA_LinearAdr; + int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft; + register const int16_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; +#ifndef LERPMIX + int32_t sample3, sample4; +#endif + + GET_VOL + + if ((CDA_LVol| CDA_RVol) == 0) + { + VOL0_OPTIMIZATION_LOOP + return; + } + + GET_MIXER_VARS + GET_DELTA + SET_BASE16 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + CDA_BytesLeft -= samplesToMix; + + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_MONO_INTRP + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_MONO_INTRP + INC_POS + RENDER_16BIT_SMP_MONO_INTRP + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_INTRP + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_INTRP + INC_POS + RENDER_16BIT_SMP_INTRP + INC_POS + } + } + + WRAP_LOOP + } + + SET_BACK_MIXER_POS +} + +static void mix16bBidiLoopIntrp(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int16_t *CDA_LinearAdr, *CDA_LinAdrRev; + int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft; + register const int16_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; + register uint32_t pos; + uint32_t delta, i, samplesToMix; +#ifndef LERPMIX + int32_t sample3, sample4; +#endif + + GET_VOL + + if ((CDA_LVol | CDA_RVol) == 0) + { + VOL0_OPTIMIZATION_BIDI_LOOP + return; + } + + GET_MIXER_VARS + SET_BASE16_BIDI + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + CDA_BytesLeft -= samplesToMix; + + START_BIDI + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_MONO_INTRP + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_MONO_INTRP + INC_POS_BIDI + RENDER_16BIT_SMP_MONO_INTRP + INC_POS_BIDI + } + } + else + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_INTRP + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_INTRP + INC_POS_BIDI + RENDER_16BIT_SMP_INTRP + INC_POS_BIDI + } + } + END_BIDI + + WRAP_BIDI_LOOP + } + + SET_BACK_MIXER_POS +} + +static void mix16bRampNoLoop(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int16_t *CDA_LinearAdr; + int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; + register const int16_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; + + if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) + { + VOL0_OPTIMIZATION_NO_LOOP + return; + } + + GET_MIXER_VARS_RAMP + GET_DELTA + SET_BASE16 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + LIMIT_MIX_NUM_RAMP + CDA_BytesLeft -= samplesToMix; + + GET_VOL + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_MONO + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_MONO + VOLUME_RAMPING + INC_POS + RENDER_16BIT_SMP_MONO + VOLUME_RAMPING + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP + VOLUME_RAMPING + INC_POS + RENDER_16BIT_SMP + VOLUME_RAMPING + INC_POS + } + } + SET_VOL_BACK + + HANDLE_SAMPLE_END + } + + SET_BACK_MIXER_POS +} + +static void mix16bRampLoop(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int16_t *CDA_LinearAdr; + int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; + register const int16_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; + + if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) + { + VOL0_OPTIMIZATION_LOOP + return; + } + + GET_MIXER_VARS_RAMP + GET_DELTA + SET_BASE16 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + LIMIT_MIX_NUM_RAMP + CDA_BytesLeft -= samplesToMix; + + GET_VOL + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_MONO + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_MONO + VOLUME_RAMPING + INC_POS + RENDER_16BIT_SMP_MONO + VOLUME_RAMPING + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP + VOLUME_RAMPING + INC_POS + RENDER_16BIT_SMP + VOLUME_RAMPING + INC_POS + } + } + SET_VOL_BACK + + WRAP_LOOP + } + + SET_BACK_MIXER_POS +} + +static void mix16bRampBidiLoop(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int16_t *CDA_LinearAdr, *CDA_LinAdrRev; + int32_t realPos, sample, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; + register const int16_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; + register uint32_t pos; + uint32_t delta, i, samplesToMix; + + if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) + { + VOL0_OPTIMIZATION_BIDI_LOOP + return; + } + + GET_MIXER_VARS_RAMP + SET_BASE16_BIDI + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + LIMIT_MIX_NUM_RAMP + CDA_BytesLeft -= samplesToMix; + + GET_VOL + START_BIDI + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_MONO + VOLUME_RAMPING + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_MONO + VOLUME_RAMPING + INC_POS_BIDI + RENDER_16BIT_SMP_MONO + VOLUME_RAMPING + INC_POS_BIDI + } + } + else + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP + VOLUME_RAMPING + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP + VOLUME_RAMPING + INC_POS_BIDI + RENDER_16BIT_SMP + VOLUME_RAMPING + INC_POS_BIDI + } + } + END_BIDI + SET_VOL_BACK + + WRAP_BIDI_LOOP + } + + SET_BACK_MIXER_POS +} + +static void mix16bRampNoLoopIntrp(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int16_t *CDA_LinearAdr; + int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; + register const int16_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; +#ifndef LERPMIX + int32_t sample3, sample4; +#endif + + if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) + { + VOL0_OPTIMIZATION_NO_LOOP + return; + } + + GET_MIXER_VARS_RAMP + GET_DELTA + SET_BASE16 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + LIMIT_MIX_NUM_RAMP + CDA_BytesLeft -= samplesToMix; + + GET_VOL + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS + RENDER_16BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS + RENDER_16BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS + } + } + SET_VOL_BACK + + HANDLE_SAMPLE_END + } + + SET_BACK_MIXER_POS +} + +static void mix16bRampLoopIntrp(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int16_t *CDA_LinearAdr; + int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; + register const int16_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol; + register uint32_t pos, delta; + uint32_t i, samplesToMix; +#ifndef LERPMIX + int32_t sample3, sample4; +#endif + + if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) + { + VOL0_OPTIMIZATION_LOOP + return; + } + + GET_MIXER_VARS_RAMP + GET_DELTA + SET_BASE16 + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + LIMIT_MIX_NUM_RAMP + CDA_BytesLeft -= samplesToMix; + + GET_VOL + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS + RENDER_16BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS + } + } + else + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS + RENDER_16BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS + } + } + SET_VOL_BACK + + WRAP_LOOP + } + + SET_BACK_MIXER_POS +} + +static void mix16bRampBidiLoopIntrp(voice_t *v, uint32_t numSamples) +{ + bool mixInMono; + const int16_t *CDA_LinearAdr, *CDA_LinAdrRev; + int32_t realPos, sample, sample2, *audioMixL, *audioMixR, CDA_BytesLeft, CDA_LVolIP, CDA_RVolIP; + register const int16_t *smpPtr; + register int32_t CDA_LVol, CDA_RVol, CDA_IPValL, CDA_IPValH; + register uint32_t pos; + uint32_t delta, i, samplesToMix; +#ifndef LERPMIX + int32_t sample3, sample4; +#endif + + if ((v->SLVol1 | v->SRVol1 | v->SLVol2 | v->SRVol2) == 0) + { + VOL0_OPTIMIZATION_BIDI_LOOP + return; + } + + GET_MIXER_VARS_RAMP + SET_BASE16_BIDI + + CDA_BytesLeft = numSamples; + while (CDA_BytesLeft > 0) + { + LIMIT_MIX_NUM + LIMIT_MIX_NUM_RAMP + CDA_BytesLeft -= samplesToMix; + + GET_VOL + START_BIDI + if (mixInMono) + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS_BIDI + RENDER_16BIT_SMP_MONO_INTRP + VOLUME_RAMPING + INC_POS_BIDI + } + } + else + { + if (samplesToMix & 1) + { + RENDER_16BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS_BIDI + } + samplesToMix >>= 1; + for (i = 0; i < samplesToMix; i++) + { + RENDER_16BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS_BIDI + RENDER_16BIT_SMP_INTRP + VOLUME_RAMPING + INC_POS_BIDI + } + } + END_BIDI + SET_VOL_BACK + + WRAP_BIDI_LOOP + } + + SET_BACK_MIXER_POS +} + +// ----------------------------------------------------------------------- + +const mixRoutine mixRoutineTable[24] = +{ + (mixRoutine)mix8bNoLoop, + (mixRoutine)mix8bLoop, + (mixRoutine)mix8bBidiLoop, + (mixRoutine)mix8bNoLoopIntrp, + (mixRoutine)mix8bLoopIntrp, + (mixRoutine)mix8bBidiLoopIntrp, + (mixRoutine)mix8bRampNoLoop, + (mixRoutine)mix8bRampLoop, + (mixRoutine)mix8bRampBidiLoop, + (mixRoutine)mix8bRampNoLoopIntrp, + (mixRoutine)mix8bRampLoopIntrp, + (mixRoutine)mix8bRampBidiLoopIntrp, + (mixRoutine)mix16bNoLoop, + (mixRoutine)mix16bLoop, + (mixRoutine)mix16bBidiLoop, + (mixRoutine)mix16bNoLoopIntrp, + (mixRoutine)mix16bLoopIntrp, + (mixRoutine)mix16bBidiLoopIntrp, + (mixRoutine)mix16bRampNoLoop, + (mixRoutine)mix16bRampLoop, + (mixRoutine)mix16bRampBidiLoop, + (mixRoutine)mix16bRampNoLoopIntrp, + (mixRoutine)mix16bRampLoopIntrp, + (mixRoutine)mix16bRampBidiLoopIntrp +}; diff --git a/src/ft2_mix.h b/src/ft2_mix.h index a3cc6a9..1613523 100644 --- a/src/ft2_mix.h +++ b/src/ft2_mix.h @@ -1,8 +1,8 @@ -#pragma once - -#include -#include "ft2_audio.h" - -typedef void (*mixRoutine)(void *, int32_t); - -extern const mixRoutine mixRoutineTable[24]; // ft2_mix.c +#pragma once + +#include +#include "ft2_audio.h" + +typedef void (*mixRoutine)(void *, int32_t); + +extern const mixRoutine mixRoutineTable[24]; // ft2_mix.c diff --git a/src/ft2_mix_macros.h b/src/ft2_mix_macros.h index 1ad58fd..3a83c1d 100644 --- a/src/ft2_mix_macros.h +++ b/src/ft2_mix_macros.h @@ -1,366 +1,358 @@ -#pragma once - -#include "ft2_header.h" - -/* ----------------------------------------------------------------------- */ -/* GENERAL MIXER MACROS */ -/* ----------------------------------------------------------------------- */ - -#define GET_VOL \ - CDA_LVol = v->SLVol2; \ - CDA_RVol = v->SRVol2; \ - -#define SET_VOL_BACK \ - v->SLVol2 = CDA_LVol; \ - v->SRVol2 = CDA_RVol; \ - -#define GET_DELTA delta = v->SFrq; - -#define GET_MIXER_VARS \ - audioMixL = audio.mixBufferL; \ - audioMixR = audio.mixBufferR; \ - mixInMono = (CDA_LVol == CDA_RVol); \ - realPos = v->SPos; \ - pos = v->SPosDec; \ - -#define GET_MIXER_VARS_RAMP \ - audioMixL = audio.mixBufferL; \ - audioMixR = audio.mixBufferR; \ - CDA_LVolIP = v->SLVolIP; \ - CDA_RVolIP = v->SRVolIP; \ - mixInMono = (v->SLVol2 == v->SRVol2) && (CDA_LVolIP == CDA_RVolIP); \ - realPos = v->SPos; \ - pos = v->SPosDec; \ - -#define SET_BASE8 \ - CDA_LinearAdr = v->SBase8; \ - smpPtr = CDA_LinearAdr + realPos; \ - -#define SET_BASE16 \ - CDA_LinearAdr = v->SBase16; \ - smpPtr = CDA_LinearAdr + realPos; \ - -#define SET_BASE8_BIDI \ - CDA_LinearAdr = v->SBase8; \ - CDA_LinAdrRev = v->SRevBase8; \ - -#define SET_BASE16_BIDI \ - CDA_LinearAdr = v->SBase16; \ - CDA_LinAdrRev = v->SRevBase16; \ - -#define INC_POS \ - pos += delta; \ - smpPtr += pos >> 16; \ - pos &= 0xFFFF; \ - -#define INC_POS_BIDI \ - pos += CDA_IPValL; \ - smpPtr += pos >> 16; \ - smpPtr += CDA_IPValH; \ - pos &= 0xFFFF; \ - -#define SET_BACK_MIXER_POS \ - v->SPosDec = pos; \ - v->SPos = realPos; \ - -/* ----------------------------------------------------------------------- */ -/* SAMPLE RENDERING MACROS */ -/* ----------------------------------------------------------------------- */ - -#define VOLUME_RAMPING \ - CDA_LVol += CDA_LVolIP; \ - CDA_RVol += CDA_RVolIP; \ - -// all the 64-bit MULs here convert to fast logic on most 32-bit CPUs - -#define RENDER_8BIT_SMP \ - assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ - sample = *smpPtr << 20; \ - *audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \ - *audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \ - -#define RENDER_8BIT_SMP_MONO \ - assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ - sample = *smpPtr << 20; \ - sample = ((int64_t)sample * CDA_LVol) >> 32; \ - *audioMixL++ += sample; \ - *audioMixR++ += sample; \ - -#define RENDER_16BIT_SMP \ - assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ - sample = *smpPtr << 12; \ - *audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \ - *audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \ - -#define RENDER_16BIT_SMP_MONO \ - assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ - sample = *smpPtr << 12; \ - sample = ((int64_t)sample * CDA_LVol) >> 32; \ - *audioMixL++ += sample; \ - *audioMixR++ += sample; \ - -#ifndef LERPMIX - -// 3-tap quadratic interpolation (default - slower, but better quality) - -// in: int32_t s1,s2,s3 = -128..127 | f = 0..65535 (frac) | out: s1 (will exceed 16-bits because of overshoot) -#define INTERPOLATE8(s1, s2, s3, f) \ -{ \ - int32_t s4, frac = f >> 1; \ - \ - s2 <<= 8; \ - s4 = ((s1 + s3) << (8 - 1)) - s2; \ - s4 = ((s4 * frac) >> 16) + s2; \ - s3 = (s1 + s3) << (8 - 1); \ - s1 <<= 8; \ - s3 = (s1 + s3) >> 1; \ - s1 += ((s4 - s3) * frac) >> 14; \ -} \ - -// in: int32_t s1,s2,s3 = -32768..32767 | f = 0..65535 (frac) | out: s1 (will exceed 16-bits because of overshoot) -#define INTERPOLATE16(s1, s2, s3, f) \ -{ \ - int32_t s4, frac = f >> 1; \ - \ - s4 = ((s1 + s3) >> 1) - s2; \ - s4 = ((s4 * frac) >> 16) + s2; \ - s3 = (s1 + s3) >> 1; \ - s3 = (s1 + s3) >> 1; \ - s1 += ((s4 - s3) * frac) >> 14; \ -} \ - -#define RENDER_8BIT_SMP_INTRP \ - assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ - sample = smpPtr[0]; \ - sample2 = smpPtr[1]; \ - sample3 = smpPtr[2]; \ - INTERPOLATE8(sample, sample2, sample3, pos) \ - sample <<= 12; \ - *audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \ - *audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \ - -#define RENDER_8BIT_SMP_MONO_INTRP \ - assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ - sample = smpPtr[0]; \ - sample2 = smpPtr[1]; \ - sample3 = smpPtr[2]; \ - INTERPOLATE8(sample, sample2, sample3, pos) \ - sample <<= 12; \ - sample = ((int64_t)sample * CDA_LVol) >> 32; \ - *audioMixL++ += sample; \ - *audioMixR++ += sample; \ - -#define RENDER_16BIT_SMP_INTRP \ - assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ - sample = smpPtr[0]; \ - sample2 = smpPtr[1]; \ - sample3 = smpPtr[2]; \ - INTERPOLATE16(sample, sample2, sample3, pos) \ - sample <<= 12; \ - *audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \ - *audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \ - -#define RENDER_16BIT_SMP_MONO_INTRP \ - assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ - sample = smpPtr[0]; \ - sample2 = smpPtr[1]; \ - sample3 = smpPtr[2]; \ - INTERPOLATE16(sample, sample2, sample3, pos) \ - sample <<= 12; \ - sample = ((int64_t)sample * CDA_LVol) >> 32; \ - *audioMixL++ += sample; \ - *audioMixR++ += sample; \ - -#else - -// 2-tap linear interpolation (like FT2 - faster, but bad quality) - -// in: int32_t s1,s2 = -128..127 | f = 0..65535 (frac) | out: s1 = -32768..32767 -#define INTERPOLATE8(s1, s2, f) \ - s2 -= s1; \ - s2 = (s2 * (int32_t)f) >> 8; \ - s1 <<= 8; \ - s1 += s2; \ - -// in: int32_t s1,s2 = -32768..32767 | f = 0..65535 (frac) | out: s1 = -32768..32767 -#define INTERPOLATE16(s1, s2, f) \ - s2 = (s2 - s1) >> 1; \ - s2 = (s2 * (int32_t)f) >> 15; \ - s1 += s2; \ - -#define RENDER_8BIT_SMP_INTRP \ - assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ - sample = smpPtr[0]; \ - sample2 = smpPtr[1]; \ - INTERPOLATE8(sample, sample2, pos) \ - sample <<= 12; \ - *audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \ - *audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \ - -#define RENDER_8BIT_SMP_MONO_INTRP \ - assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ - sample = smpPtr[0]; \ - sample2 = smpPtr[1]; \ - INTERPOLATE8(sample, sample2, pos) \ - sample <<= 12; \ - sample = ((int64_t)sample * CDA_LVol) >> 32; \ - *audioMixL++ += sample; \ - *audioMixR++ += sample; \ - -#define RENDER_16BIT_SMP_INTRP \ - assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ - sample = smpPtr[0]; \ - sample2 = smpPtr[1]; \ - INTERPOLATE16(sample, sample2, pos) \ - sample <<= 12; \ - *audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \ - *audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \ - -#define RENDER_16BIT_SMP_MONO_INTRP \ - assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ - sample = smpPtr[0]; \ - sample2 = smpPtr[1]; \ - INTERPOLATE16(sample, sample2, pos) \ - sample <<= 12; \ - sample = ((int64_t)sample * CDA_LVol) >> 32; \ - *audioMixL++ += sample; \ - *audioMixR++ += sample; \ - -#endif - -/* ----------------------------------------------------------------------- */ -/* SAMPLES-TO-MIX LIMITING MACROS */ -/* ----------------------------------------------------------------------- */ - -#define LIMIT_MIX_NUM \ - i = (v->SLen - 1) - realPos; \ - if (i > 65535) \ - i = 65535; \ - \ - samplesToMix = (((((uint64_t)i << 16) | (pos ^ 0xFFFF)) * v->SFrqRev) >> 32) + 1; \ - if (samplesToMix > (uint32_t)CDA_BytesLeft) \ - samplesToMix = CDA_BytesLeft; \ - -#define LIMIT_MIX_NUM_RAMP \ - if (v->SVolIPLen == 0) \ - { \ - CDA_LVolIP = 0; \ - CDA_RVolIP = 0; \ - \ - if (v->isFadeOutVoice) \ - { \ - v->mixRoutine = NULL; /* fade out voice is done, shut it down */ \ - return; \ - } \ - } \ - else \ - { \ - if (samplesToMix > (uint32_t)v->SVolIPLen) \ - samplesToMix = v->SVolIPLen; \ - \ - v->SVolIPLen -= samplesToMix; \ - } \ - -#define START_BIDI \ - if (v->backwards) \ - { \ - delta = 0 - v->SFrq; \ - CDA_IPValH = (int32_t)delta >> 16; \ - assert(realPos >= v->SRepS && realPos < v->SLen); \ - realPos = ~realPos; \ - smpPtr = CDA_LinAdrRev + realPos; \ - pos ^= 0xFFFF; \ - } \ - else \ - { \ - delta = v->SFrq; \ - CDA_IPValH = delta >> 16; \ - assert(realPos >= 0 && realPos < v->SLen); \ - smpPtr = CDA_LinearAdr + realPos; \ - } \ - \ - CDA_IPValL = delta & 0xFFFF; \ - -#define END_BIDI \ - if (v->backwards) \ - { \ - pos ^= 0xFFFF; \ - realPos = (int32_t)(smpPtr - CDA_LinAdrRev); \ - realPos = ~realPos; \ - } \ - else \ - { \ - realPos = (int32_t)(smpPtr - CDA_LinearAdr); \ - } \ - \ - -/* ----------------------------------------------------------------------- */ -/* SAMPLE END/LOOP WRAPPING MACROS */ -/* ----------------------------------------------------------------------- */ - -#define HANDLE_SAMPLE_END \ - realPos = (int32_t)(smpPtr - CDA_LinearAdr); \ - if (realPos >= v->SLen) \ - { \ - v->mixRoutine = NULL; \ - return; \ - } \ - -#define WRAP_LOOP \ - realPos = (int32_t)(smpPtr - CDA_LinearAdr); \ - while (realPos >= v->SLen) \ - realPos -= v->SRepL; \ - smpPtr = CDA_LinearAdr + realPos; \ - -#define WRAP_BIDI_LOOP \ - while (realPos >= v->SLen) \ - { \ - realPos -= v->SRepL; \ - v->backwards ^= 1; \ - } \ - -/* ----------------------------------------------------------------------- */ -/* VOLUME=0 OPTIMIZATION MACROS */ -/* ----------------------------------------------------------------------- */ - -#define VOL0_OPTIMIZATION_NO_LOOP \ - assert(numSamples <= 65536); \ - \ - pos = v->SPosDec + ((v->SFrq & 0xFFFF) * numSamples); \ - realPos = v->SPos + ((v->SFrq >> 16) * numSamples) + (pos >> 16); \ - \ - if (realPos >= v->SLen) \ - { \ - v->mixRoutine = NULL; /* shut down voice */ \ - return; \ - } \ - \ - pos &= 0xFFFF; \ - SET_BACK_MIXER_POS - -#define VOL0_OPTIMIZATION_LOOP \ - assert(numSamples <= 65536); \ - \ - pos = v->SPosDec + ((v->SFrq & 0xFFFF) * numSamples); \ - realPos = v->SPos + ((v->SFrq >> 16) * numSamples) + (pos >> 16); \ - \ - while (realPos >= v->SLen) \ - realPos -= v->SRepL; \ - \ - pos &= 0xFFFF; \ - SET_BACK_MIXER_POS - -#define VOL0_OPTIMIZATION_BIDI_LOOP \ - assert(numSamples <= 65536); \ - \ - pos = v->SPosDec + ((v->SFrq & 0xFFFF) * numSamples); \ - realPos = v->SPos + ((v->SFrq >> 16) * numSamples) + (pos >> 16); \ - \ - while (realPos >= v->SLen) \ - { \ - realPos -= v->SRepL; \ - v->backwards ^= 1; \ - } \ - \ - pos &= 0xFFFF; \ - SET_BACK_MIXER_POS +#pragma once + +#include "ft2_header.h" + +/* ----------------------------------------------------------------------- */ +/* GENERAL MIXER MACROS */ +/* ----------------------------------------------------------------------- */ + +#define GET_VOL \ + CDA_LVol = v->SLVol2; \ + CDA_RVol = v->SRVol2; \ + +#define SET_VOL_BACK \ + v->SLVol2 = CDA_LVol; \ + v->SRVol2 = CDA_RVol; \ + +#define GET_DELTA delta = v->SFrq; + +#define GET_MIXER_VARS \ + audioMixL = audio.mixBufferL; \ + audioMixR = audio.mixBufferR; \ + mixInMono = (CDA_LVol == CDA_RVol); \ + realPos = v->SPos; \ + pos = v->SPosDec; \ + +#define GET_MIXER_VARS_RAMP \ + audioMixL = audio.mixBufferL; \ + audioMixR = audio.mixBufferR; \ + CDA_LVolIP = v->SLVolIP; \ + CDA_RVolIP = v->SRVolIP; \ + mixInMono = (v->SLVol2 == v->SRVol2) && (CDA_LVolIP == CDA_RVolIP); \ + realPos = v->SPos; \ + pos = v->SPosDec; \ + +#define SET_BASE8 \ + CDA_LinearAdr = v->SBase8; \ + smpPtr = CDA_LinearAdr + realPos; \ + +#define SET_BASE16 \ + CDA_LinearAdr = v->SBase16; \ + smpPtr = CDA_LinearAdr + realPos; \ + +#define SET_BASE8_BIDI \ + CDA_LinearAdr = v->SBase8; \ + CDA_LinAdrRev = v->SRevBase8; \ + +#define SET_BASE16_BIDI \ + CDA_LinearAdr = v->SBase16; \ + CDA_LinAdrRev = v->SRevBase16; \ + +#define INC_POS \ + pos += delta; \ + smpPtr += pos >> 16; \ + pos &= 0xFFFF; \ + +#define INC_POS_BIDI \ + pos += CDA_IPValL; \ + smpPtr += pos >> 16; \ + smpPtr += CDA_IPValH; \ + pos &= 0xFFFF; \ + +#define SET_BACK_MIXER_POS \ + v->SPosDec = pos; \ + v->SPos = realPos; \ + +/* ----------------------------------------------------------------------- */ +/* SAMPLE RENDERING MACROS */ +/* ----------------------------------------------------------------------- */ + +#define VOLUME_RAMPING \ + CDA_LVol += CDA_LVolIP; \ + CDA_RVol += CDA_RVolIP; \ + +// all the 64-bit MULs here convert to fast logic on most 32-bit CPUs + +#define RENDER_8BIT_SMP \ + assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ + sample = *smpPtr << 20; \ + *audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \ + *audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \ + +#define RENDER_8BIT_SMP_MONO \ + assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ + sample = *smpPtr << 20; \ + sample = ((int64_t)sample * CDA_LVol) >> 32; \ + *audioMixL++ += sample; \ + *audioMixR++ += sample; \ + +#define RENDER_16BIT_SMP \ + assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ + sample = *smpPtr << 12; \ + *audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \ + *audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \ + +#define RENDER_16BIT_SMP_MONO \ + assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ + sample = *smpPtr << 12; \ + sample = ((int64_t)sample * CDA_LVol) >> 32; \ + *audioMixL++ += sample; \ + *audioMixR++ += sample; \ + +#ifndef LERPMIX + +// 4-tap cubic spline interpolation (default - slower than linear, but better quality) + +// in: int32_t s0,s1,s2,s3 = -128..127 | f = 0..65535 (frac) | out: 16-bit s0 (will exceed 16-bits because of overshoot) +#define INTERPOLATE8(s0, s1, s2, s3, f) \ +{ \ + const int16_t *t = fastSincTable + ((f >> 6) & 0x3FC); \ + s0 = ((s0 * t[0]) + (s1 * t[1]) + (s2 * t[2]) + (s3 * t[3])) >> (FAST_SINC_TABLE_BITS - 8); \ +} \ + +// in: int32_t s0,s1,s2,s3 = -32768..32767 | f = 0..65535 (frac) | out: 16-bit s0 (will exceed 16-bits because of overshoot) +#define INTERPOLATE16(s0, s1, s2, s3, f) \ +{ \ + const int16_t *t = fastSincTable + ((f >> 6) & 0x3FC); \ + s0 = ((s0 * t[0]) + (s1 * t[1]) + (s2 * t[2]) + (s3 * t[3])) >> FAST_SINC_TABLE_BITS; \ +} \ + +#define RENDER_8BIT_SMP_INTRP \ + assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ + sample = smpPtr[-1]; \ + sample2 = smpPtr[0]; \ + sample3 = smpPtr[1]; \ + sample4 = smpPtr[2]; \ + INTERPOLATE8(sample, sample2, sample3, sample4, pos) \ + sample <<= 12; \ + *audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \ + *audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \ + +#define RENDER_8BIT_SMP_MONO_INTRP \ + assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ + sample = smpPtr[-1]; \ + sample2 = smpPtr[0]; \ + sample3 = smpPtr[1]; \ + sample4 = smpPtr[2]; \ + INTERPOLATE8(sample, sample2, sample3, sample4, pos) \ + sample <<= 12; \ + sample = ((int64_t)sample * CDA_LVol) >> 32; \ + *audioMixL++ += sample; \ + *audioMixR++ += sample; \ + +#define RENDER_16BIT_SMP_INTRP \ + assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ + sample = smpPtr[-1]; \ + sample2 = smpPtr[0]; \ + sample3 = smpPtr[1]; \ + sample4 = smpPtr[2]; \ + INTERPOLATE16(sample, sample2, sample3, sample4, pos) \ + sample <<= 12; \ + *audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \ + *audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \ + +#define RENDER_16BIT_SMP_MONO_INTRP \ + assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ + sample = smpPtr[-1]; \ + sample2 = smpPtr[0]; \ + sample3 = smpPtr[1]; \ + sample4 = smpPtr[2]; \ + INTERPOLATE16(sample, sample2, sample3, sample4, pos) \ + sample <<= 12; \ + sample = ((int64_t)sample * CDA_LVol) >> 32; \ + *audioMixL++ += sample; \ + *audioMixR++ += sample; \ + +#else + +// 2-tap linear interpolation (like FT2 - faster, but bad quality) + +// in: int32_t s1,s2 = -128..127 | f = 0..65535 (frac) | out: s1 = -32768..32767 +#define INTERPOLATE8(s1, s2, f) \ + s2 -= s1; \ + s2 = (s2 * (int32_t)f) >> (16 - 8); \ + s1 <<= 8; \ + s1 += s2; \ + +// in: int32_t s1,s2 = -32768..32767 | f = 0..65535 (frac) | out: s1 = -32768..32767 +#define INTERPOLATE16(s1, s2, f) \ + s2 = (s2 - s1) >> 1; \ + s2 = (s2 * (int32_t)f) >> (16 - 1); \ + s1 += s2; \ + +#define RENDER_8BIT_SMP_INTRP \ + assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ + sample = smpPtr[0]; \ + sample2 = smpPtr[1]; \ + INTERPOLATE8(sample, sample2, pos) \ + sample <<= 12; \ + *audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \ + *audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \ + +#define RENDER_8BIT_SMP_MONO_INTRP \ + assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ + sample = smpPtr[0]; \ + sample2 = smpPtr[1]; \ + INTERPOLATE8(sample, sample2, pos) \ + sample <<= 12; \ + sample = ((int64_t)sample * CDA_LVol) >> 32; \ + *audioMixL++ += sample; \ + *audioMixR++ += sample; \ + +#define RENDER_16BIT_SMP_INTRP \ + assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ + sample = smpPtr[0]; \ + sample2 = smpPtr[1]; \ + INTERPOLATE16(sample, sample2, pos) \ + sample <<= 12; \ + *audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \ + *audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \ + +#define RENDER_16BIT_SMP_MONO_INTRP \ + assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \ + sample = smpPtr[0]; \ + sample2 = smpPtr[1]; \ + INTERPOLATE16(sample, sample2, pos) \ + sample <<= 12; \ + sample = ((int64_t)sample * CDA_LVol) >> 32; \ + *audioMixL++ += sample; \ + *audioMixR++ += sample; \ + +#endif + +/* ----------------------------------------------------------------------- */ +/* SAMPLES-TO-MIX LIMITING MACROS */ +/* ----------------------------------------------------------------------- */ + +#define LIMIT_MIX_NUM \ + i = (v->SLen - 1) - realPos; \ + if (i > 65535) \ + i = 65535; \ + \ + samplesToMix = (((((uint64_t)i << 16) | (pos ^ 0xFFFF)) * v->SFrqRev) >> 32) + 1; \ + if (samplesToMix > (uint32_t)CDA_BytesLeft) \ + samplesToMix = CDA_BytesLeft; \ + +#define LIMIT_MIX_NUM_RAMP \ + if (v->SVolIPLen == 0) \ + { \ + CDA_LVolIP = 0; \ + CDA_RVolIP = 0; \ + \ + if (v->isFadeOutVoice) \ + { \ + v->mixRoutine = NULL; /* fade out voice is done, shut it down */ \ + return; \ + } \ + } \ + else \ + { \ + if (samplesToMix > (uint32_t)v->SVolIPLen) \ + samplesToMix = v->SVolIPLen; \ + \ + v->SVolIPLen -= samplesToMix; \ + } \ + +#define START_BIDI \ + if (v->backwards) \ + { \ + delta = 0 - v->SFrq; \ + CDA_IPValH = (int32_t)delta >> 16; \ + assert(realPos >= v->SRepS && realPos < v->SLen); \ + realPos = ~realPos; \ + smpPtr = CDA_LinAdrRev + realPos; \ + pos ^= 0xFFFF; \ + } \ + else \ + { \ + delta = v->SFrq; \ + CDA_IPValH = delta >> 16; \ + assert(realPos >= 0 && realPos < v->SLen); \ + smpPtr = CDA_LinearAdr + realPos; \ + } \ + \ + CDA_IPValL = delta & 0xFFFF; \ + +#define END_BIDI \ + if (v->backwards) \ + { \ + pos ^= 0xFFFF; \ + realPos = (int32_t)(smpPtr - CDA_LinAdrRev); \ + realPos = ~realPos; \ + } \ + else \ + { \ + realPos = (int32_t)(smpPtr - CDA_LinearAdr); \ + } \ + \ + +/* ----------------------------------------------------------------------- */ +/* SAMPLE END/LOOP WRAPPING MACROS */ +/* ----------------------------------------------------------------------- */ + +#define HANDLE_SAMPLE_END \ + realPos = (int32_t)(smpPtr - CDA_LinearAdr); \ + if (realPos >= v->SLen) \ + { \ + v->mixRoutine = NULL; \ + return; \ + } \ + +#define WRAP_LOOP \ + realPos = (int32_t)(smpPtr - CDA_LinearAdr); \ + while (realPos >= v->SLen) \ + realPos -= v->SRepL; \ + smpPtr = CDA_LinearAdr + realPos; \ + +#define WRAP_BIDI_LOOP \ + while (realPos >= v->SLen) \ + { \ + realPos -= v->SRepL; \ + v->backwards ^= 1; \ + } \ + +/* ----------------------------------------------------------------------- */ +/* VOLUME=0 OPTIMIZATION MACROS */ +/* ----------------------------------------------------------------------- */ + +#define VOL0_OPTIMIZATION_NO_LOOP \ + assert(numSamples <= 65536); \ + \ + pos = v->SPosDec + ((v->SFrq & 0xFFFF) * numSamples); \ + realPos = v->SPos + ((v->SFrq >> 16) * numSamples) + (pos >> 16); \ + \ + if (realPos >= v->SLen) \ + { \ + v->mixRoutine = NULL; /* shut down voice */ \ + return; \ + } \ + \ + pos &= 0xFFFF; \ + SET_BACK_MIXER_POS + +#define VOL0_OPTIMIZATION_LOOP \ + assert(numSamples <= 65536); \ + \ + pos = v->SPosDec + ((v->SFrq & 0xFFFF) * numSamples); \ + realPos = v->SPos + ((v->SFrq >> 16) * numSamples) + (pos >> 16); \ + \ + while (realPos >= v->SLen) \ + realPos -= v->SRepL; \ + \ + pos &= 0xFFFF; \ + SET_BACK_MIXER_POS + +#define VOL0_OPTIMIZATION_BIDI_LOOP \ + assert(numSamples <= 65536); \ + \ + pos = v->SPosDec + ((v->SFrq & 0xFFFF) * numSamples); \ + realPos = v->SPos + ((v->SFrq >> 16) * numSamples) + (pos >> 16); \ + \ + while (realPos >= v->SLen) \ + { \ + realPos -= v->SRepL; \ + v->backwards ^= 1; \ + } \ + \ + pos &= 0xFFFF; \ + SET_BACK_MIXER_POS diff --git a/src/ft2_module_loader.c b/src/ft2_module_loader.c index 5bee464..cf23bf4 100644 --- a/src/ft2_module_loader.c +++ b/src/ft2_module_loader.c @@ -1,2607 +1,2840 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include -#ifndef _WIN32 -#include -#endif -#include "ft2_header.h" -#include "ft2_audio.h" -#include "ft2_config.h" -#include "ft2_scopes.h" -#include "ft2_trim.h" -#include "ft2_inst_ed.h" -#include "ft2_sample_ed.h" -#include "ft2_wav_renderer.h" -#include "ft2_pattern_ed.h" -#include "ft2_gui.h" -#include "ft2_diskop.h" -#include "ft2_sample_loader.h" -#include "ft2_mouse.h" -#include "ft2_scopes.h" -#include "ft2_midi.h" -#include "ft2_events.h" -#include "ft2_video.h" - -/* This is a *HUGE* mess! -** I hope you never have to modify it, and you probably shouldn't either. -** You will experience a lot of headaches if you dig into this file... -** If something looks to be wrong, it's probably right! -** -** The actual module load routines are ported from FT2 and slightly modified. */ - -enum -{ - FORMAT_NONE = 0, - FORMAT_XM = 1, - FORMAT_MOD = 2, - FORMAT_S3M = 3, - FORMAT_STM = 4 -}; - -// DO NOT TOUCH THESE STRUCTS! - -#ifdef _MSC_VER -#pragma pack(push) -#pragma pack(1) -#endif -typedef struct songSTMinstrHeaderTyp_t -{ - char name[12]; - uint8_t nul, insDisk; - uint16_t reserved1, len, repS, repE; - uint8_t vol, reserved2; - uint16_t rate; - int32_t reserved3; - uint16_t paraLen; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -songSTMinstrHeaderTyp; - -typedef struct songSTMHeaderTyp_t -{ - char name[20], sig[8]; - uint8_t id1a, typ; - uint8_t verMajor, verMinor; - uint8_t tempo, ap, vol, reserved[13]; - songSTMinstrHeaderTyp instr[31]; - uint8_t songTab[128]; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -songSTMHeaderTyp; - -typedef struct songS3MinstrHeaderTyp_t -{ - uint8_t typ; - char dosName[12]; - uint8_t memSegH; - uint16_t memSeg; - int32_t len, repS, repE; - uint8_t vol, dsk, pack, flags; - int32_t c2Spd, res1; - uint16_t gusPos; - uint8_t res2[6]; - char name[28], id[4]; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -songS3MinstrHeaderTyp; - -typedef struct songS3MHeaderTyp_t -{ - char name[28]; - uint8_t id1a, typ; - uint16_t res1; - int16_t songTabLen, antInstr, antPatt; - uint16_t flags, trackerID, ver; - char id[4]; - uint8_t globalVol, defSpeed, defTempo, masterVol, res2[12], chanType[32]; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -songS3MHeaderTyp; -#ifdef _MSC_VER -#pragma pack(pop) -#endif - -static volatile uint8_t loadedFormat; -static volatile bool stereoSamplesWarn, linearFreqTable, musicIsLoading, moduleLoaded, moduleFailedToLoad; -static uint8_t oldPlayMode, pattBuff[12288]; -static const uint8_t stmEff[16] = { 0, 0, 11, 0, 10, 2, 1, 3, 4, 7, 0, 5 ,6, 0, 0, 0 }; -static SDL_Thread *thread; - -// these temporarily read to, then copied to real struct if load was OK (should not need to be volatile'd) -static int16_t pattLensTmp[MAX_PATTERNS]; -static tonTyp *pattTmp[MAX_PATTERNS]; -static instrTyp *instrTmp[1 + MAX_INST]; -static songTyp songTmp; - -static void setupLoadedModule(void); -static void freeTmpModule(void); -static bool loadInstrHeader(FILE *f, uint16_t i); -static void checkSampleRepeat(sampleTyp *s); -static bool loadInstrSample(FILE *f, uint16_t i); -void unpackPatt(uint8_t *dst, uint16_t inn, uint16_t len, uint8_t antChn); -static bool tmpPatternEmpty(uint16_t nr); -static bool loadPatterns(FILE *f, uint16_t antPtn); - -// ft2_replayer.c -extern const char modSig[32][5]; -extern const uint16_t amigaPeriod[12*8]; - -static bool allocateTmpInstr(int16_t nr) -{ - instrTyp *p; - - if (instrTmp[nr] != NULL) - return false; // already allocated - - p = (instrTyp *)malloc(sizeof (instrTyp)); - if (p == NULL) - return false; - - memset(p, 0, sizeof (instrTyp)); - - for (int8_t i = 0; i < 16; i++) // set standard sample pan/vol - { - p->samp[i].pan = 128; - p->samp[i].vol = 64; - } - - instrTmp[nr] = p; - return true; -} - -static bool loadMusicMOD(FILE *f, uint32_t fileLength) -{ - char ID[16]; - bool modIsUST, modIsFEST, modIsNT; - uint8_t bytes[4]; - int16_t i, j, k, ai; - uint16_t a, b, period, ciaPeriod; - tonTyp *ton; - sampleTyp *s; - songMOD31HeaderTyp h_MOD31; - songMOD15HeaderTyp h_MOD15; - - // start loading MOD - - loadedFormat = FORMAT_MOD; - - rewind(f); - fread(ID, 1, 16, f); - fseek(f, 0x1D, SEEK_SET); - fread(bytes, 1, 1, f); - rewind(f); - - // since .mod is the last format tested, check if the file is an .it module (Impulse Tracker) - if (!memcmp(ID, "IMPM", 4) && bytes[0] == 0) - { - okBoxThreadSafe(0, "System message", "Error: Impulse Tracker modules are not supported!"); - goto modLoadError; - } - - // check if the file to load is a WAV, if so reject it - if (!memcmp(ID, "RIFF", 4) && !memcmp(&ID[8], "WAVEfmt", 7)) - { - okBoxThreadSafe(0, "System message", "Error: Can't load a .wav file as a module!"); - goto modLoadError; - } - - if (fileLength < 1596 || fileLength > 20842494) // minimum and maximum possible size for an FT2 .mod - { - okBoxThreadSafe(0, "System message", "Error: This file is either not a module, or is not supported."); - goto modLoadError; - } - - if (fread(&h_MOD31, 1, sizeof (h_MOD31), f) != sizeof (h_MOD31)) - { - okBoxThreadSafe(0, "System message", "Error: This file is either not a module, or is not supported."); - goto modLoadError; - } - - modIsFEST = false; - modIsNT = false; - modIsUST = false; - - if (!strncmp(h_MOD31.sig, "N.T.", 4)) - { - j = 4; - modIsNT = true; - } - else if (!strncmp(h_MOD31.sig, "FEST", 4) || !strncmp(h_MOD31.sig, "M&K!", 4)) - { - modIsFEST = true; - modIsNT = true; - j = 4; - } - else if (!strncmp(h_MOD31.sig, "M!K!", 4) || !strncmp(h_MOD31.sig, "M.K.", 4) || !strncmp(h_MOD31.sig, "FLT4", 4)) - { - j = 4; - } - else if (!strncmp(h_MOD31.sig, "OCTA", 4) || !strncmp(h_MOD31.sig, "FLT8", 4) || !strncmp(h_MOD31.sig, "CD81", 4)) - { - j = 8; - } - else - { - j = 0; - for (i = 0; i < 32; i++) - { - if (!strncmp(h_MOD31.sig, modSig[i], 4)) - { - j = i + 1; - break; - } - else if (j == 31) - { - j = -1; // ID not recignized - } - } - } - - // unsupported MOD - if (j == -1) - { - okBoxThreadSafe(0, "System message", "Error: This file is either not a module, or is not supported."); - goto modLoadError; - } - - if (j > 0) - { - modIsUST = false; - if (fileLength < sizeof (h_MOD31)) - { - okBoxThreadSafe(0, "System message", "Error: This file is either not a module, or is not supported."); - goto modLoadError; - } - - songTmp.antChn = (uint8_t)j; - songTmp.len = h_MOD31.len; - songTmp.repS = h_MOD31.repS; - memcpy(songTmp.songTab, h_MOD31.songTab, 128); - ai = 31; - } - else - { - modIsUST = true; - if (fileLength < sizeof (h_MOD15)) - { - okBoxThreadSafe(0, "System message", "Error: This file is either not a module, or is not supported."); - goto modLoadError; - } - - fseek(f, 0, SEEK_SET); - if (fread(&h_MOD15, 1, sizeof (h_MOD15), f) != sizeof (h_MOD15)) - { - okBoxThreadSafe(0, "System message", "Error: This file is either not a module, or is not supported."); - goto modLoadError; - } - - songTmp.antChn = 4; - songTmp.len = h_MOD15.len; - songTmp.repS = h_MOD15.repS; - memcpy(songTmp.songTab, h_MOD15.songTab, 128); - ai = 15; - } - - if (songTmp.antChn == 0 || songTmp.len < 1) - { - okBoxThreadSafe(0, "System message", "Error: This file is either not a module, or is not supported."); - goto modLoadError; - } - - if (!strncmp(h_MOD31.sig, "M.K.", 4) && songTmp.len == 129) - songTmp.len = 127; // fixes a specific copy of beatwave.mod by Sidewinder - - if (songTmp.len > 128 || (modIsUST && (songTmp.repS == 0 || songTmp.repS > 220))) - { - okBoxThreadSafe(0, "System message", "Error: This file is either not a module, or is not supported."); - goto modLoadError; - } - - // trim off spaces at end of name - for (i = 19; i >= 0; i--) - { - if (h_MOD31.name[i] == ' ' || h_MOD31.name[i] == 0x1A) - h_MOD31.name[i] = '\0'; - else - break; - } - - memcpy(songTmp.name, h_MOD31.name, 20); - songTmp.name[20] = '\0'; - - for (a = 0; a < ai; a++) - { - // trim off spaces at end of name - for (i = 21; i >= 0; i--) - { - if (h_MOD31.instr[a].name[i] == ' ' || h_MOD31.instr[a].name[i] == 0x1A) - h_MOD31.instr[a].name[i] = '\0'; - else - break; - } - - memcpy(songTmp.instrName[1+a], h_MOD31.instr[a].name, 22); - songTmp.instrName[1+a][22] = '\0'; - } - - b = 0; - for (a = 0; a < 128; a++) - { - if (songTmp.songTab[a] > b) - b = songTmp.songTab[a]; - } - - if (songTmp.len < 255) - memset(&songTmp.songTab[songTmp.len], 0, 256 - songTmp.len); - - for (a = 0; a <= b; a++) - { - pattTmp[a] = (tonTyp *)calloc(64 * MAX_VOICES, sizeof (tonTyp)); - if (pattTmp[a] == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto modLoadError; - } - - pattLensTmp[a] = 64; - for (j = 0; j < 64; j++) - { - for (k = 0; k < songTmp.antChn; k++) - { - ton = &pattTmp[a][(j * MAX_VOICES) + k]; - - if (fread(bytes, 1, 4, f) != 4) - { - okBoxThreadSafe(0, "System message", "Error: This file is either not a module, or is not supported."); - goto modLoadError; - } - - // period to note - period = ((bytes[0] & 0x0F) << 8) | bytes[1]; - for (i = 0; i < 8*12; i++) - { - if (period >= amigaPeriod[i]) - { - ton->ton = (uint8_t)i + 1; - break; - } - } - - ton->instr = (bytes[0] & 0xF0) | (bytes[2] >> 4); - ton->effTyp = bytes[2] & 0x0F; - ton->eff = bytes[3]; - - if (ton->effTyp == 0xC) - { - if (ton->eff > 64) - ton->eff = 64; - } - else if (ton->effTyp == 0x1) - { - if (ton->eff == 0) - ton->effTyp = 0; - } - else if (ton->effTyp == 0x2) - { - if (ton->eff == 0) - ton->effTyp = 0; - } - else if (ton->effTyp == 0x5) - { - if (ton->eff == 0) - ton->effTyp = 0x3; - } - else if (ton->effTyp == 0x6) - { - if (ton->eff == 0) - ton->effTyp = 0x4; - } - else if (ton->effTyp == 0xA) - { - if (ton->eff == 0) - ton->effTyp = 0; - } - else if (ton->effTyp == 0xE) - { - // check if certain E commands are empty - if (ton->eff == 0x10 || ton->eff == 0x20 || ton->eff == 0xA0 || ton->eff == 0xB0) - { - ton->effTyp = 0; - ton->eff = 0; - } - } - - if (modIsUST) - { - if (ton->effTyp == 0x01) - { - // arpeggio - ton->effTyp = 0x00; - } - else if (ton->effTyp == 0x02) - { - // pitch slide - if (ton->eff & 0xF0) - { - ton->effTyp = 0x02; - ton->eff >>= 4; - } - else if (ton->eff & 0x0F) - { - ton->effTyp = 0x01; - } - } - - // I don't remember why I did this... - if (ton->effTyp == 0x0D && ton->eff > 0) - ton->effTyp = 0x0A; - } - - if (modIsNT && ton->effTyp == 0x0D) - ton->eff = 0; - } - } - - if (tmpPatternEmpty(a)) - { - if (pattTmp[a] != NULL) - { - free(pattTmp[a]); - pattTmp[a] = NULL; - } - } - } - - for (a = 0; a < ai; a++) - { - if (h_MOD31.instr[a].len == 0) - continue; - - if (!allocateTmpInstr(1 + a)) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto modLoadError; - } - - setNoEnvelope(instrTmp[1 + a]); - - s = &instrTmp[1+a]->samp[0]; - - s->len = 2 * SWAP16(h_MOD31.instr[a].len); - - s->pek = (int8_t *)malloc(s->len + LOOP_FIX_LEN); - if (s->pek == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto modLoadError; - } - - memcpy(s->name, songTmp.instrName[1+a], 22); - - if (modIsFEST) - h_MOD31.instr[a].fine = (32 - (h_MOD31.instr[a].fine & 0x1F)) >> 1; - - if (!modIsUST) - s->fine = 8 * ((2 * ((h_MOD31.instr[a].fine & 0x0F) ^ 8)) - 16); - else - s->fine = 0; - - s->pan = 128; - - s->vol = h_MOD31.instr[a].vol; - if (s->vol > 64) s->vol = 64; - - s->repS = 2 * SWAP16(h_MOD31.instr[a].repS); - - if (modIsUST) - s->repS /= 2; - - s->repL = 2 * SWAP16(h_MOD31.instr[a].repL); - - if (s->repL <= 2) - { - s->repS = 0; - s->repL = 0; - } - - if (s->repS+s->repL > s->len) - { - if (s->repS >= s->len) - { - s->repS = 0; - s->repL = 0; - } - else - { - s->repL = s->len - s->repS; - } - } - - if (s->repL > 2) - s->typ = 1; - else - s->typ = 0; - - if (modIsUST && (s->repS > 2 && s->repS < s->len)) - { - s->len -= s->repS; - fseek(f, s->repS, SEEK_CUR); - s->repS = 0; - } - - if (fread(s->pek, s->len, 1, f) == 1) - { - fixSample(s); - } - else - { - free(s->pek); - s->pek = NULL; - s->len = 0; - } - } - - songTmp.speed = 125; - - if (modIsUST) - { - // repS is initialBPM in UST MODs - - if (songTmp.repS != 120) // 120 is a special case and means 50Hz (125BPM) - { - if (songTmp.repS > 239) - songTmp.repS = 239; - - // convert UST tempo to BPM - const double dPALAmigaCiaClk = 709379.0; - ciaPeriod = (240 - songTmp.repS) * 122; - songTmp.speed = (uint16_t)round((dPALAmigaCiaClk / ciaPeriod) * (125.0 / 50.0)); - } - - songTmp.repS = 0; - } - else if (songTmp.repS >= songTmp.len) - { - songTmp.repS = 0; - } - - fclose(f); - - songTmp.initialTempo = songTmp.tempo = 6; - - moduleLoaded = true; - return true; - -modLoadError: - fclose(f); - freeTmpModule(); - moduleFailedToLoad = true; - return false; -} - -static uint8_t stmTempoToBPM(uint8_t tempo) // ported from original ST2.3 replayer code -{ - const uint8_t slowdowns[16] = { 140, 50, 25, 15, 10, 7, 6, 4, 3, 3, 2, 2, 2, 2, 1, 1 }; - uint32_t bpm; - uint16_t hz = 50; - - hz -= ((slowdowns[tempo >> 4] * (tempo & 15)) >> 4); // can and will underflow - - bpm = (uint32_t)round(hz * 2.5); - return (uint8_t)CLAMP(bpm, 32, 255); // result can be slightly off, but close enough... -} - -static bool loadMusicSTM(FILE *f, uint32_t fileLength) -{ - bool check3xx; - uint8_t typ, tmp8, tempo; - int16_t i, j, k, ai, ap, tmp; - uint16_t a; - int32_t len; - tonTyp *ton; - sampleTyp *s; - songSTMHeaderTyp h_STM; - - rewind(f); - - // start loading STM - - if (fread(&h_STM, 1, sizeof (h_STM), f) != sizeof (h_STM)) - return loadMusicMOD(f, fileLength); // file is not a .stm, try to load as .mod - - if (memcmp(h_STM.sig, "!Scream!", 8) && memcmp(h_STM.sig, "BMOD2STM", 8) && - memcmp(h_STM.sig, "WUZAMOD!", 8) && memcmp(h_STM.sig, "SWavePro", 8)) - { - return loadMusicMOD(f, fileLength); // file is not a .stm, try to load as .mod - } - - loadedFormat = FORMAT_STM; - - if (h_STM.verMinor == 0 || h_STM.typ != 2) - { - okBoxThreadSafe(0, "System message", "Error loading .stm: Incompatible module!"); - goto stmLoadError; - } - - songTmp.antChn = 4; - memcpy(songTmp.songTab, h_STM.songTab, 128); - - i = 0; - while (i < 128 && songTmp.songTab[i] < 99) i++; - songTmp.len = i + (i == 0); - - if (songTmp.len < 255) - memset(&songTmp.songTab[songTmp.len], 0, 256 - songTmp.len); - - // trim off spaces at end of name - for (i = 19; i >= 0; i--) - { - if (h_STM.name[i] == ' ' || h_STM.name[i] == 0x1A) - h_STM.name[i] = '\0'; - else - break; - } - - memcpy(songTmp.name, h_STM.name, 20); - songTmp.name[20] = '\0'; - - tempo = h_STM.tempo; - if (h_STM.verMinor < 21) - tempo = ((tempo / 10) << 4) + (tempo % 10); - - if (tempo == 0) - tempo = 96; - - songTmp.initialTempo = songTmp.tempo = CLAMP(h_STM.tempo >> 4, 1, 31); - songTmp.speed = stmTempoToBPM(tempo); - - if (h_STM.verMinor > 10) - songTmp.globVol = MIN(h_STM.vol, 64); - - ap = h_STM.ap; - for (i = 0; i < ap; i++) - { - pattTmp[i] = (tonTyp *)calloc(64 * MAX_VOICES, sizeof (tonTyp)); - if (pattTmp[i] == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto stmLoadError; - } - - pattLensTmp[i] = 64; - if (fread(pattBuff, 64 * 4 * 4, 1, f) != 1) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading!"); - goto stmLoadError; - } - - a = 0; - for (j = 0; j < 64; j++) - { - for (k = 0; k < 4; k++) - { - ton = &pattTmp[i][(j * MAX_VOICES) + k]; - - if (pattBuff[a] == 254) - { - ton->ton = 97; - } - else if (pattBuff[a] < 96) - { - ton->ton = (12 * (pattBuff[a] >> 4)) + (25 + (pattBuff[a] & 0x0F)); - if (ton->ton > 96) - ton->ton = 0; - } - else - { - ton->ton = 0; - } - - ton->instr = pattBuff[a + 1] >> 3; - typ = (pattBuff[a + 1] & 7) + ((pattBuff[a + 2] & 0xF0) >> 1); - if (typ <= 64) - ton->vol = typ + 0x10; - - ton->eff = pattBuff[a + 3]; - - tmp = pattBuff[a + 2] & 0x0F; - if (tmp == 1) - { - ton->effTyp = 15; - - if (h_STM.verMinor < 21) - ton->eff = ((ton->eff / 10) << 4) + (ton->eff % 10); - - ton->eff >>= 4; - } - else if (tmp == 3) - { - ton->effTyp = 13; - ton->eff = 0; - } - else if (tmp == 2 || (tmp >= 4 && tmp <= 12)) - { - ton->effTyp = stmEff[tmp]; - if (ton->effTyp == 0xA) - { - if (ton->eff & 0x0F) - ton->eff &= 0x0F; - else - ton->eff &= 0xF0; - } - } - else - { - ton->eff = 0; - } - - /* Remove any EDx with no note. - ** SDx with no note in ST3 = does nothing - ** EDx with no note in FT2 = still retriggers */ - if (ton->effTyp == 0xE && (ton->eff & 0xF0) == 0xD0) - { - if (ton->ton == 0 || ton->ton == 97) - { - ton->eff = 0; - ton->effTyp = 0; - } - } - - if (ton->effTyp > 35) - { - ton->effTyp = 0; - ton->eff = 0; - } - - a += 4; - } - } - - if (tmpPatternEmpty(i)) - { - if (pattTmp[i] != NULL) - { - free(pattTmp[i]); - pattTmp[i] = NULL; - } - } - } - - ai = 31; - for (i = 0; i < 31; i++) - { - // trim off spaces at end of name - for (j = 11; j >= 0; j--) - { - if (h_STM.instr[i].name[j] == ' ' || h_STM.instr[i].name[j] == 0x1A) - h_STM.instr[i].name[j] = '\0'; - else - break; - } - - memset(&songTmp.instrName[1+i], 0, sizeof (songTmp.instrName[1+i])); - memcpy(&songTmp.instrName[1+i], h_STM.instr[i].name, 12); - - if (h_STM.instr[i].len != 0 && h_STM.instr[i].reserved1 != 0) - { - allocateTmpInstr(1 + i); - setNoEnvelope(instrTmp[i]); - - s = &instrTmp[1+i]->samp[0]; - - s->pek = (int8_t *)malloc(h_STM.instr[i].len + LOOP_FIX_LEN); - if (s->pek == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto stmLoadError; - } - - s->len = h_STM.instr[i].len; - tuneSample(s, h_STM.instr[i].rate); - s->vol = h_STM.instr[i].vol; - s->repS = h_STM.instr[i].repS; - s->repL = h_STM.instr[i].repE - h_STM.instr[i].repS; - s->pan = 128; - - if (s->repS < s->len && h_STM.instr[i].repE > s->repS && h_STM.instr[i].repE != 0xFFFF) - { - if (s->repS+s->repL > s->len) - s->repL = s->len - s->repS; - - s->typ = 1; - } - else - { - s->repS = 0; - s->repL = 0; - s->typ = 0; - } - - if (s->vol > 64) - s->vol = 64; - - if (fread(s->pek, s->len, 1, f) != 1) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Possibly corrupt module?"); - goto stmLoadError; - } - - fixSample(s); - } - } - - // non-FT2: fix overflown 9xx and illegal 3xx - - for (i = 0; i < ap; i++) - { - if (pattTmp[i] == NULL) - continue; - - for (k = 0; k < songTmp.antChn; k++) - { - check3xx = false; - for (j = 0; j < 64; j++) - { - ton = &pattTmp[i][(j * MAX_VOICES) + k]; - - if (ton->ton > 0 && ton->ton < 97 && ton->effTyp != 0x3) - check3xx = true; - - if (ton->ton > 0 && ton->ton < 97 && ton->effTyp == 0x3) - check3xx = false; - - if (check3xx && ton->effTyp == 0x3) - { - if (ton->ton == 0 || ton->ton == 97) - { - ton->effTyp = 0; - ton->eff = 0; - } - } - - if (ton->effTyp == 0x9 && ton->eff > 0) - { - if (ton->instr != 0 && ton->instr <= ai) - { - s = &instrTmp[ton->instr]->samp[0]; - len = s->len; - - tmp8 = 0; - if (len > 0) - { - tmp8 = ton->eff; - if (tmp8 >= len/256) - { - if (len/256 < 1) - tmp8 = 0; - else - tmp8 = (uint8_t)((len/256) - 1); - } - } - - if (tmp8 > 0) - { - ton->eff = tmp8; - } - else - { - ton->effTyp = 0; - ton->eff = 0; - } - } - else - { - ton->effTyp = 0; - ton->eff = 0; - } - } - } - } - } - - fclose(f); - - moduleLoaded = true; - return true; - -stmLoadError: - fclose(f); - freeTmpModule(); - moduleFailedToLoad = true; - return false; -} - -static int8_t countS3MChannels(uint16_t antPtn) -{ - uint8_t j, k, channels; - int16_t i; - tonTyp ton; - - channels = 0; - for (i = 0; i < antPtn; i++) - { - if (pattTmp[i] == NULL) - continue; - - for (j = 0; j < 64; j++) - { - for (k = 0; k < MAX_VOICES; k++) - { - ton = pattTmp[i][(j * MAX_VOICES) + k]; - if (ton.eff == 0 && ton.effTyp == 0 && ton.instr == 0 && ton.ton == 0 && ton.vol == 0) - continue; - - if (k > channels) - channels = k; - } - } - } - channels++; - - return channels; -} - -static bool loadMusicS3M(FILE *f, uint32_t dataLength) -{ - int8_t *tmpSmp; - bool check3xx, illegalUxx; - uint8_t ha[2048]; - uint8_t s3mLastDEff[32], s3mLastEEff[32], s3mLastFEff[32]; - uint8_t s3mLastSEff[32], s3mLastJEff[32], s3mLastGInstr[32], tmp8, typ; - int16_t i, j, k, ai, ap, ver, ii, kk, tmp; - uint16_t ptnOfs[256]; - int32_t len; - tonTyp ton, *pattTon; - sampleTyp *s; - songS3MHeaderTyp h_S3M; - songS3MinstrHeaderTyp h_S3MInstr; - - stereoSamplesWarn = false; - - rewind(f); - - // start loading S3M - - if (fread(&h_S3M, 1, sizeof (h_S3M), f) != sizeof (h_S3M)) - return loadMusicSTM(f, dataLength); // not a .s3m, try loading as .stm - - if (memcmp(h_S3M.id, "SCRM", 4)) - return loadMusicSTM(f, dataLength); // not a .s3m, try loading as .stm - - loadedFormat = FORMAT_S3M; - - if (h_S3M.antInstr > MAX_INST || h_S3M.songTabLen > 256 || h_S3M.antPatt > 256 || - h_S3M.typ != 16 || h_S3M.ver < 1 || h_S3M.ver > 2) - { - okBoxThreadSafe(0, "System message", "Error loading .s3m: Incompatible module!"); - goto s3mLoadError; - } - - memset(songTmp.songTab, 255, sizeof (songTmp.songTab)); - if (fread(songTmp.songTab, h_S3M.songTabLen, 1, f) != 1) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto s3mLoadError; - } - - // count real song table entries - songTmp.len = 256; - while (songTmp.len > 0 && songTmp.songTab[songTmp.len-1] == 255) - songTmp.len--; - - if (songTmp.len == 256) - songTmp.len = 255; - - // remove pattern separators (254) - k = 0; - j = 0; - for (i = 0; i < songTmp.len; i++) - { - if (songTmp.songTab[i] != 254) - songTmp.songTab[j++] = songTmp.songTab[i]; - else - ++k; - } - - if (k <= songTmp.len) - songTmp.len -= k; - else - songTmp.len = 0; - - // clear unused song table entries - if (songTmp.len < 255) - memset(&songTmp.songTab[songTmp.len], 0, 256 - songTmp.len); - - songTmp.speed = h_S3M.defTempo; - if (songTmp.speed < 32) - songTmp.speed = 32; - - songTmp.tempo = h_S3M.defSpeed; - if (songTmp.tempo == 0) - songTmp.tempo = 6; - - if (songTmp.tempo > 31) - songTmp.tempo = 31; - - songTmp.initialTempo = songTmp.tempo; - - // trim off spaces at end of name - for (i = 19; i >= 0; i--) - { - if (h_S3M.name[i] == ' ' || h_S3M.name[i] == 0x1A) - h_S3M.name[i] = '\0'; - else - break; - } - - memcpy(songTmp.name, h_S3M.name, 20); - songTmp.name[20] = '\0'; - - ap = h_S3M.antPatt; - ai = h_S3M.antInstr; - ver = h_S3M.ver; - - k = 31; - while (k >= 0 && h_S3M.chanType[k] >= 16) k--; - songTmp.antChn = (k + 2) & 254; - - if (fread(ha, ai + ai, 1, f) != 1) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto s3mLoadError; - } - - if (fread(ptnOfs, ap + ap, 1, f) != 1) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto s3mLoadError; - } - - // *** PATTERNS *** - - illegalUxx = false; - - k = 0; - for (i = 0; i < ap; i++) - { - if (ptnOfs[i] == 0) - continue; // empty pattern - - memset(s3mLastDEff, 0, sizeof (s3mLastDEff)); - memset(s3mLastEEff, 0, sizeof (s3mLastEEff)); - memset(s3mLastFEff, 0, sizeof (s3mLastFEff)); - memset(s3mLastSEff, 0, sizeof (s3mLastSEff)); - memset(s3mLastJEff, 0, sizeof (s3mLastJEff)); - memset(s3mLastGInstr, 0, sizeof (s3mLastGInstr)); - - fseek(f, ptnOfs[i] << 4, SEEK_SET); - if (feof(f)) - continue; - - if (fread(&j, 2, 1, f) != 1) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto s3mLoadError; - } - - if (j > 0 && j <= 12288) - { - pattTmp[i] = (tonTyp *)calloc(64 * MAX_VOICES, sizeof (tonTyp)); - if (pattTmp[i] == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto s3mLoadError; - } - - pattLensTmp[i] = 64; - if (fread(pattBuff, j, 1, f) != 1) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto s3mLoadError; - } - - k = 0; - kk = 0; - - while (k < j && kk < 64) - { - typ = pattBuff[k++]; - - if (typ == 0) - { - kk++; - } - else - { - ii = typ & 31; - - memset(&ton, 0, sizeof (ton)); - - // note and sample - if (typ & 32) - { - ton.ton = pattBuff[k++]; - ton.instr = pattBuff[k++]; - - if (ton.instr > MAX_INST) - ton.instr = 0; - - if (ton.ton == 254) ton.ton = 97; - else if (ton.ton == 255) ton.ton = 0; - else - { - ton.ton = 1 + (ton.ton & 0xF) + (ton.ton >> 4) * 12; - if (ton.ton > 96) - ton.ton = 0; - } - } - - // volume - if (typ & 64) - { - ton.vol = pattBuff[k++]; - - if (ton.vol <= 64) - ton.vol += 0x10; - else - ton.vol = 0; - } - - // effect - if (typ & 128) - { - ton.effTyp = pattBuff[k++]; - ton.eff = pattBuff[k++]; - - if (ton.eff == 0) - { - if (ton.effTyp == 4) - { - if ((s3mLastDEff[ii] & 0xF0) == 0xF0 || (s3mLastDEff[ii] & 0x0F) == 0x0F) - ton.eff = s3mLastDEff[ii]; - } - else if (ton.effTyp == 5) ton.eff = s3mLastEEff[ii]; - else if (ton.effTyp == 6) ton.eff = s3mLastFEff[ii]; - else if (ton.effTyp == 10) ton.eff = s3mLastJEff[ii]; - else if (ton.effTyp == 19) ton.eff = s3mLastSEff[ii]; - } - - if (ton.eff != 0) - { - if (ton.effTyp == 4) s3mLastDEff[ii] = ton.eff; - else if (ton.effTyp == 5) s3mLastEEff[ii] = ton.eff; - else if (ton.effTyp == 6) s3mLastFEff[ii] = ton.eff; - else if (ton.effTyp == 10) s3mLastJEff[ii] = ton.eff; - else if (ton.effTyp == 19) s3mLastSEff[ii] = ton.eff; - } - - switch (ton.effTyp) - { - case 1: // A - { - ton.effTyp = 0xF; - if (ton.eff == 0 || ton.eff > 0x1F) - { - ton.effTyp = 0; - ton.eff = 0; - } - } - break; - - case 2: ton.effTyp = 0xB; break; // B - case 3: ton.effTyp = 0xD; break; // C - case 4: // D - { - if ((ton.eff & 0xF0) == 0) ton.effTyp = 0xA; - else if ((ton.eff & 0x0F) == 0) ton.effTyp = 0xA; - else if ((ton.eff & 0xF0) == 0xF0) - { - ton.effTyp = 0xE; - ton.eff = 0xB0 | (ton.eff & 15); - } - else if ((ton.eff & 0x0F) == 0x0F) - { - ton.effTyp = 0xE; - ton.eff = 0xA0 | (ton.eff >> 4); - } - else - { - ton.effTyp = 0xA; - if (ton.eff & 0x0F) - ton.eff &= 0x0F; - else - ton.eff &= 0xF0; - } - } - break; - - case 5: // E - case 6: // F - { - if ((ton.eff & 0xF0) >= 0xE0) - { - if ((ton.eff & 0xF0) == 0xE0) - tmp = 0x21; - else - tmp = 0xE; - - ton.eff &= 0x0F; - - if (ton.effTyp == 0x05) - ton.eff |= 0x20; - else - ton.eff |= 0x10; - - ton.effTyp = (uint8_t)tmp; - } - else - { - ton.effTyp = 7 - ton.effTyp; - } - } - break; - - case 7: // G - { - // fix illegal slides (to new instruments) - if (ton.instr != 0 && ton.instr != s3mLastGInstr[ii]) - ton.instr = s3mLastGInstr[ii]; - - ton.effTyp = 0x03; - } - break; - - case 8: ton.effTyp = 0x04; break; // H - case 9: ton.effTyp = 0x1D; break; // I - case 10: ton.effTyp = 0x00; break; // J - case 11: ton.effTyp = 0x06; break; // K - case 12: ton.effTyp = 0x05; break; // L - case 15: ton.effTyp = 0x09; break; // O - case 17: ton.effTyp = 0x1B; break; // Q - case 18: ton.effTyp = 0x07; break; // R - - case 19: // S - { - ton.effTyp = 0xE; - tmp = ton.eff >> 4; - ton.eff &= 0x0F; - - if (tmp == 0x1) ton.eff |= 0x30; - else if (tmp == 0x2) ton.eff |= 0x50; - else if (tmp == 0x3) ton.eff |= 0x40; - else if (tmp == 0x4) ton.eff |= 0x70; - else if (tmp == 0x08) - { - ton.effTyp = 0x8; - ton.eff <<= 4; - } - else if (tmp == 0xB) ton.eff |= 0x60; - else if (tmp == 0xC) ton.eff |= 0xC0; - else if (tmp == 0xD) ton.eff |= 0xD0; - else if (tmp == 0xE) ton.eff |= 0xE0; - else if (tmp == 0xF) ton.eff |= 0xF0; - else - { - ton.effTyp = 0; - ton.eff = 0; - } - } - break; - - case 20: // T - { - ton.effTyp = 0x0F; - if (ton.eff < 0x20) - { - ton.effTyp = 0; - ton.eff = 0; - } - } - break; - - case 21: // U - { - if ((ton.eff & 0x0F) != 0) - { - ton.eff = (ton.eff & 0xF0) | (((ton.eff & 15) + 1) / 4); - if ((ton.eff & 0x0F) == 0) - { - illegalUxx = true; - ton.effTyp = 0; - ton.eff = 0; - } - else - { - illegalUxx = false; - ton.effTyp = 0x04; - } - } - else - { - if (!illegalUxx) - { - ton.effTyp = 0x04; - } - else - { - ton.effTyp = 0; - ton.eff = 0; - } - } - } - break; - - case 22: ton.effTyp = 0x10; break; // V - - default: - { - ton.effTyp = 0; - ton.eff = 0; - } - break; - } - } - - if (ton.instr != 0 && ton.effTyp != 0x3) - s3mLastGInstr[ii] = ton.instr; - - /* Remove any EDx with no note. - ** SDx with no note in ST3 = does nothing - ** EDx with no note in FT2 = still retriggers */ - if (ton.effTyp == 0xE && (ton.eff & 0xF0) == 0xD0) - { - if (ton.ton == 0 || ton.ton == 97) - { - ton.effTyp = 0; - ton.eff = 0; - } - } - - pattTmp[i][(kk * MAX_VOICES) + ii] = ton; - } - } - - if (tmpPatternEmpty(i)) - { - if (pattTmp[i] != NULL) - { - free(pattTmp[i]); - pattTmp[i] = NULL; - } - } - } - } - - // *** SAMPLES *** - - memcpy(ptnOfs, ha, 512); - for (i = 0; i < ai; i++) - { - fseek(f, ptnOfs[i] << 4, SEEK_SET); - - if (fread(&h_S3MInstr, 1, sizeof (h_S3MInstr), f) != sizeof (h_S3MInstr)) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto s3mLoadError; - } - - // trim off spaces at end of name - for (j = 21; j >= 0; j--) - { - if (h_S3MInstr.name[j] == ' ' || h_S3MInstr.name[j] == 0x1A) - h_S3MInstr.name[j] = '\0'; - else - break; - } - - memcpy(songTmp.instrName[1+i], h_S3MInstr.name, 22); - songTmp.instrName[1+i][22] = '\0'; - - if (h_S3MInstr.typ > 1) - { - okBoxThreadSafe(0, "System message", "Error loading .s3m: Incompatible module!"); - goto s3mLoadError; - } - else if (h_S3MInstr.typ == 1) - { - if ((h_S3MInstr.flags & (255-1-2-4)) != 0 || h_S3MInstr.pack != 0) - { - okBoxThreadSafe(0, "System message", "Error loading .s3m: Incompatible module!"); - goto s3mLoadError; - } - else if (h_S3MInstr.memSeg > 0 && h_S3MInstr.len > 0) - { - if (!allocateTmpInstr(1 + i)) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto s3mLoadError; - } - - setNoEnvelope(instrTmp[1 + i]); - s = &instrTmp[1+i]->samp[0]; - - len = h_S3MInstr.len; - - if ((h_S3MInstr.flags & 2) != 0) // stereo - { - stereoSamplesWarn = false; - len *= 2; - } - - if ((h_S3MInstr.flags & 4) != 0) // 16-bit - len *= 2; - - tmpSmp = (int8_t *)malloc(len + LOOP_FIX_LEN); - if (tmpSmp == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto s3mLoadError; - } - - memcpy(s->name, h_S3MInstr.name, 21); - - tuneSample(s, h_S3MInstr.c2Spd); - - s->len = h_S3MInstr.len; - s->vol = h_S3MInstr.vol; - s->repS = h_S3MInstr.repS; - s->repL = h_S3MInstr.repE - h_S3MInstr.repS; - - // non-FT2: fixes "miracle man.s3m" - if ((h_S3MInstr.memSeg<<4)+s->len > (int32_t)dataLength) - s->len = dataLength - (h_S3MInstr.memSeg << 4); - - if (s->repL <= 2 || s->repS+s->repL > s->len) - { - s->repS = 0; - s->repL = 0; - } - - s->typ = (h_S3MInstr.flags & 1) + ((h_S3MInstr.flags & 4) << 2); - - if (s->repL == 0) - s->typ &= 16; // turn off loop, keep 16-bit flag only - - if (s->vol > 64) - s->vol = 64; - - s->pan = 128; - - fseek(f, h_S3MInstr.memSeg << 4, SEEK_SET); - - // non-FT2: fixes "miracle man.s3m" - if ((h_S3MInstr.memSeg<<4)+len > (int32_t)dataLength) - len = dataLength - (h_S3MInstr.memSeg << 4); - - if (fread(tmpSmp, len, 1, f) != 1) - { - free(tmpSmp); - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto s3mLoadError; - } - - if (ver != 1) - { - if ((h_S3MInstr.flags & 4) != 0) - { - conv16BitSample(tmpSmp, len, h_S3MInstr.flags & 2); - - s->pek = (int8_t *)malloc((h_S3MInstr.len * 2) + LOOP_FIX_LEN); - if (s->pek == NULL) - { - free(tmpSmp); - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto s3mLoadError; - } - - memcpy(s->pek, tmpSmp, h_S3MInstr.len * 2); - - s->len *= 2; - s->repS *= 2; - s->repL *= 2; - } - else - { - conv8BitSample(tmpSmp, len, h_S3MInstr.flags & 2); - - s->pek = (int8_t *)malloc(h_S3MInstr.len + LOOP_FIX_LEN); - if (s->pek == NULL) - { - free(tmpSmp); - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto s3mLoadError; - } - - memcpy(s->pek, tmpSmp, h_S3MInstr.len); - } - - fixSample(s); - } - - free(tmpSmp); - } - } - } - - if (stereoSamplesWarn) - okBoxThreadSafe(0, "System message", "Stereo samples were found and will be converted to mono."); - - // non-FT2: fix overflown 9xx and illegal 3xx slides - - for (i = 0; i < ap; i++) - { - if (pattTmp[i] == NULL) - continue; - - for (k = 0; k < songTmp.antChn; k++) - { - check3xx = false; - for (j = 0; j < 64; j++) - { - pattTon = &pattTmp[i][(j * MAX_VOICES) + k]; - - if (pattTon->ton > 0 && pattTon->ton < 97) - check3xx = pattTon->effTyp != 0x3; - - if (check3xx && pattTon->effTyp == 0x3) - { - if (pattTon->ton == 0 || pattTon->ton == 97) - { - pattTon->effTyp = 0; - pattTon->eff = 0; - } - } - - if (pattTon->effTyp == 0x9 && pattTon->eff > 0) - { - if (pattTon->instr != 0 && pattTon->instr <= ai) - { - s = &instrTmp[pattTon->instr]->samp[0]; - - len = s->len; - - tmp8 = 0; - if (len > 0) - { - tmp8 = pattTon->eff; - if (tmp8 >= len/256) - { - if (len/256 < 1) - tmp8 = 0; - else - tmp8 = (uint8_t)((len/256) - 1); - } - } - - if (tmp8 > 0) - { - pattTon->eff = tmp8; - } - else - { - pattTon->effTyp = 0; - pattTon->eff = 0; - } - } - else - { - pattTon->effTyp = 0; - pattTon->eff = 0; - } - } - } - } - } - - fclose(f); - - songTmp.antChn = countS3MChannels(ap); - - if (!(config.dontShowAgainFlags & DONT_SHOW_S3M_LOAD_WARNING_FLAG)) - okBoxThreadSafe(6, "System message", "Warning: S3M channel panning is not compatible with FT2!"); - - moduleLoaded = true; - return true; - -s3mLoadError: - fclose(f); - freeTmpModule(); - moduleFailedToLoad = true; - return false; -} - -static int32_t SDLCALL loadMusicThread(void *ptr) -{ - char tmpText[128]; - int16_t k; - uint16_t i; - uint32_t filelength; - songHeaderTyp h; - FILE *f; - - (void)ptr; - - stereoSamplesWarn = false; - linearFreqTable = false; - - if (editor.tmpFilenameU == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - moduleFailedToLoad = true; - return false; - } - - f = UNICHAR_FOPEN(editor.tmpFilenameU, "rb"); - if (f == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - moduleFailedToLoad = true; - return false; - } - - fseek(f, 0, SEEK_END); - filelength = ftell(f); - rewind(f); - - // start loading - if (fread(&h, 1, sizeof (h), f) != sizeof (h)) - return loadMusicS3M(f, filelength); // not a .xm file, try to load as .s3m - - if (memcmp(h.sig, "Extended Module: ", 17)) - return loadMusicS3M(f, filelength); // not a .xm file, try to load as .s3m - - loadedFormat = FORMAT_XM; - - if (h.ver < 0x0102 || h.ver > 0x0104) - { - fclose(f); - - sprintf(tmpText, "Error loading .xm: Unsupported XM version (v%1d.%1d%1d)", - '0' + (((h.ver >> 8) & 0x0F) % 10), '0' + (((h.ver >> 4) & 0x0F)) % 10, '0' + ((h.ver & 0x0F)) % 10); - okBoxThreadSafe(0, "System message", tmpText); - - moduleFailedToLoad = true; - return false; - } - - if (h.len > MAX_ORDERS) - { - okBoxThreadSafe(0, "System message", "Error loading .xm: The song has more than 256 orders!"); - goto xmLoadError; - } - - if (h.antPtn > MAX_PATTERNS) - { - okBoxThreadSafe(0, "System message", "Error loading .xm: The song has more than 256 patterns!"); - goto xmLoadError; - } - - if (h.antChn == 0 || h.antChn > MAX_VOICES) - { - okBoxThreadSafe(0, "System message", "Error loading .xm: Incompatible amount of channels!"); - goto xmLoadError; - } - - if (h.antInstrs > MAX_INST) - okBoxThreadSafe(0, "System message", "The module has over 128 instruments! Only 128 of them are getting loaded."); - - fseek(f, 60 + h.headerSize, SEEK_SET); - if (filelength != 336 && feof(f)) // 336 in length at this point = empty XM - { - okBoxThreadSafe(0, "System message", "Error loading .xm: The module is empty!"); - goto xmLoadError; - } - - // trim off spaces at end of name - for (k = 19; k >= 0; k--) - { - if (h.name[k] == ' ' || h.name[k] == 0x1A) - h.name[k] = '\0'; - else - break; - } - - memcpy(songTmp.name, h.name, 20); - songTmp.name[20] = '\0'; - - songTmp.len = h.len; - songTmp.repS = h.repS; - songTmp.antChn = (uint8_t)h.antChn; - songTmp.speed = h.defSpeed ? h.defSpeed : 125; - songTmp.tempo = h.defTempo ? h.defTempo : 6; - songTmp.ver = h.ver; - linearFreqTable = h.flags & 1; - - songTmp.speed = CLAMP(songTmp.speed, 32, 255); - if (songTmp.tempo > 31) - songTmp.tempo = 31; - - songTmp.initialTempo = songTmp.tempo; - - if (songTmp.globVol > 64) - songTmp.globVol = 64; - - if (songTmp.len == 0) - songTmp.len = 1; // songTmp.songTab is already empty - else - memcpy(songTmp.songTab, h.songTab, songTmp.len); - - if (songTmp.ver < 0x0104) - { - // old FT2 format - - for (i = 1; i <= h.antInstrs; i++) - { - if (!loadInstrHeader(f, i)) - { - okBoxThreadSafe(0, "System message", "Error loading .xm: Either a corrupt or a non-supported module!"); - goto xmLoadError; - } - } - - if (!loadPatterns(f, h.antPtn)) - { - // error message is shown inside loadPattern() - goto xmLoadError; - } - - for (i = 1; i <= h.antInstrs; i++) - { - if (!loadInstrSample(f, i)) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto xmLoadError; - } - } - } - else - { - // current FT2 format - - if (!loadPatterns(f, h.antPtn)) - { - // error message is shown inside loadPattern() - goto xmLoadError; - } - - for (i = 1; i <= h.antInstrs; i++) - { - if (!loadInstrHeader(f, i)) - { - okBoxThreadSafe(0, "System message", "Error loading .xm: Either a corrupt or a non-supported module!"); - goto xmLoadError; - } - - if (!loadInstrSample(f, i)) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto xmLoadError; - } - } - } - - if (stereoSamplesWarn) - okBoxThreadSafe(0, "System message", "Stereo samples were found and will be converted to mono."); - - fclose(f); - - moduleLoaded = true; - return true; - -xmLoadError: - fclose(f); - freeTmpModule(); - moduleFailedToLoad = true; - return false; -} - -void loadMusic(UNICHAR *filenameU) -{ - int32_t i; - - if (musicIsLoading) - return; - - mouseAnimOn(); - - musicIsLoading = true; - moduleLoaded = false; - moduleFailedToLoad = false; - loadedFormat = FORMAT_NONE; - - UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); - - // clear deprecated pointers from possible last loading session (super important) - memset(pattTmp, 0, sizeof (pattTmp)); - memset(instrTmp, 0, sizeof (instrTmp)); - - // prevent stuck instrument names from previous module - memset(&songTmp, 0, sizeof (songTmp)); - - for (i = 0; i < MAX_PATTERNS; i++) - pattLensTmp[i] = 64; - - thread = SDL_CreateThread(loadMusicThread, NULL, NULL); - if (thread == NULL) - { - editor.loadMusicEvent = EVENT_NONE; - okBox(0, "System message", "Couldn't create thread!"); - musicIsLoading = false; - return; - } - - SDL_DetachThread(thread); -} - -/* -bool loadMusicUnthreaded(UNICHAR *filenameU) // for development testing -{ - if (editor.tmpFilenameU == NULL) - return false; - - // clear deprecated pointers from possible last loading session (super important) - memset(pattTmp, 0, sizeof (pattTmp)); - memset(instrTmp, 0, sizeof (instrTmp)); - - UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); - - loadMusicThread(NULL); - editor.loadMusicEvent = EVENT_NONE; - - if (moduleLoaded) - { - setupLoadedModule(); - return true; - } - - return false; -} -*/ - -static void freeTmpModule(void) -{ - uint16_t i; - - // free all patterns - for (i = 0; i < MAX_PATTERNS; i++) - { - if (pattTmp[i] != NULL) - { - free(pattTmp[i]); - pattTmp[i] = NULL; - } - } - - // free all samples - for (i = 1; i <= MAX_INST; i++) - { - if (instrTmp[i] != NULL) - { - for (uint8_t j = 0; j < MAX_SMP_PER_INST; j++) - { - if (instrTmp[i]->samp[j].pek != NULL) - free(instrTmp[i]->samp[j].pek); - } - - free(instrTmp[i]); - instrTmp[i] = NULL; - } - } -} - -static bool loadInstrHeader(FILE *f, uint16_t i) -{ - int8_t k; - uint8_t j; - uint32_t readSize; - instrHeaderTyp ih; - sampleTyp *s; - - memset(&ih, 0, INSTR_HEADER_SIZE); - - fread(&ih.instrSize, 4, 1, f); - - readSize = ih.instrSize; - if (readSize < 4 || readSize > INSTR_HEADER_SIZE) - readSize = INSTR_HEADER_SIZE; - - // load instrument data into temp buffer - fread(ih.name, readSize - 4, 1, f); // -4 = skip ih.instrSize - - // FT2 bugfix: skip instrument header data if instrSize is above INSTR_HEADER_SIZE - if (ih.instrSize > INSTR_HEADER_SIZE) - fseek(f, ih.instrSize - INSTR_HEADER_SIZE, SEEK_CUR); - - if (ih.antSamp > MAX_SMP_PER_INST) - return false; - - if (i <= MAX_INST) - { - // trim off spaces at end of name - for (k = 21; k >= 0; k--) - { - if (ih.name[k] == ' ' || ih.name[k] == 0x1A) - ih.name[k] = '\0'; - else - break; - } - - memcpy(songTmp.instrName[i], ih.name, 22); - songTmp.instrName[i][22] = '\0'; - } - - if (ih.antSamp > 0) - { - if (i <= MAX_INST) - { - if (!allocateTmpInstr(i)) - return false; - - // sanitize stuff for malicious instruments - ih.midiProgram = CLAMP(ih.midiProgram, 0, 127); - ih.midiBend = CLAMP(ih.midiBend, 0, 36); - - if (ih.midiChannel > 15) ih.midiChannel = 15; - if (ih.mute != 1) ih.mute = 0; - if (ih.midiOn != 1) ih.midiOn = 0; - if (ih.vibDepth > 0x0F) ih.vibDepth = 0x0F; - if (ih.vibRate > 0x3F) ih.vibRate = 0x3F; - if (ih.vibTyp > 3) ih.vibTyp = 0; - - for (j = 0; j < 96; j++) - { - if (ih.ta[j] > 15) - ih.ta[j] = 15; - } - // ---------------------------------------- - - // copy over final instrument data from temp buffer - memcpy(instrTmp[i], ih.ta, INSTR_SIZE); - instrTmp[i]->antSamp = ih.antSamp; - - if (instrTmp[i]->envVPAnt > 12) instrTmp[i]->envVPAnt = 12; - if (instrTmp[i]->envVRepS > 11) instrTmp[i]->envVRepS = 11; - if (instrTmp[i]->envVRepE > 11) instrTmp[i]->envVRepE = 11; - if (instrTmp[i]->envVSust > 11) instrTmp[i]->envVSust = 11; - if (instrTmp[i]->envPPAnt > 12) instrTmp[i]->envPPAnt = 12; - if (instrTmp[i]->envPRepS > 11) instrTmp[i]->envPRepS = 11; - if (instrTmp[i]->envPRepE > 11) instrTmp[i]->envPRepE = 11; - if (instrTmp[i]->envPSust > 11) instrTmp[i]->envPSust = 11; - } - - if (fread(ih.samp, ih.antSamp * sizeof (sampleHeaderTyp), 1, f) != 1) - return false; - - if (i <= MAX_INST) - { - for (j = 0; j < ih.antSamp; j++) - { - s = &instrTmp[i]->samp[j]; - memcpy(s, &ih.samp[j], 12+4+24); - // s->pek is set up later - - // trim off spaces at end of name - for (k = 21; k >= 0; k--) - { - if (s->name[k] == ' ' || s->name[k] == 0x1A) - s->name[k] = '\0'; - else - break; - } - - // sanitize stuff for malicious modules - if (s->vol > 64) - s->vol = 64; - - s->relTon = CLAMP(s->relTon, -48, 71); - } - } - } - - return true; -} - -static void checkSampleRepeat(sampleTyp *s) -{ - if (s->repS < 0) s->repS = 0; - if (s->repL < 0) s->repL = 0; - if (s->repS > s->len) s->repS = s->len; - if (s->repS+s->repL > s->len) s->repL = s->len - s->repS; - if (s->repL == 0) s->typ &= ~3; // non-FT2 fix: force loop off if looplen is 0 -} - -static bool loadInstrSample(FILE *f, uint16_t i) -{ - int8_t *newPtr; - uint16_t j, k; - int32_t l, bytesToSkip; - sampleTyp *s; - - if (i > MAX_INST || instrTmp[i] == NULL) - return true; // yes, let's just pretend they got loaded - - k = instrTmp[i]->antSamp; - for (j = 0; j < k; j++) - { - s = &instrTmp[i]->samp[j]; - - // if a sample has both forward loop and pingpong loop set, make it pingpong loop only (FT2 behavior) - if ((s->typ & 3) == 3) - s->typ &= 0xFE; - - l = s->len; - if (l <= 0) - { - s->pek = NULL; - s->len = 0; - s->repL = 0; - s->repS = 0; - - if (s->typ & 32) - s->typ &= ~32; // remove stereo flag - } - else - { - bytesToSkip = 0; - if (l > MAX_SAMPLE_LEN) - { - bytesToSkip = l - MAX_SAMPLE_LEN; - l = MAX_SAMPLE_LEN; - } - - s->pek = (int8_t *)malloc(l + LOOP_FIX_LEN); - if (s->pek == NULL) - return false; - - if (fread(s->pek, l, 1, f) != 1) - return false; - - if (bytesToSkip > 0) - fseek(f, bytesToSkip, SEEK_CUR); - - delta2Samp(s->pek, l, s->typ); - - if (s->typ & 32) // stereo sample - already downmixed to mono in delta2samp() - { - s->typ &= ~32; // remove stereo flag - - s->len /= 2; - s->repL /= 2; - s->repS /= 2; - - newPtr = (int8_t *)realloc(s->pek, s->len + LOOP_FIX_LEN); - if (newPtr != NULL) - s->pek = newPtr; - - stereoSamplesWarn = true; - } - } - - // NON-FT2 FIX: Align to 2-byte if 16-bit sample - if (s->typ & 16) - { - s->repL &= 0xFFFFFFFE; - s->repS &= 0xFFFFFFFE; - s->len &= 0xFFFFFFFE; - } - - checkSampleRepeat(s); - fixSample(s); - } - - return true; -} - -void unpackPatt(uint8_t *dst, uint16_t inn, uint16_t len, uint8_t antChn) -{ - uint8_t note, data, *src; - int32_t srcEnd, srcIdx; - - if (dst == NULL) - return; - - src = dst + inn; - srcEnd = len * TRACK_WIDTH; - srcIdx = 0; - - for (int32_t i = 0; i < len; i++) - { - for (int32_t j = 0; j < antChn; j++) - { - if (srcIdx >= srcEnd) - return; // error! - - note = *src++; - if (note & 0x80) - { - data = 0; if (note & 0x01) data = *src++; *dst++ = data; - data = 0; if (note & 0x02) data = *src++; *dst++ = data; - data = 0; if (note & 0x04) data = *src++; *dst++ = data; - data = 0; if (note & 0x08) data = *src++; *dst++ = data; - data = 0; if (note & 0x10) data = *src++; *dst++ = data; - } - else - { - *dst++ = note; - *dst++ = *src++; - *dst++ = *src++; - *dst++ = *src++; - *dst++ = *src++; - } - - // if note is overflowing (>97), remove it - if (*(dst-5) > 97) - *(dst-5) = 0; - - // non-FT2 security fix: if effect is above 35 (Z), clear effect and parameter - if (*(dst-2) > 35) - { - *(dst-2) = 0; - *(dst-1) = 0; - } - - srcIdx += sizeof (tonTyp); - } - - // skip unused channels - dst += sizeof (tonTyp) * (MAX_VOICES - antChn); - } -} - -static bool tmpPatternEmpty(uint16_t nr) -{ - uint8_t *scanPtr; - uint32_t scanLen; - - if (pattTmp[nr] == NULL) - return true; - - scanPtr = (uint8_t *)pattTmp[nr]; - scanLen = pattLensTmp[nr] * TRACK_WIDTH; - - for (uint32_t i = 0; i < scanLen; i++) - { - if (scanPtr[i] != 0) - return false; - } - - return true; -} - -void clearUnusedChannels(tonTyp *p, int16_t pattLen, uint8_t antChn) -{ - if (p == NULL || antChn >= MAX_VOICES) - return; - - for (int32_t i = 0; i < pattLen; i++) - memset(&p[(i * MAX_VOICES) + antChn], 0, sizeof (tonTyp) * (MAX_VOICES - antChn)); -} - -static bool loadPatterns(FILE *f, uint16_t antPtn) -{ - bool pattLenWarn; - uint8_t tmpLen, *pattPtr; - uint16_t i, a; - patternHeaderTyp ph; - - pattLenWarn = false; - - for (i = 0; i < antPtn; i++) - { - if (fread(&ph.patternHeaderSize, 4, 1, f) != 1) - goto pattCorrupt; - - if (fread(&ph.typ, 1, 1, f) != 1) - goto pattCorrupt; - - ph.pattLen = 0; - if (songTmp.ver == 0x0102) - { - if (fread(&tmpLen, 1, 1, f) != 1) - goto pattCorrupt; - - if (fread(&ph.dataLen, 2, 1, f) != 1) - goto pattCorrupt; - - ph.pattLen = tmpLen + 1; // +1 in v1.02 - - if (ph.patternHeaderSize > 8) - fseek(f, ph.patternHeaderSize - 8, SEEK_CUR); - } - else - { - if (fread(&ph.pattLen, 2, 1, f) != 1) - goto pattCorrupt; - - if (fread(&ph.dataLen, 2, 1, f) != 1) - goto pattCorrupt; - - if (ph.patternHeaderSize > 9) - fseek(f, ph.patternHeaderSize - 9, SEEK_CUR); - } - - if (feof(f)) - goto pattCorrupt; - - pattLensTmp[i] = ph.pattLen; - - if (ph.dataLen > 0) - { - a = ph.pattLen * TRACK_WIDTH; - - pattTmp[i] = (tonTyp *)malloc(a + 16); // + 16 = a little extra for safety - if (pattTmp[i] == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - return false; - } - - pattPtr = (uint8_t *)pattTmp[i]; - memset(pattPtr, 0, a); - - if (fread(&pattPtr[a - ph.dataLen], 1, ph.dataLen, f) != ph.dataLen) - goto pattCorrupt; - - unpackPatt(pattPtr, a - ph.dataLen, ph.pattLen, songTmp.antChn); - clearUnusedChannels(pattTmp[i], pattLensTmp[i], songTmp.antChn); - } - - if (tmpPatternEmpty(i)) - { - if (pattTmp[i] != NULL) - { - free(pattTmp[i]); - pattTmp[i] = NULL; - } - - pattLensTmp[i] = 64; - } - - if (pattLensTmp[i] > 256) - { - pattLensTmp[i] = 64; - pattLenWarn = true; - } - } - - if (pattLenWarn) - okBoxThreadSafe(0, "System message", "The module contains pattern lengths above 256! They will be set to 64."); - - return true; - -pattCorrupt: - okBoxThreadSafe(0, "System message", "Error loading .xm: Either a corrupt or a non-supported module!"); - return false; -} - -// called from input/video thread after the module was done loading -static void setupLoadedModule(void) -{ - int16_t i; - - lockMixerCallback(); - - freeAllInstr(); - freeAllPatterns(); - - oldPlayMode = playMode; - playMode = PLAYMODE_IDLE; - songPlaying = false; - - editor.currVolEnvPoint = 0; - editor.currPanEnvPoint = 0; - midi.currMIDIVibDepth = 0; - midi.currMIDIPitch = 0; - - memset(editor.keyOnTab, 0, sizeof (editor.keyOnTab)); - - // copy over new pattern pointers and lengths - for (i = 0; i < MAX_PATTERNS; i++) - { - patt[i] = pattTmp[i]; - pattLens[i] = pattLensTmp[i]; - } - - // copy over new instruments (includes sample pointers) - for (i = 1; i <= MAX_INST; i++) - { - instr[i] = instrTmp[i]; - fixSampleName(i); - } - - // copy over song struct - memcpy(&song, &songTmp, sizeof (songTyp)); - fixSongName(); - - // we are the owners of the allocated memory ptrs set by the loader thread now - - // support non-even channel numbers - if (song.antChn & 1) - { - if (++song.antChn > MAX_VOICES) - song.antChn = MAX_VOICES; - } - - if (song.repS > song.len) - song.repS = 0; - - song.globVol = 64; - song.timer = 1; - - setScrollBarEnd(SB_POS_ED, (song.len - 1) + 5); - setScrollBarPos(SB_POS_ED, 0, false); - - resetChannels(); - refreshScopes(); - setPos(0, 0); - setSpeed(song.speed); - - editor.tmpPattern = editor.editPattern; // set kludge variable - editor.speed = song.speed; - editor.tempo = song.tempo; - editor.timer = 1; - editor.globalVol = song.globVol; - - setFrqTab((loadedFormat == FORMAT_XM) ? linearFreqTable : false); - unlockMixerCallback(); - - exitTextEditing(); - updateTextBoxPointers(); - resetChannelOffset(); - updateChanNums(); - resetWavRenderer(); - clearPattMark(); - song.musicTime = 0; - resetTrimSizes(); - - diskOpSetFilename(DISKOP_ITEM_MODULE, editor.tmpFilenameU); - - // redraw top part of screen - if (editor.ui.extended) - { - // first exit extended mode, then re-enter - togglePatternEditorExtended(); - togglePatternEditorExtended(); - } - else - { - // redraw top screen - hideTopScreen(); - showTopScreen(true); - } - - updateSampleEditorSample(); - showBottomScreen(); // redraw bottom screen (also redraws pattern editor) - - if (editor.ui.instEditorShown) - drawPiano(); // redraw piano now (since if playing = wait for next tick update) - - removeSongModifiedFlag(); - - moduleFailedToLoad = false; - moduleLoaded = false; - editor.loadMusicEvent = EVENT_NONE; -} - -bool handleModuleLoadFromArg(int argc, char **argv) -{ - int32_t filesize; - uint32_t filenameLen; - UNICHAR *filenameU, tmpPathU[PATH_MAX + 2]; - - // this is crude, we always expect only one parameter, and that it is the module. - - if (argc != 2) - return false; - -#ifdef __APPLE__ - if (argc == 2 && !strncmp(argv[1], "-psn_", 5)) - return false; // OS X < 10.9 passes a -psn_x_xxxxx parameter on double-click launch -#endif - - filenameLen = (uint32_t)strlen(argv[1]); - - filenameU = (UNICHAR *)calloc((filenameLen + 1), sizeof (UNICHAR)); - if (filenameU == NULL) - { - okBox(0, "System message", "Not enough memory!"); - return false; - } - -#ifdef _WIN32 - MultiByteToWideChar(CP_UTF8, 0, argv[1], -1, filenameU, filenameLen); -#else - strcpy(filenameU, argv[1]); -#endif - - // store old path - UNICHAR_GETCWD(tmpPathU, PATH_MAX); - - // set binary path - UNICHAR_CHDIR(editor.binaryPathU); - - filesize = getFileSize(filenameU); - - if (filesize == -1) // >2GB - { - okBox(0, "System message", "The file is too big and can't be loaded (over 2GB)."); - goto argLoadErr; - } - - if (filesize >= 128L*1024*1024) // 128MB - { - if (okBox(2, "System request", "Are you sure you want to load such a big file?") != 1) - goto argLoadErr; - } - - editor.loadMusicEvent = EVENT_LOADMUSIC_ARGV; - loadMusic(filenameU); - - UNICHAR_CHDIR(tmpPathU); // set old path back - free(filenameU); - return true; - -argLoadErr: - UNICHAR_CHDIR(tmpPathU); // set old path back - free(filenameU); - return false; -} - -void loadDroppedFile(char *fullPathUTF8, bool songModifiedCheck) -{ - int32_t fullPathLen, filesize; - UNICHAR *fullPathU; - - if (editor.ui.sysReqShown || fullPathUTF8 == NULL) - return; - - fullPathLen = (int32_t)strlen(fullPathUTF8); - if (fullPathLen == 0) - return; - - fullPathU = (UNICHAR *)calloc(fullPathLen + 2, sizeof (UNICHAR)); - if (fullPathU == NULL) - { - okBox(0, "System message", "Not enough memory!"); - return; - } - -#ifdef _WIN32 - MultiByteToWideChar(CP_UTF8, 0, fullPathUTF8, -1, fullPathU, fullPathLen); -#else - strcpy(fullPathU, fullPathUTF8); -#endif - - filesize = getFileSize(fullPathU); - - if (filesize == -1) // >2GB - { - okBox(0, "System message", "The file is too big and can't be loaded (over 2GB)."); - free(fullPathU); - return; - } - - if (filesize >= 128L*1024*1024) // 128MB - { - if (okBox(2, "System request", "Are you sure you want to load such a big file?") != 1) - { - free(fullPathU); - return; - } - } - - // pass UTF8 to these tests so that we can test file ending in ASCII/ANSI - - if (fileIsInstrument(fullPathUTF8)) - { - loadInstr(fullPathU); - } - else if (fileIsSample(fullPathUTF8)) - { - loadSample(fullPathU, editor.curSmp, false); - } - else - { - SDL_RestoreWindow(video.window); - - if (songModifiedCheck && song.isModified) - { - // de-minimize window and set focus so that the user sees the message box - SDL_RestoreWindow(video.window); - SDL_RaiseWindow(video.window); - - if (okBox(2, "System request", "You have unsaved changes in your song. Load new song and lose all changes?") != 1) - { - free(fullPathU); - return; - } - } - - editor.loadMusicEvent = EVENT_LOADMUSIC_DRAGNDROP; - loadMusic(fullPathU); - } - - free(fullPathU); -} - -static void handleOldPlayMode(void) -{ - playMode = oldPlayMode; - if (oldPlayMode != PLAYMODE_IDLE && oldPlayMode != PLAYMODE_EDIT) - startPlaying(oldPlayMode, 0); - - songPlaying = (playMode >= PLAYMODE_SONG); -} - -// called from input/video thread after module load thread was finished -void handleLoadMusicEvents(void) -{ - if (!moduleLoaded && !moduleFailedToLoad) - return; // no event to handle - - if (moduleFailedToLoad) - { - // module failed to load from loading thread - musicIsLoading = false; - moduleFailedToLoad = false; - moduleLoaded = false; - editor.loadMusicEvent = EVENT_NONE; - setMouseBusy(false); - return; - } - - if (moduleLoaded) - { - // module was successfully loaded from loading thread - - switch (editor.loadMusicEvent) - { - // module dragged and dropped *OR* user double clicked a file associated with FT2 clone - case EVENT_LOADMUSIC_DRAGNDROP: - { - setupLoadedModule(); - if (editor.autoPlayOnDrop) - startPlaying(PLAYMODE_SONG, 0); - else - handleOldPlayMode(); - } - break; - - // filename passed as an exe argument *OR* user double clicked a file associated with FT2 clone - case EVENT_LOADMUSIC_ARGV: - { - setupLoadedModule(); - startPlaying(PLAYMODE_SONG, 0); - } - break; - - // module filename pressed in Disk Op. - case EVENT_LOADMUSIC_DISKOP: - { - setupLoadedModule(); - handleOldPlayMode(); - } - break; - - default: break; - } - - moduleLoaded = false; - editor.loadMusicEvent = EVENT_NONE; - musicIsLoading = false; - mouseAnimOff(); - } -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include +#ifndef _WIN32 +#include +#endif +#include "ft2_header.h" +#include "ft2_config.h" +#include "ft2_scopes.h" +#include "ft2_trim.h" +#include "ft2_inst_ed.h" +#include "ft2_sample_ed.h" +#include "ft2_wav_renderer.h" +#include "ft2_pattern_ed.h" +#include "ft2_gui.h" +#include "ft2_diskop.h" +#include "ft2_sample_loader.h" +#include "ft2_mouse.h" +#include "ft2_midi.h" +#include "ft2_events.h" +#include "ft2_video.h" +#include "ft2_tables.h" + +/* This is a *HUGE* mess! +** I hope you never have to modify it, and you probably shouldn't either. +** You will experience a lot of headaches if you dig into this file... +** If something looks to be wrong, it's probably right! +** +** The actual module load routines are ported from FT2 and slightly modified. +*/ + +enum +{ + FORMAT_NONE = 0, + FORMAT_XM = 1, + FORMAT_MOD = 2, + FORMAT_S3M = 3, + FORMAT_STM = 4 +}; + +// .MOD types +enum +{ + FORMAT_MK, // ProTracker or compatible + FORMAT_FLT, // StarTrekker (4-channel modules only) + FORMAT_FT2, // FT2 (or other trackers, multichannel) + FORMAT_STK, // The Ultimate SoundTracker (15 samples) + FORMAT_NT, // NoiseTracker + FORMAT_HMNT, // His Master's NoiseTracker (special one) + + FORMAT_UNKNOWN // may be The Ultimate Soundtracker (set to FORMAT_STK later) +}; + +// DO NOT TOUCH THESE STRUCTS! + +#ifdef _MSC_VER +#pragma pack(push) +#pragma pack(1) +#endif +typedef struct songSTMinstrHeaderTyp_t +{ + char name[12]; + uint8_t nul, insDisk; + uint16_t reserved1, len, repS, repE; + uint8_t vol, reserved2; + uint16_t rate; + int32_t reserved3; + uint16_t paraLen; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +songSTMinstrHeaderTyp; + +typedef struct songSTMHeaderTyp_t +{ + char name[20], sig[8]; + uint8_t id1a, typ; + uint8_t verMajor, verMinor; + uint8_t tempo, ap, vol, reserved[13]; + songSTMinstrHeaderTyp instr[31]; + uint8_t songTab[128]; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +songSTMHeaderTyp; + +typedef struct songS3MinstrHeaderTyp_t +{ + uint8_t typ; + char dosName[12]; + uint8_t memSegH; + uint16_t memSeg; + int32_t len, repS, repE; + uint8_t vol, dsk, pack, flags; + int32_t c2Spd, res1; + uint16_t gusPos; + uint8_t res2[6]; + char name[28], id[4]; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +songS3MinstrHeaderTyp; + +typedef struct songS3MHeaderTyp_t +{ + char name[28]; + uint8_t id1a, typ; + uint16_t res1; + int16_t songTabLen, antInstr, antPatt; + uint16_t flags, trackerID, ver; + char id[4]; + uint8_t globalVol, defSpeed, defTempo, masterVol, res2[12], chanType[32]; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +songS3MHeaderTyp; +#ifdef _MSC_VER +#pragma pack(pop) +#endif + +static volatile uint8_t loadedFormat; +static volatile bool stereoSamplesWarn, linearFreqTable, musicIsLoading, moduleLoaded, moduleFailedToLoad; +static uint8_t oldPlayMode, pattBuff[12288]; +static const uint8_t stmEff[16] = { 0, 0, 11, 0, 10, 2, 1, 3, 4, 7, 0, 5 ,6, 0, 0, 0 }; +static SDL_Thread *thread; + +// these temporarily read to, then copied to real struct if load was OK (should not need to be volatile'd) +static int16_t pattLensTmp[MAX_PATTERNS]; +static tonTyp *pattTmp[MAX_PATTERNS]; +static instrTyp *instrTmp[1 + MAX_INST]; +static songTyp songTmp; + +static void setupLoadedModule(void); +static void freeTmpModule(void); +static bool loadInstrHeader(FILE *f, uint16_t i); +static bool loadInstrSample(FILE *f, uint16_t i); +void unpackPatt(uint8_t *dst, uint16_t inn, uint16_t len, uint8_t antChn); +static bool tmpPatternEmpty(uint16_t nr); +static bool loadPatterns(FILE *f, uint16_t antPtn); + +void checkSampleRepeat(sampleTyp *s); + +// ft2_replayer.c +extern const char modSig[32][5]; + +static bool allocateTmpInstr(int16_t nr) +{ + instrTyp *p; + + if (instrTmp[nr] != NULL) + return false; // already allocated + + p = (instrTyp *)malloc(sizeof (instrTyp)); + if (p == NULL) + return false; + + memset(p, 0, sizeof (instrTyp)); + + for (int8_t i = 0; i < 16; i++) // set standard sample pan/vol + { + p->samp[i].pan = 128; + p->samp[i].vol = 64; + } + + instrTmp[nr] = p; + return true; +} + +#define IS_ID(s, b) !strncmp(s, b, 4) + +static uint8_t getModType(uint8_t *numChannels, const char *id) +{ + uint8_t modFormat = FORMAT_UNKNOWN; + *numChannels = 4; + + if (IS_ID("M.K.", id) || IS_ID("M!K!", id) || IS_ID("NSMS", id) || IS_ID("LARD", id) || IS_ID("PATT", id)) + { + modFormat = FORMAT_MK; // ProTracker or compatible + } + else if (id[1] == 'C' && id[2] == 'H' && id[3] == 'N') + { + modFormat = FORMAT_FT2; // FT2 or generic multichannel + *numChannels = id[0] - '0'; + } + else if (id[2] == 'C' && (id[3] == 'H' || id[3] == 'N')) + { + modFormat = FORMAT_FT2; // FT2 or generic multichannel + *numChannels = ((id[0] - '0') * 10) + (id[1] - '0'); + } + else if (IS_ID("FLT4", id)) + { + modFormat = FORMAT_FLT; // StarTrekker (4-channel modules only) + } + else if (IS_ID("FLT8", id)) + { + modFormat = FORMAT_FLT; // StarTrekker (4-channel modules only) + *numChannels = 8; + } + else if (IS_ID("N.T.", id)) + { + modFormat = FORMAT_NT; // NoiseTracker + } + else if (IS_ID("M&K!", id) || IS_ID("FEST", id)) + { + modFormat = FORMAT_HMNT; // His Master's NoiseTracker + } + + return modFormat; +} + +static bool loadMusicMOD(FILE *f, uint32_t fileLength, bool fromExternalThread) +{ + char ID[16]; + bool mightBeSTK, lateSTKVerFlag, veryLateSTKVerFlag; + uint8_t bytes[4], modFormat, numChannels; + int16_t i, j, k, ai; + uint16_t a, b, period; + tonTyp *ton; + sampleTyp *s; + songMOD31HeaderTyp h_MOD31; + songMOD15HeaderTyp h_MOD15; + int16_t (*showMsg)(int16_t, const char *, const char *); + + showMsg = fromExternalThread ? okBoxThreadSafe : okBox; + + veryLateSTKVerFlag = false; // "DFJ SoundTracker III" nad later + lateSTKVerFlag = false; // "TJC SoundTracker II" and later + mightBeSTK = false; + + memset(&songTmp, 0, sizeof (songTmp)); + memset(&h_MOD31, 0, sizeof (songMOD31HeaderTyp)); + memset(&h_MOD15, 0, sizeof (songMOD15HeaderTyp)); + + // start loading MOD + + loadedFormat = FORMAT_MOD; + + rewind(f); + fread(ID, 1, 16, f); + fseek(f, 0x1D, SEEK_SET); + fread(bytes, 1, 1, f); + rewind(f); + + // since .mod is the last format tested, check if the file is an .it module (Impulse Tracker) + if (!memcmp(ID, "IMPM", 4) && bytes[0] == 0) + { + showMsg(0, "System message", "Error: Impulse Tracker modules are not supported!"); + goto modLoadError; + } + + // check if the file to load is a WAV, if so reject it + if (!memcmp(ID, "RIFF", 4) && !memcmp(&ID[8], "WAVEfmt", 7)) + { + showMsg(0, "System message", "Error: Can't load a .wav file as a module!"); + goto modLoadError; + } + + if (fileLength < 1596 || fileLength > 20842494) // minimum and maximum possible size for a supported .mod + { + showMsg(0, "System message", "Error: This file is either not a module, or is not supported."); + goto modLoadError; + } + + if (fread(&h_MOD31, 1, sizeof (h_MOD31), f) != sizeof (h_MOD31)) + { + showMsg(0, "System message", "Error: This file is either not a module, or is not supported."); + goto modLoadError; + } + + modFormat = getModType(&numChannels, h_MOD31.sig); + + if (modFormat == FORMAT_FLT && numChannels == 8) + { + showMsg(0, "System message", "8-channel Startrekker modules are not supported!"); + goto modLoadError; + } + + if (modFormat != FORMAT_UNKNOWN) + { + if (fileLength < sizeof (h_MOD31)) + { + showMsg(0, "System message", "Error: This file is either not a module, or is not supported."); + goto modLoadError; + } + + songTmp.antChn = numChannels; + songTmp.len = h_MOD31.len; + songTmp.repS = h_MOD31.repS; + memcpy(songTmp.songTab, h_MOD31.songTab, 128); + ai = 31; + } + else + { + mightBeSTK = true; + if (fileLength < sizeof (h_MOD15)) + { + showMsg(0, "System message", "Error: This file is not a module!"); + goto modLoadError; + } + + rewind(f); + if (fread(&h_MOD15, 1, sizeof (h_MOD15), f) != sizeof (h_MOD15)) + { + showMsg(0, "System message", "Error: This file is either not a module, or is not supported."); + goto modLoadError; + } + + songTmp.antChn = numChannels; + songTmp.len = h_MOD15.len; + songTmp.repS = h_MOD15.repS; + memcpy(songTmp.songTab, h_MOD15.songTab, 128); + ai = 15; + } + + if (modFormat == FORMAT_MK && songTmp.len == 129) + songTmp.len = 127; // fixes a specific copy of beatwave.mod + + if (songTmp.antChn == 0 || songTmp.len < 1 || songTmp.len > 128 || (mightBeSTK && songTmp.repS > 220)) + { + showMsg(0, "System message", "Error: This file is either not a module, or is not supported."); + goto modLoadError; + } + + for (a = 0; a < ai; a++) + { + songMODInstrHeaderTyp *smp = &h_MOD31.instr[a]; + + if (modFormat != FORMAT_HMNT) // most of "His Master's Noisetracker" songs have junk sample names, so let's not load them + { + // trim off spaces at end of name + for (i = 21; i >= 0; i--) + { + if (smp->name[i] == ' ' || smp->name[i] == 0x1A) + smp->name[i] = '\0'; + else + break; + } + + memcpy(songTmp.instrName[1+a], smp->name, 22); + songTmp.instrName[1+a][22] = '\0'; + } + + /* Only late versions of Ultimate SoundTracker could have samples larger than 9999 bytes. + ** If found, we know for sure that this is a late STK module. + */ + if (mightBeSTK && 2*SWAP16(smp->len) > 9999) + lateSTKVerFlag = true; + } + + songTmp.speed = 125; + if (mightBeSTK) + { + /* If we're still here at this point and the mightBeSTK flag is set, + ** then it's most likely a proper The Ultimate SoundTracker (STK/UST) module. + */ + modFormat = FORMAT_STK; + + if (h_MOD15.repS == 0) + h_MOD15.repS = 120; + + // jjk55.mod by Jesper Kyd has a bogus STK tempo value that should be ignored + if (!strcmp("jjk55", h_MOD31.name)) + h_MOD15.repS = 120; + + // The "restart pos" field in STK is the inital tempo (must be converted to BPM first) + if (h_MOD15.repS != 120) // 120 is a special case and means 50Hz (125BPM) + { + if (h_MOD15.repS > 220) + h_MOD15.repS = 220; + + // convert UST tempo to BPM + uint16_t ciaPeriod = (240 - songTmp.repS) * 122; + double dHz = 709379.0 / ciaPeriod; + int32_t BPM = (int32_t)((dHz * (125.0 / 50.0)) + 0.5); + + songTmp.speed = (uint16_t)BPM; + } + + songTmp.repS = 0; + } + else if (songTmp.repS >= songTmp.len) + { + songTmp.repS = 0; + } + + // trim off spaces at end of name + for (i = 19; i >= 0; i--) + { + if (h_MOD31.name[i] == ' ' || h_MOD31.name[i] == 0x1A) + h_MOD31.name[i] = '\0'; + else + break; + } + + memcpy(songTmp.name, h_MOD31.name, 20); + songTmp.name[20] = '\0'; + + // count number of patterns + b = 0; + for (a = 0; a < 128; a++) + { + if (songTmp.songTab[a] > b) + b = songTmp.songTab[a]; + } + b++; + + for (a = 0; a < b; a++) + { + pattTmp[a] = (tonTyp *)calloc((MAX_PATT_LEN * TRACK_WIDTH) + 16, 1); + if (pattTmp[a] == NULL) + { + showMsg(0, "System message", "Not enough memory!"); + goto modLoadError; + } + + pattLensTmp[a] = 64; + for (j = 0; j < 64; j++) + { + for (k = 0; k < songTmp.antChn; k++) + { + ton = &pattTmp[a][(j * MAX_VOICES) + k]; + + if (fread(bytes, 1, 4, f) != 4) + { + showMsg(0, "System message", "Error: This file is either not a module, or is not supported."); + goto modLoadError; + } + + // period to note + period = ((bytes[0] & 0x0F) << 8) | bytes[1]; + for (i = 0; i < 8*12; i++) + { + if (period >= amigaPeriod[i]) + { + ton->ton = (uint8_t)i + 1; + break; + } + } + + ton->instr = (bytes[0] & 0xF0) | (bytes[2] >> 4); + ton->effTyp = bytes[2] & 0x0F; + ton->eff = bytes[3]; + + if (mightBeSTK) + { + if (ton->effTyp == 0xC || ton->effTyp == 0xD || ton->effTyp == 0xE) + { + // "TJC SoundTracker II" and later + lateSTKVerFlag = true; + } + + if (ton->effTyp == 0xF) + { + // "DFJ SoundTracker III" and later + lateSTKVerFlag = true; + veryLateSTKVerFlag = true; + } + } + + if (ton->effTyp == 0xC) + { + if (ton->eff > 64) + ton->eff = 64; + } + else if (ton->effTyp == 0x1) + { + if (ton->eff == 0) + ton->effTyp = 0; + } + else if (ton->effTyp == 0x2) + { + if (ton->eff == 0) + ton->effTyp = 0; + } + else if (ton->effTyp == 0x5) + { + if (ton->eff == 0) + ton->effTyp = 0x3; + } + else if (ton->effTyp == 0x6) + { + if (ton->eff == 0) + ton->effTyp = 0x4; + } + else if (ton->effTyp == 0xA) + { + if (ton->eff == 0) + ton->effTyp = 0; + } + else if (ton->effTyp == 0xE) + { + // check if certain E commands are empty + if (ton->eff == 0x10 || ton->eff == 0x20 || ton->eff == 0xA0 || ton->eff == 0xB0) + { + ton->effTyp = 0; + ton->eff = 0; + } + } + } + } + + if (tmpPatternEmpty(a)) + { + if (pattTmp[a] != NULL) + { + free(pattTmp[a]); + pattTmp[a] = NULL; + } + } + } + + // pattern command conversion for non-PT formats + if (modFormat == FORMAT_STK || modFormat == FORMAT_FT2 || modFormat == FORMAT_NT || modFormat == FORMAT_HMNT || modFormat == FORMAT_FLT) + { + for (a = 0; a < b; a++) + { + if (pattTmp[a] == NULL) + continue; + + for (j = 0; j < 64; j++) + { + for (k = 0; k < songTmp.antChn; k++) + { + ton = &pattTmp[a][(j * MAX_VOICES) + k]; + + if (modFormat == FORMAT_NT || modFormat == FORMAT_HMNT) + { + // any Dxx == D00 in NT/HMNT + if (ton->effTyp == 0xD) + ton->eff = 0; + + // effect F with param 0x00 does nothing in NT/HMNT + if (ton->effTyp == 0xF && ton->eff == 0) + ton->effTyp = 0; + } + else if (modFormat == FORMAT_FLT) // Startrekker + { + if (ton->effTyp == 0xE) // remove unsupported "assembly macros" command + { + ton->effTyp = 0; + ton->eff = 0; + } + + // Startrekker is always in vblank mode, and limits speed to 0x1F + if (ton->effTyp == 0xF && ton->eff > 0x1F) + ton->eff = 0x1F; + } + else if (modFormat == FORMAT_STK) + { + // convert STK effects to PT effects + + if (!lateSTKVerFlag) + { + // old SoundTracker 1.x commands + + if (ton->effTyp == 1) + { + // arpeggio + ton->effTyp = 0; + } + else if (ton->effTyp == 2) + { + // pitch slide + if (ton->eff & 0xF0) + { + // pitch slide down + ton->effTyp = 2; + ton->eff >>= 4; + } + else if (ton->eff & 0x0F) + { + // pitch slide up + ton->effTyp = 1; + } + } + } + else + { + // "DFJ SoundTracker II" or later + + if (ton->effTyp == 0xD) + { + if (veryLateSTKVerFlag) // "DFJ SoundTracker III" or later + { + // pattern break w/ no param (param must be cleared to fix some songs) + ton->eff = 0; + } + else + { + // volume slide + ton->effTyp = 0xA; + } + } + } + + // effect F with param 0x00 does nothing in UST/STK (I think?) + if (ton->effTyp == 0xF && ton->eff == 0) + ton->effTyp = 0; + } + } + } + } + } + + for (a = 0; a < ai; a++) + { + if (h_MOD31.instr[a].len == 0) + continue; + + if (!allocateTmpInstr(1+a)) + { + showMsg(0, "System message", "Not enough memory!"); + goto modLoadError; + } + + setNoEnvelope(instrTmp[1+a]); + + s = &instrTmp[1+a]->samp[0]; + + s->len = 2 * SWAP16(h_MOD31.instr[a].len); + + s->pek = NULL; + s->origPek = (int8_t *)malloc(s->len + LOOP_FIX_LEN); + if (s->origPek == NULL) + { + showMsg(0, "System message", "Not enough memory!"); + goto modLoadError; + } + + s->pek = s->origPek + SMP_DAT_OFFSET; + + if (modFormat != FORMAT_HMNT) // most of "His Master's Noisetracker" songs have junk sample names, so let's not load them + memcpy(s->name, songTmp.instrName[1+a], 22); + + if (modFormat == FORMAT_HMNT) // finetune in "His Master's NoiseTracker" is different + h_MOD31.instr[a].fine = (uint8_t)((-h_MOD31.instr[a].fine & 0x1F) / 2); // one more bit of precision, + inverted + + if (modFormat != FORMAT_STK) + s->fine = 8 * ((2 * ((h_MOD31.instr[a].fine & 0xF) ^ 8)) - 16); + + s->pan = 128; + + s->vol = h_MOD31.instr[a].vol; + if (s->vol > 64) + s->vol = 64; + + s->repS = 2 * SWAP16(h_MOD31.instr[a].repS); + s->repL = 2 * SWAP16(h_MOD31.instr[a].repL); + + if (s->repL < 2) + s->repL = 2; + + // in The Ultimate SoundTracker, sample loop start is in bytes, not words + if (mightBeSTK) + s->repS /= 2; + + // fix for poorly converted STK (< v2.5) -> PT/NT modules (FIXME: Worth keeping or not?) + if (!mightBeSTK && s->repL > 2 && s->repS+s->repL > s->len) + { + if ((s->repS/2) + s->repL <= s->len) + s->repS /= 2; + } + + // fix overflown loop + if (s->repS+s->repL > s->len) + { + if (s->repS >= s->len) + { + s->repS = 0; + s->repL = 0; + } + else + { + s->repL = s->len - s->repS; + } + } + + if (s->repS+s->repL > 2) + s->typ = 1; // enable loop + + /* For Ultimate SoundTracker modules, only the loop area of a looped sample is played. + ** Skip loading of eventual data present before loop start. + */ + if (modFormat == FORMAT_STK && (s->repS > 0 && s->repL < s->len)) + { + s->len -= s->repS; + fseek(f, s->repS, SEEK_CUR); + s->repS = 0; + } + + int32_t bytesRead = (int32_t)fread(s->pek, 1, s->len, f); + if (bytesRead < s->len) + { + int32_t bytesToClear = s->len - bytesRead; + memset(&s->pek[bytesRead], 0, bytesToClear); + } + + fixSample(s); + } + + fclose(f); + + songTmp.initialTempo = songTmp.tempo = 6; + + moduleLoaded = true; + return true; + +modLoadError: + fclose(f); + freeTmpModule(); + moduleFailedToLoad = true; + return false; +} + +static uint8_t stmTempoToBPM(uint8_t tempo) // ported from original ST2.3 replayer code +{ + const uint8_t slowdowns[16] = { 140, 50, 25, 15, 10, 7, 6, 4, 3, 3, 2, 2, 2, 2, 1, 1 }; + uint32_t bpm; + uint16_t hz = 50; + + hz -= ((slowdowns[tempo >> 4] * (tempo & 15)) >> 4); // can and will underflow + + bpm = (int32_t)((hz * 2.5) + 0.5); + return (uint8_t)CLAMP(bpm, 32, 255); // result can be slightly off, but close enough... +} + +static bool loadMusicSTM(FILE *f, uint32_t fileLength, bool fromExternalThread) +{ + bool check3xx; + uint8_t typ, tmp8, tempo; + int16_t i, j, k, ai, ap, tmp; + uint16_t a; + int32_t len; + tonTyp *ton; + sampleTyp *s; + songSTMHeaderTyp h_STM; + int16_t (*showMsg)(int16_t, const char *, const char *); + + showMsg = fromExternalThread ? okBoxThreadSafe : okBox; + + rewind(f); + + // start loading STM + + if (fread(&h_STM, 1, sizeof (h_STM), f) != sizeof (h_STM)) + return loadMusicMOD(f, fileLength, fromExternalThread); // file is not a .stm, try to load as .mod + + if (memcmp(h_STM.sig, "!Scream!", 8) && memcmp(h_STM.sig, "BMOD2STM", 8) && + memcmp(h_STM.sig, "WUZAMOD!", 8) && memcmp(h_STM.sig, "SWavePro", 8)) + { + return loadMusicMOD(f, fileLength, fromExternalThread); // file is not a .stm, try to load as .mod + } + + loadedFormat = FORMAT_STM; + + if (h_STM.verMinor == 0 || h_STM.typ != 2) + { + showMsg(0, "System message", "Error loading .stm: Incompatible module!"); + goto stmLoadError; + } + + songTmp.antChn = 4; + memcpy(songTmp.songTab, h_STM.songTab, 128); + + i = 0; + while (i < 128 && songTmp.songTab[i] < 99) i++; + songTmp.len = i + (i == 0); + + if (songTmp.len < 255) + memset(&songTmp.songTab[songTmp.len], 0, 256 - songTmp.len); + + // trim off spaces at end of name + for (i = 19; i >= 0; i--) + { + if (h_STM.name[i] == ' ' || h_STM.name[i] == 0x1A) + h_STM.name[i] = '\0'; + else + break; + } + + memcpy(songTmp.name, h_STM.name, 20); + songTmp.name[20] = '\0'; + + tempo = h_STM.tempo; + if (h_STM.verMinor < 21) + tempo = ((tempo / 10) << 4) + (tempo % 10); + + if (tempo == 0) + tempo = 96; + + songTmp.initialTempo = songTmp.tempo = CLAMP(h_STM.tempo >> 4, 1, 31); + songTmp.speed = stmTempoToBPM(tempo); + + if (h_STM.verMinor > 10) + songTmp.globVol = MIN(h_STM.vol, 64); + + ap = h_STM.ap; + for (i = 0; i < ap; i++) + { + pattTmp[i] = (tonTyp *)calloc((MAX_PATT_LEN * TRACK_WIDTH) + 16, 1); + if (pattTmp[i] == NULL) + { + showMsg(0, "System message", "Not enough memory!"); + goto stmLoadError; + } + + pattLensTmp[i] = 64; + if (fread(pattBuff, 64 * 4 * 4, 1, f) != 1) + { + showMsg(0, "System message", "General I/O error during loading!"); + goto stmLoadError; + } + + a = 0; + for (j = 0; j < 64; j++) + { + for (k = 0; k < 4; k++) + { + ton = &pattTmp[i][(j * MAX_VOICES) + k]; + + if (pattBuff[a] == 254) + { + ton->ton = 97; + } + else if (pattBuff[a] < 96) + { + ton->ton = (12 * (pattBuff[a] >> 4)) + (25 + (pattBuff[a] & 0x0F)); + if (ton->ton > 96) + ton->ton = 0; + } + else + { + ton->ton = 0; + } + + ton->instr = pattBuff[a + 1] >> 3; + typ = (pattBuff[a + 1] & 7) + ((pattBuff[a + 2] & 0xF0) >> 1); + if (typ <= 64) + ton->vol = typ + 0x10; + + ton->eff = pattBuff[a + 3]; + + tmp = pattBuff[a + 2] & 0x0F; + if (tmp == 1) + { + ton->effTyp = 15; + + if (h_STM.verMinor < 21) + ton->eff = ((ton->eff / 10) << 4) + (ton->eff % 10); + + ton->eff >>= 4; + } + else if (tmp == 3) + { + ton->effTyp = 13; + ton->eff = 0; + } + else if (tmp == 2 || (tmp >= 4 && tmp <= 12)) + { + ton->effTyp = stmEff[tmp]; + if (ton->effTyp == 0xA) + { + if (ton->eff & 0x0F) + ton->eff &= 0x0F; + else + ton->eff &= 0xF0; + } + } + else + { + ton->eff = 0; + } + + /* Remove any EDx with no note. + ** SDx with no note in ST3 = does nothing + ** EDx with no note in FT2 = still retriggers + */ + if (ton->effTyp == 0xE && (ton->eff & 0xF0) == 0xD0) + { + if (ton->ton == 0 || ton->ton == 97) + { + ton->eff = 0; + ton->effTyp = 0; + } + } + + if (ton->effTyp > 35) + { + ton->effTyp = 0; + ton->eff = 0; + } + + a += 4; + } + } + + if (tmpPatternEmpty(i)) + { + if (pattTmp[i] != NULL) + { + free(pattTmp[i]); + pattTmp[i] = NULL; + } + } + } + + ai = 31; + for (i = 0; i < 31; i++) + { + // trim off spaces at end of name + for (j = 11; j >= 0; j--) + { + if (h_STM.instr[i].name[j] == ' ' || h_STM.instr[i].name[j] == 0x1A) + h_STM.instr[i].name[j] = '\0'; + else + break; + } + + memset(&songTmp.instrName[1+i], 0, sizeof (songTmp.instrName[1+i])); + memcpy(&songTmp.instrName[1+i], h_STM.instr[i].name, 12); + + if (h_STM.instr[i].len != 0 && h_STM.instr[i].reserved1 != 0) + { + allocateTmpInstr(1 + i); + setNoEnvelope(instrTmp[i]); + + s = &instrTmp[1+i]->samp[0]; + + s->pek = NULL; + s->origPek = (int8_t *)malloc(h_STM.instr[i].len + LOOP_FIX_LEN); + if (s->origPek == NULL) + { + showMsg(0, "System message", "Not enough memory!"); + goto stmLoadError; + } + + s->pek = s->origPek + SMP_DAT_OFFSET; + + s->len = h_STM.instr[i].len; + tuneSample(s, h_STM.instr[i].rate); + s->vol = h_STM.instr[i].vol; + s->repS = h_STM.instr[i].repS; + s->repL = h_STM.instr[i].repE - h_STM.instr[i].repS; + s->pan = 128; + + if (s->repS < s->len && h_STM.instr[i].repE > s->repS && h_STM.instr[i].repE != 0xFFFF) + { + if (s->repS+s->repL > s->len) + s->repL = s->len - s->repS; + + s->typ = 1; + } + else + { + s->repS = 0; + s->repL = 0; + s->typ = 0; + } + + if (s->vol > 64) + s->vol = 64; + + if (fread(s->pek, s->len, 1, f) != 1) + { + showMsg(0, "System message", "General I/O error during loading! Possibly corrupt module?"); + goto stmLoadError; + } + + fixSample(s); + } + } + + // non-FT2: fix overflown 9xx and illegal 3xx + + for (i = 0; i < ap; i++) + { + if (pattTmp[i] == NULL) + continue; + + for (k = 0; k < songTmp.antChn; k++) + { + check3xx = false; + for (j = 0; j < 64; j++) + { + ton = &pattTmp[i][(j * MAX_VOICES) + k]; + + if (ton->ton > 0 && ton->ton < 97 && ton->effTyp != 0x3) + check3xx = true; + + if (ton->ton > 0 && ton->ton < 97 && ton->effTyp == 0x3) + check3xx = false; + + if (check3xx && ton->effTyp == 0x3) + { + if (ton->ton == 0 || ton->ton == 97) + { + ton->effTyp = 0; + ton->eff = 0; + } + } + + if (ton->effTyp == 0x9 && ton->eff > 0) + { + if (ton->instr != 0 && ton->instr <= ai) + { + s = &instrTmp[ton->instr]->samp[0]; + len = s->len; + + tmp8 = 0; + if (len > 0) + { + tmp8 = ton->eff; + if (tmp8 >= len/256) + { + if (len/256 < 1) + tmp8 = 0; + else + tmp8 = (uint8_t)((len/256) - 1); + } + } + + if (tmp8 > 0) + { + ton->eff = tmp8; + } + else + { + ton->effTyp = 0; + ton->eff = 0; + } + } + else + { + ton->effTyp = 0; + ton->eff = 0; + } + } + } + } + } + + fclose(f); + + moduleLoaded = true; + return true; + +stmLoadError: + fclose(f); + freeTmpModule(); + moduleFailedToLoad = true; + return false; +} + +static int8_t countS3MChannels(uint16_t antPtn) +{ + uint8_t j, k, channels; + int16_t i; + tonTyp ton; + + channels = 0; + for (i = 0; i < antPtn; i++) + { + if (pattTmp[i] == NULL) + continue; + + for (j = 0; j < 64; j++) + { + for (k = 0; k < MAX_VOICES; k++) + { + ton = pattTmp[i][(j * MAX_VOICES) + k]; + if (ton.eff == 0 && ton.effTyp == 0 && ton.instr == 0 && ton.ton == 0 && ton.vol == 0) + continue; + + if (k > channels) + channels = k; + } + } + } + channels++; + + return channels; +} + +static bool loadMusicS3M(FILE *f, uint32_t dataLength, bool fromExternalThread) +{ + int8_t *tmpSmp; + bool check3xx, illegalUxx; + uint8_t ha[2048]; + uint8_t s3mLastDEff[32], s3mLastEEff[32], s3mLastFEff[32]; + uint8_t s3mLastSEff[32], s3mLastJEff[32], s3mLastGInstr[32], typ; + int16_t ai, ap, ver, ii, kk, tmp; + uint16_t ptnOfs[256]; + int32_t i, j, k, len; + tonTyp ton, *pattTon; + sampleTyp *s; + songS3MHeaderTyp h_S3M; + songS3MinstrHeaderTyp h_S3MInstr; + int16_t (*showMsg)(int16_t, const char *, const char *); + + showMsg = fromExternalThread ? okBoxThreadSafe : okBox; + + stereoSamplesWarn = false; + + rewind(f); + + // start loading S3M + + if (fread(&h_S3M, 1, sizeof (h_S3M), f) != sizeof (h_S3M)) + return loadMusicSTM(f, dataLength, fromExternalThread); // not a .s3m, try loading as .stm + + if (memcmp(h_S3M.id, "SCRM", 4)) + return loadMusicSTM(f, dataLength, fromExternalThread); // not a .s3m, try loading as .stm + + loadedFormat = FORMAT_S3M; + + if (h_S3M.antInstr > MAX_INST || h_S3M.songTabLen > 256 || h_S3M.antPatt > 256 || + h_S3M.typ != 16 || h_S3M.ver < 1 || h_S3M.ver > 2) + { + showMsg(0, "System message", "Error loading .s3m: Incompatible module!"); + goto s3mLoadError; + } + + memset(songTmp.songTab, 255, sizeof (songTmp.songTab)); + if (fread(songTmp.songTab, h_S3M.songTabLen, 1, f) != 1) + { + showMsg(0, "System message", "General I/O error during loading! Is the file in use?"); + goto s3mLoadError; + } + + // count real song table entries + songTmp.len = 256; + while (songTmp.len > 0 && songTmp.songTab[songTmp.len-1] == 255) + songTmp.len--; + + if (songTmp.len == 256) + songTmp.len = 255; + + // remove pattern separators (254) + k = 0; + j = 0; + for (i = 0; i < songTmp.len; i++) + { + if (songTmp.songTab[i] != 254) + songTmp.songTab[j++] = songTmp.songTab[i]; + else + k++; + } + + if (k <= songTmp.len) + songTmp.len -= (uint16_t)k; + else + songTmp.len = 0; + + // clear unused song table entries + if (songTmp.len < 255) + memset(&songTmp.songTab[songTmp.len], 0, 256 - songTmp.len); + + songTmp.speed = h_S3M.defTempo; + if (songTmp.speed < 32) + songTmp.speed = 32; + + songTmp.tempo = h_S3M.defSpeed; + if (songTmp.tempo == 0) + songTmp.tempo = 6; + + if (songTmp.tempo > 31) + songTmp.tempo = 31; + + songTmp.initialTempo = songTmp.tempo; + + // trim off spaces at end of name + for (i = 19; i >= 0; i--) + { + if (h_S3M.name[i] == ' ' || h_S3M.name[i] == 0x1A) + h_S3M.name[i] = '\0'; + else + break; + } + + memcpy(songTmp.name, h_S3M.name, 20); + songTmp.name[20] = '\0'; + + ap = h_S3M.antPatt; + ai = h_S3M.antInstr; + ver = h_S3M.ver; + + k = 31; + while (k >= 0 && h_S3M.chanType[k] >= 16) k--; + songTmp.antChn = (k + 2) & 254; + + if (fread(ha, ai + ai, 1, f) != 1) + { + showMsg(0, "System message", "General I/O error during loading! Is the file in use?"); + goto s3mLoadError; + } + + if (fread(ptnOfs, ap + ap, 1, f) != 1) + { + showMsg(0, "System message", "General I/O error during loading! Is the file in use?"); + goto s3mLoadError; + } + + // *** PATTERNS *** + + illegalUxx = false; + + k = 0; + for (i = 0; i < ap; i++) + { + if (ptnOfs[i] == 0) + continue; // empty pattern + + memset(s3mLastDEff, 0, sizeof (s3mLastDEff)); + memset(s3mLastEEff, 0, sizeof (s3mLastEEff)); + memset(s3mLastFEff, 0, sizeof (s3mLastFEff)); + memset(s3mLastSEff, 0, sizeof (s3mLastSEff)); + memset(s3mLastJEff, 0, sizeof (s3mLastJEff)); + memset(s3mLastGInstr, 0, sizeof (s3mLastGInstr)); + + fseek(f, ptnOfs[i] << 4, SEEK_SET); + if (feof(f)) + continue; + + if (fread(&j, 2, 1, f) != 1) + { + showMsg(0, "System message", "General I/O error during loading! Is the file in use?"); + goto s3mLoadError; + } + + if (j > 0 && j <= 12288) + { + pattTmp[i] = (tonTyp *)calloc((MAX_PATT_LEN * TRACK_WIDTH) + 16, 1); + if (pattTmp[i] == NULL) + { + showMsg(0, "System message", "Not enough memory!"); + goto s3mLoadError; + } + + pattLensTmp[i] = 64; + if (fread(pattBuff, j, 1, f) != 1) + { + showMsg(0, "System message", "General I/O error during loading! Is the file in use?"); + goto s3mLoadError; + } + + k = 0; + kk = 0; + + while (k < j && kk < 64) + { + typ = pattBuff[k++]; + + if (typ == 0) + { + kk++; + } + else + { + ii = typ & 31; + + memset(&ton, 0, sizeof (ton)); + + // note and sample + if (typ & 32) + { + ton.ton = pattBuff[k++]; + ton.instr = pattBuff[k++]; + + if (ton.instr > MAX_INST) + ton.instr = 0; + + if (ton.ton == 254) ton.ton = 97; + else if (ton.ton == 255) ton.ton = 0; + else + { + ton.ton = 1 + (ton.ton & 0xF) + (ton.ton >> 4) * 12; + if (ton.ton > 96) + ton.ton = 0; + } + } + + // volume + if (typ & 64) + { + ton.vol = pattBuff[k++]; + + if (ton.vol <= 64) + ton.vol += 0x10; + else + ton.vol = 0; + } + + // effect + if (typ & 128) + { + ton.effTyp = pattBuff[k++]; + ton.eff = pattBuff[k++]; + + if (ton.eff == 0) + { + if (ton.effTyp == 4) + { + if ((s3mLastDEff[ii] & 0xF0) == 0xF0 || (s3mLastDEff[ii] & 0x0F) == 0x0F) + ton.eff = s3mLastDEff[ii]; + } + else if (ton.effTyp == 5) ton.eff = s3mLastEEff[ii]; + else if (ton.effTyp == 6) ton.eff = s3mLastFEff[ii]; + else if (ton.effTyp == 10) ton.eff = s3mLastJEff[ii]; + else if (ton.effTyp == 19) ton.eff = s3mLastSEff[ii]; + } + + if (ton.eff != 0) + { + if (ton.effTyp == 4) s3mLastDEff[ii] = ton.eff; + else if (ton.effTyp == 5) s3mLastEEff[ii] = ton.eff; + else if (ton.effTyp == 6) s3mLastFEff[ii] = ton.eff; + else if (ton.effTyp == 10) s3mLastJEff[ii] = ton.eff; + else if (ton.effTyp == 19) s3mLastSEff[ii] = ton.eff; + } + + switch (ton.effTyp) + { + case 1: // A + { + ton.effTyp = 0xF; + if (ton.eff == 0 || ton.eff > 0x1F) + { + ton.effTyp = 0; + ton.eff = 0; + } + } + break; + + case 2: ton.effTyp = 0xB; break; // B + case 3: ton.effTyp = 0xD; break; // C + case 4: // D + { + if ((ton.eff & 0xF0) == 0) ton.effTyp = 0xA; + else if ((ton.eff & 0x0F) == 0) ton.effTyp = 0xA; + else if ((ton.eff & 0xF0) == 0xF0) + { + ton.effTyp = 0xE; + ton.eff = 0xB0 | (ton.eff & 15); + } + else if ((ton.eff & 0x0F) == 0x0F) + { + ton.effTyp = 0xE; + ton.eff = 0xA0 | (ton.eff >> 4); + } + else + { + ton.effTyp = 0xA; + if (ton.eff & 0x0F) + ton.eff &= 0x0F; + else + ton.eff &= 0xF0; + } + } + break; + + case 5: // E + case 6: // F + { + if ((ton.eff & 0xF0) >= 0xE0) + { + if ((ton.eff & 0xF0) == 0xE0) + tmp = 0x21; + else + tmp = 0xE; + + ton.eff &= 0x0F; + + if (ton.effTyp == 0x05) + ton.eff |= 0x20; + else + ton.eff |= 0x10; + + ton.effTyp = (uint8_t)tmp; + } + else + { + ton.effTyp = 7 - ton.effTyp; + } + } + break; + + case 7: // G + { + // fix illegal slides (to new instruments) + if (ton.instr != 0 && ton.instr != s3mLastGInstr[ii]) + ton.instr = s3mLastGInstr[ii]; + + ton.effTyp = 0x03; + } + break; + + case 8: ton.effTyp = 0x04; break; // H + case 9: ton.effTyp = 0x1D; break; // I + case 10: ton.effTyp = 0x00; break; // J + case 11: ton.effTyp = 0x06; break; // K + case 12: ton.effTyp = 0x05; break; // L + case 15: ton.effTyp = 0x09; break; // O + case 17: ton.effTyp = 0x1B; break; // Q + case 18: ton.effTyp = 0x07; break; // R + + case 19: // S + { + ton.effTyp = 0xE; + tmp = ton.eff >> 4; + ton.eff &= 0x0F; + + if (tmp == 0x1) ton.eff |= 0x30; + else if (tmp == 0x2) ton.eff |= 0x50; + else if (tmp == 0x3) ton.eff |= 0x40; + else if (tmp == 0x4) ton.eff |= 0x70; + // we ignore S8x (set 4-bit pan) becuase it's not compatible with FT2 panning + else if (tmp == 0xB) ton.eff |= 0x60; + else if (tmp == 0xC) ton.eff |= 0xC0; + else if (tmp == 0xD) ton.eff |= 0xD0; + else if (tmp == 0xE) ton.eff |= 0xE0; + else if (tmp == 0xF) ton.eff |= 0xF0; + else + { + ton.effTyp = 0; + ton.eff = 0; + } + } + break; + + case 20: // T + { + ton.effTyp = 0x0F; + if (ton.eff < 0x21) // Txx with a value lower than 33 (0x21) does nothing in ST3, remove effect + { + ton.effTyp = 0; + ton.eff = 0; + } + } + break; + + case 21: // U (fine vibrato, doesn't exist in FT2, convert to normal vibrato) + { + if ((ton.eff & 0x0F) != 0) + { + ton.eff = (ton.eff & 0xF0) | (((ton.eff & 15) + 1) / 4); // divide depth by 4 + if ((ton.eff & 0x0F) == 0) // depth too low, remove effect + { + illegalUxx = true; + ton.effTyp = 0; + ton.eff = 0; + } + else + { + illegalUxx = false; + ton.effTyp = 0x04; + } + } + else + { + if (!illegalUxx) + { + ton.effTyp = 0x04; + } + else + { + ton.effTyp = 0; + ton.eff = 0; + } + } + } + break; + + case 22: ton.effTyp = 0x10; break; // V + + default: + { + ton.effTyp = 0; + ton.eff = 0; + } + break; + } + } + + if (ton.instr != 0 && ton.effTyp != 0x3) + s3mLastGInstr[ii] = ton.instr; + + // EDx with no note does nothing in ST3 but retrigs in FT2, remove effect + if (ton.effTyp == 0xE && (ton.eff & 0xF0) == 0xD0) + { + if (ton.ton == 0 || ton.ton == 97) + { + ton.effTyp = 0; + ton.eff = 0; + } + } + + // EDx with a zero will prevent note/instr/vol from updating in ST3, remove everything + if (ton.effTyp == 0xE && ton.eff == 0xD0) + { + ton.ton = 0; + ton.instr = 0; + ton.vol = 0; + ton.effTyp = 0; + ton.eff = 0; + } + + // ECx with a zero does nothing in ST3 but cuts voice in FT2, remove effect + if (ton.effTyp == 0xE && ton.eff == 0xC0) + { + ton.effTyp = 0; + ton.eff = 0; + } + + // Vxx with a value higher than 64 (0x40) does nothing in ST3, remove effect + if (ton.effTyp == 0x10 && ton.eff > 0x40) + { + ton.effTyp = 0; + ton.eff = 0; + } + + if (ton.effTyp > 35) + { + ton.effTyp = 0; + ton.eff = 0; + } + + pattTmp[i][(kk * MAX_VOICES) + ii] = ton; + } + } + + if (tmpPatternEmpty((uint16_t)i)) + { + if (pattTmp[i] != NULL) + { + free(pattTmp[i]); + pattTmp[i] = NULL; + } + } + } + } + + // *** SAMPLES *** + + memcpy(ptnOfs, ha, 512); + for (i = 0; i < ai; i++) + { + fseek(f, ptnOfs[i] << 4, SEEK_SET); + + if (fread(&h_S3MInstr, 1, sizeof (h_S3MInstr), f) != sizeof (h_S3MInstr)) + { + showMsg(0, "System message", "Not enough memory!"); + goto s3mLoadError; + } + + // trim off spaces at end of name + for (j = 21; j >= 0; j--) + { + if (h_S3MInstr.name[j] == ' ' || h_S3MInstr.name[j] == 0x1A) + h_S3MInstr.name[j] = '\0'; + else + break; + } + + memcpy(songTmp.instrName[1+i], h_S3MInstr.name, 22); + songTmp.instrName[1+i][22] = '\0'; + + if (h_S3MInstr.typ > 1) + { + showMsg(0, "System message", "Error loading .s3m: Incompatible module!"); + goto s3mLoadError; + } + else if (h_S3MInstr.typ == 1) + { + if ((h_S3MInstr.flags & (255-1-2-4)) != 0 || h_S3MInstr.pack != 0) + { + showMsg(0, "System message", "Error loading .s3m: Incompatible module!"); + goto s3mLoadError; + } + else if (h_S3MInstr.memSeg > 0 && h_S3MInstr.len > 0) + { + if (!allocateTmpInstr((int16_t)(1 + i))) + { + showMsg(0, "System message", "Not enough memory!"); + goto s3mLoadError; + } + + setNoEnvelope(instrTmp[1 + i]); + s = &instrTmp[1+i]->samp[0]; + + len = h_S3MInstr.len; + + bool hasLoop = h_S3MInstr.flags & 1; + bool stereoSample = (h_S3MInstr.flags >> 1) & 1; + bool is16Bit = (h_S3MInstr.flags >> 2) & 1; + + if (is16Bit) // 16-bit + len *= 2; + + if (stereoSample) // stereo + { + stereoSamplesWarn = true; + len *= 2; + } + + tmpSmp = (int8_t *)malloc(len + LOOP_FIX_LEN); + if (tmpSmp == NULL) + { + showMsg(0, "System message", "Not enough memory!"); + goto s3mLoadError; + } + + int8_t *newPtr = tmpSmp + SMP_DAT_OFFSET; + + memcpy(s->name, h_S3MInstr.name, 21); + + if (h_S3MInstr.c2Spd > 65535) // ST3 (and OpenMPT) does this + h_S3MInstr.c2Spd = 65535; + + tuneSample(s, h_S3MInstr.c2Spd); + + s->len = h_S3MInstr.len; + s->vol = h_S3MInstr.vol; + s->repS = h_S3MInstr.repS; + s->repL = h_S3MInstr.repE - h_S3MInstr.repS; + + // non-FT2: fixes "miracle man.s3m" + if ((h_S3MInstr.memSeg<<4)+s->len > (int32_t)dataLength) + s->len = dataLength - (h_S3MInstr.memSeg << 4); + + if (s->repL <= 2 || s->repS+s->repL > s->len) + { + s->repS = 0; + s->repL = 0; + hasLoop = false; + } + + if (s->repL == 0) + hasLoop = false; + + s->typ = hasLoop + (is16Bit << 4); + + if (s->vol > 64) + s->vol = 64; + + s->pan = 128; + + fseek(f, h_S3MInstr.memSeg << 4, SEEK_SET); + + // non-FT2: fixes "miracle man.s3m" + if ((h_S3MInstr.memSeg<<4)+len > (int32_t)dataLength) + len = dataLength - (h_S3MInstr.memSeg << 4); + + if (ver == 1) + { + fseek(f, len, SEEK_CUR); // sample not supported + } + else + { + if (fread(newPtr, len, 1, f) != 1) + { + free(tmpSmp); + showMsg(0, "System message", "General I/O error during loading! Is the file in use?"); + goto s3mLoadError; + } + + if (is16Bit) + { + conv16BitSample(newPtr, len, stereoSample); + + s->origPek = tmpSmp; + s->pek = s->origPek + SMP_DAT_OFFSET; + + s->len *= 2; + s->repS *= 2; + s->repL *= 2; + } + else + { + conv8BitSample(newPtr, len, stereoSample); + + s->origPek = tmpSmp; + s->pek = s->origPek + SMP_DAT_OFFSET; + } + + // if stereo sample: reduce memory footprint after sample was downmixed to mono + if (stereoSample) + { + newPtr = (int8_t *)realloc(s->origPek, s->len + LOOP_FIX_LEN); + if (newPtr != NULL) + { + s->origPek = newPtr; + s->pek = s->origPek + SMP_DAT_OFFSET; + } + } + + fixSample(s); + } + } + } + } + + if (stereoSamplesWarn) + showMsg(0, "System message", "Stereo samples were found and will be converted to mono."); + + // non-FT2: fix overflown 9xx and illegal 3xx slides + + for (i = 0; i < ap; i++) + { + if (pattTmp[i] == NULL) + continue; + + for (k = 0; k < songTmp.antChn; k++) + { + check3xx = false; + for (j = 0; j < 64; j++) + { + pattTon = &pattTmp[i][(j * MAX_VOICES) + k]; + + // fix illegal 3xx slides + + if (pattTon->ton > 0 && pattTon->ton < 97) + check3xx = pattTon->effTyp != 0x3; + + if (check3xx && pattTon->effTyp == 0x3) + { + if (pattTon->ton == 0 || pattTon->ton == 97) + { + pattTon->effTyp = 0; + pattTon->eff = 0; + } + } + + /* In ST3 in GUS mode, an overflowed sample offset behaves like this: + ** - Non-looped sample: Cut voice + ** - Looped sample: Wrap around loop point + ** + ** What we do here is to change the sample offset value to point to + ** the wrapped sample loop position. This may be off by up to 256 bytes + ** though... + */ + + if (pattTon->effTyp == 0x9 && pattTon->eff > 0 && pattTon->instr > 0 && pattTon->instr <= ai && ai <= 128) + { + s = &instrTmp[pattTon->instr]->samp[0]; + if (s->len > 0 && (s->typ & 1)) // only handle non-empty looping samples + { + uint32_t loopEnd = s->repS + s->repL; + uint32_t offset = pattTon->eff * 256; + + if (offset >= loopEnd) + { + if (s->repL >= 2) + offset = s->repS + ((offset - loopEnd) % s->repL); + else + offset = s->repS; + + offset = (offset + (1 << 7)) >> 8; // convert to rounded sample offset value + if (offset > 255) + offset = 255; + + pattTon->eff = (uint8_t)offset; + } + } + } + } + } + } + + fclose(f); + + songTmp.antChn = countS3MChannels(ap); + + if (!(config.dontShowAgainFlags & DONT_SHOW_S3M_LOAD_WARNING_FLAG)) + showMsg(6, "System message", "Warning: S3M channel panning is ignored because it's not compatible with FT2."); + + moduleLoaded = true; + return true; + +s3mLoadError: + fclose(f); + freeTmpModule(); + moduleFailedToLoad = true; + return false; +} + +bool doLoadMusic(bool fromExternalThread) +{ + char tmpText[128]; + int16_t k; + uint16_t i; + uint32_t filelength; + songHeaderTyp h; + FILE *f; + int16_t (*showMsg)(int16_t, const char *, const char *); + + showMsg = fromExternalThread ? okBoxThreadSafe : okBox; + + stereoSamplesWarn = false; + linearFreqTable = false; + + if (editor.tmpFilenameU == NULL) + { + showMsg(0, "System message", "Generic memory fault during loading!"); + moduleFailedToLoad = true; + return false; + } + + f = UNICHAR_FOPEN(editor.tmpFilenameU, "rb"); + if (f == NULL) + { + showMsg(0, "System message", "General I/O error during loading! Is the file in use? Does it exist?"); + moduleFailedToLoad = true; + return false; + } + + fseek(f, 0, SEEK_END); + filelength = ftell(f); + rewind(f); + + // start loading + if (fread(&h, 1, sizeof (h), f) != sizeof (h)) + return loadMusicS3M(f, filelength, fromExternalThread); // not a .xm file, try to load as .s3m + + if (memcmp(h.sig, "Extended Module: ", 17)) + return loadMusicS3M(f, filelength, fromExternalThread); // not a .xm file, try to load as .s3m + + loadedFormat = FORMAT_XM; + + if (h.ver < 0x0102 || h.ver > 0x0104) + { + fclose(f); + + sprintf(tmpText, "Error loading .xm: Unsupported XM version (v%1d.%1d%1d)", + '0' + (((h.ver >> 8) & 0x0F) % 10), '0' + (((h.ver >> 4) & 0x0F)) % 10, '0' + ((h.ver & 0x0F)) % 10); + showMsg(0, "System message", tmpText); + + moduleFailedToLoad = true; + return false; + } + + if (h.len > MAX_ORDERS) + { + showMsg(0, "System message", "Error loading .xm: The song has more than 256 orders!"); + goto xmLoadError; + } + + if (h.antPtn > MAX_PATTERNS) + { + showMsg(0, "System message", "Error loading .xm: The song has more than 256 patterns!"); + goto xmLoadError; + } + + if (h.antChn == 0 || h.antChn > MAX_VOICES) + { + showMsg(0, "System message", "Error loading .xm: Incompatible amount of channels!"); + goto xmLoadError; + } + + if (h.antInstrs > MAX_INST) + showMsg(0, "System message", "This module has over 128 instruments! Only the first 128 will be loaded."); + + fseek(f, 60 + h.headerSize, SEEK_SET); + if (filelength != 336 && feof(f)) // 336 in length at this point = empty XM + { + showMsg(0, "System message", "Error loading .xm: The module is empty!"); + goto xmLoadError; + } + + // trim off spaces at end of name + for (k = 19; k >= 0; k--) + { + if (h.name[k] == ' ' || h.name[k] == 0x1A) + h.name[k] = '\0'; + else + break; + } + + memcpy(songTmp.name, h.name, 20); + songTmp.name[20] = '\0'; + + songTmp.len = h.len; + songTmp.repS = h.repS; + songTmp.antChn = (uint8_t)h.antChn; + songTmp.speed = h.defSpeed ? h.defSpeed : 125; + songTmp.tempo = h.defTempo ? h.defTempo : 6; + songTmp.ver = h.ver; + linearFreqTable = h.flags & 1; + + songTmp.speed = CLAMP(songTmp.speed, 32, 255); + if (songTmp.tempo > 31) + songTmp.tempo = 31; + + songTmp.initialTempo = songTmp.tempo; + + if (songTmp.globVol > 64) + songTmp.globVol = 64; + + if (songTmp.len == 0) + songTmp.len = 1; // songTmp.songTab is already empty + else + memcpy(songTmp.songTab, h.songTab, songTmp.len); + + if (songTmp.ver < 0x0104) + { + // old FT2 format + + for (i = 1; i <= h.antInstrs; i++) + { + if (!loadInstrHeader(f, i)) + { + showMsg(0, "System message", "Error loading .xm: Either a corrupt or a non-supported module!"); + goto xmLoadError; + } + } + + if (!loadPatterns(f, h.antPtn)) + { + // error message is shown inside loadPattern() + goto xmLoadError; + } + + for (i = 1; i <= h.antInstrs; i++) + { + if (!loadInstrSample(f, i)) + { + showMsg(0, "System message", "Not enough memory!"); + goto xmLoadError; + } + } + } + else + { + // current FT2 format + + if (!loadPatterns(f, h.antPtn)) + { + // error message is shown inside loadPattern() + goto xmLoadError; + } + + for (i = 1; i <= h.antInstrs; i++) + { + if (!loadInstrHeader(f, i)) + { + showMsg(0, "System message", "Error loading .xm: Either a corrupt or a non-supported module!"); + goto xmLoadError; + } + + if (!loadInstrSample(f, i)) + { + showMsg(0, "System message", "Not enough memory!"); + goto xmLoadError; + } + } + } + + if (stereoSamplesWarn) + showMsg(0, "System message", "Stereo samples were found and will be converted to mono."); + + fclose(f); + + moduleLoaded = true; + return true; + +xmLoadError: + fclose(f); + freeTmpModule(); + moduleFailedToLoad = true; + return false; +} + +static int32_t SDLCALL loadMusicThread(void *ptr) +{ + (void)ptr; + return doLoadMusic(true); +} + +void loadMusic(UNICHAR *filenameU) +{ + if (musicIsLoading) + return; + + mouseAnimOn(); + + musicIsLoading = true; + moduleLoaded = false; + moduleFailedToLoad = false; + loadedFormat = FORMAT_NONE; + + UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); + + // clear deprecated pointers from possible last loading session (super important) + memset(pattTmp, 0, sizeof (pattTmp)); + memset(instrTmp, 0, sizeof (instrTmp)); + + // prevent stuck instrument names from previous module + memset(&songTmp, 0, sizeof (songTmp)); + + for (uint32_t i = 0; i < MAX_PATTERNS; i++) + pattLensTmp[i] = 64; + + thread = SDL_CreateThread(loadMusicThread, NULL, NULL); + if (thread == NULL) + { + editor.loadMusicEvent = EVENT_NONE; + okBox(0, "System message", "Couldn't create thread!"); + musicIsLoading = false; + return; + } + + SDL_DetachThread(thread); +} + +bool loadMusicUnthreaded(UNICHAR *filenameU, bool autoPlay) +{ + if (filenameU == NULL || editor.tmpFilenameU == NULL) + return false; + + // clear deprecated pointers from possible last loading session (super important) + memset(pattTmp, 0, sizeof (pattTmp)); + memset(instrTmp, 0, sizeof (instrTmp)); + + // prevent stuck instrument names from previous module + memset(&songTmp, 0, sizeof (songTmp)); + + for (uint32_t i = 0; i < MAX_PATTERNS; i++) + pattLensTmp[i] = 64; + + UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); + + editor.loadMusicEvent = EVENT_NONE; + doLoadMusic(false); + + if (moduleLoaded) + { + setupLoadedModule(); + if (autoPlay) + startPlaying(PLAYMODE_SONG, 0); + + return true; + } + + return false; +} + +static void freeTmpModule(void) +{ + uint16_t i; + + // free all patterns + for (i = 0; i < MAX_PATTERNS; i++) + { + if (pattTmp[i] != NULL) + { + free(pattTmp[i]); + pattTmp[i] = NULL; + } + } + + // free all samples + for (i = 1; i <= MAX_INST; i++) + { + if (instrTmp[i] != NULL) + { + for (uint8_t j = 0; j < MAX_SMP_PER_INST; j++) + { + if (instrTmp[i]->samp[j].pek != NULL) + free(instrTmp[i]->samp[j].pek); + } + + free(instrTmp[i]); + instrTmp[i] = NULL; + } + } +} + +static bool loadInstrHeader(FILE *f, uint16_t i) +{ + int8_t k; + uint8_t j; + uint32_t readSize; + instrHeaderTyp ih; + instrTyp *ins; + sampleHeaderTyp *src; + sampleTyp *s; + + memset(&ih, 0, INSTR_HEADER_SIZE); + + fread(&ih.instrSize, 4, 1, f); + + readSize = ih.instrSize; + if (readSize < 4 || readSize > INSTR_HEADER_SIZE) + readSize = INSTR_HEADER_SIZE; + + // load instrument data into temp buffer + fread(ih.name, readSize-4, 1, f); // -4 = skip ih.instrSize + + // FT2 bugfix: skip instrument header data if instrSize is above INSTR_HEADER_SIZE + if (ih.instrSize > INSTR_HEADER_SIZE) + fseek(f, ih.instrSize - INSTR_HEADER_SIZE, SEEK_CUR); + + if (ih.antSamp > MAX_SMP_PER_INST) + return false; + + if (i <= MAX_INST) + { + // trim off spaces at end of name + for (k = 21; k >= 0; k--) + { + if (ih.name[k] == ' ' || ih.name[k] == 0x1A) + ih.name[k] = '\0'; + else + break; + } + + memcpy(songTmp.instrName[i], ih.name, 22); + songTmp.instrName[i][22] = '\0'; + } + + if (ih.antSamp > 0) + { + if (i <= MAX_INST) + { + if (!allocateTmpInstr(i)) + return false; + + // copy instrument header elements to our instrument struct + + ins = instrTmp[i]; + memcpy(ins->ta, ih.ta, 96); + memcpy(ins->envVP, ih.envVP, 12*2*sizeof(int16_t)); + memcpy(ins->envPP, ih.envPP, 12*2*sizeof(int16_t)); + ins->envVPAnt = ih.envVPAnt; + ins->envPPAnt = ih.envPPAnt; + ins->envVSust = ih.envVSust; + ins->envVRepS = ih.envVRepS; + ins->envVRepE = ih.envVRepE; + ins->envPSust = ih.envPSust; + ins->envPRepS = ih.envPRepS; + ins->envPRepE = ih.envPRepE; + ins->envVTyp = ih.envVTyp; + ins->envPTyp = ih.envPTyp; + ins->vibTyp = ih.vibTyp; + ins->vibSweep = ih.vibSweep; + ins->vibDepth = ih.vibDepth; + ins->vibRate = ih.vibRate; + ins->fadeOut = ih.fadeOut; + ins->midiOn = (ih.midiOn > 0) ? true : false; + ins->midiChannel = ih.midiChannel; + ins->midiProgram = ih.midiProgram; + ins->midiBend = ih.midiBend; + ins->mute = (ih.mute > 0) ? true : false; + ins->antSamp = ih.antSamp; // used in loadInstrSample() + + // sanitize stuff for broken/unsupported instruments + ins->midiProgram = CLAMP(ins->midiProgram, 0, 127); + ins->midiBend = CLAMP(ins->midiBend, 0, 36); + + if (ins->midiChannel > 15) ins->midiChannel = 15; + if (ins->vibDepth > 0x0F) ins->vibDepth = 0x0F; + if (ins->vibRate > 0x3F) ins->vibRate = 0x3F; + if (ins->vibTyp > 3) ins->vibTyp = 0; + + for (j = 0; j < 96; j++) + { + if (ins->ta[j] > 15) + ins->ta[j] = 15; + } + + if (ins->envVPAnt > 12) ins->envVPAnt = 12; + if (ins->envVRepS > 11) ins->envVRepS = 11; + if (ins->envVRepE > 11) ins->envVRepE = 11; + if (ins->envVSust > 11) ins->envVSust = 11; + if (ins->envPPAnt > 12) ins->envPPAnt = 12; + if (ins->envPRepS > 11) ins->envPRepS = 11; + if (ins->envPRepE > 11) ins->envPRepE = 11; + if (ins->envPSust > 11) ins->envPSust = 11; + + for (j = 0; j < 12; j++) + { + if ((uint16_t)ins->envVP[j][0] > 32767) ins->envVP[j][0] = 32767; + if ((uint16_t)ins->envPP[j][0] > 32767) ins->envPP[j][0] = 32767; + if ((uint16_t)ins->envVP[j][1] > 64) ins->envVP[j][1] = 64; + if ((uint16_t)ins->envPP[j][1] > 63) ins->envPP[j][1] = 63; + + } + } + + if (fread(ih.samp, ih.antSamp * sizeof (sampleHeaderTyp), 1, f) != 1) + return false; + + if (i <= MAX_INST) + { + for (j = 0; j < ih.antSamp; j++) + { + s = &instrTmp[i]->samp[j]; + src = &ih.samp[j]; + + // copy sample header elements to our sample struct + + s->len = src->len; + s->repS = src->repS; + s->repL = src->repL; + s->vol = src->vol; + s->fine = src->fine; + s->typ = src->typ; + s->pan = src->pan; + s->relTon = src->relTon; + memcpy(s->name, src->name, 22); + s->name[22] = '\0'; + + // dst->pek is set up later + + // trim off spaces at end of name + for (k = 21; k >= 0; k--) + { + if (s->name[k] == ' ' || s->name[k] == 0x1A) + s->name[k] = '\0'; + else + break; + } + + // sanitize stuff broken/unsupported samples + if (s->vol > 64) + s->vol = 64; + + s->relTon = CLAMP(s->relTon, -48, 71); + } + } + } + + return true; +} + +void checkSampleRepeat(sampleTyp *s) +{ + if (s->repS < 0) s->repS = 0; + if (s->repL < 0) s->repL = 0; + if (s->repS > s->len) s->repS = s->len; + if (s->repS+s->repL > s->len) s->repL = s->len - s->repS; + if (s->repL == 0) s->typ &= ~3; // non-FT2 fix: force loop off if looplen is 0 +} + +static bool loadInstrSample(FILE *f, uint16_t i) +{ + int8_t *newPtr; + uint16_t j, k; + int32_t l, bytesToSkip; + sampleTyp *s; + + if (i > MAX_INST || instrTmp[i] == NULL) + return true; // yes, let's just pretend they got loaded + + k = instrTmp[i]->antSamp; + for (j = 0; j < k; j++) + { + s = &instrTmp[i]->samp[j]; + + // if a sample has both forward loop and pingpong loop set, make it pingpong loop only (FT2 mixer behavior) + if ((s->typ & 3) == 3) + s->typ &= 0xFE; + + l = s->len; + if (l <= 0) + { + s->pek = NULL; + s->len = 0; + s->repL = 0; + s->repS = 0; + + if (s->typ & 32) + s->typ &= ~32; // remove stereo flag + } + else + { + bytesToSkip = 0; + if (l > MAX_SAMPLE_LEN) + { + bytesToSkip = l - MAX_SAMPLE_LEN; + l = MAX_SAMPLE_LEN; + } + + s->pek = NULL; + s->origPek = (int8_t *)malloc(l + LOOP_FIX_LEN); + if (s->origPek == NULL) + return false; + + s->pek = s->origPek + SMP_DAT_OFFSET; + + int32_t bytesRead = (int32_t)fread(s->pek, 1, l, f); + if (bytesRead < l) + { + int32_t bytesToClear = l - bytesRead; + memset(&s->pek[bytesRead], 0, bytesToClear); + } + + if (bytesToSkip > 0) + fseek(f, bytesToSkip, SEEK_CUR); + + delta2Samp(s->pek, l, s->typ); + + if (s->typ & 32) // stereo sample - already downmixed to mono in delta2samp() + { + s->typ &= ~32; // remove stereo flag + + s->len /= 2; + s->repL /= 2; + s->repS /= 2; + + newPtr = (int8_t *)realloc(s->origPek, s->len + LOOP_FIX_LEN); + if (newPtr != NULL) + { + s->origPek = newPtr; + s->pek = s->origPek + SMP_DAT_OFFSET; + } + + stereoSamplesWarn = true; + } + } + + // NON-FT2 FIX: Align to 2-byte if 16-bit sample + if (s->typ & 16) + { + s->repL &= 0xFFFFFFFE; + s->repS &= 0xFFFFFFFE; + s->len &= 0xFFFFFFFE; + } + + checkSampleRepeat(s); + fixSample(s); + } + + return true; +} + +void unpackPatt(uint8_t *dst, uint16_t inn, uint16_t len, uint8_t antChn) +{ + uint8_t note, data, *src; + int32_t srcEnd, srcIdx; + + if (dst == NULL) + return; + + src = dst + inn; + srcEnd = len * TRACK_WIDTH; + srcIdx = 0; + + for (int32_t i = 0; i < len; i++) + { + for (int32_t j = 0; j < antChn; j++) + { + if (srcIdx >= srcEnd) + return; // error! + + note = *src++; + if (note & 0x80) + { + data = 0; if (note & 0x01) data = *src++; *dst++ = data; + data = 0; if (note & 0x02) data = *src++; *dst++ = data; + data = 0; if (note & 0x04) data = *src++; *dst++ = data; + data = 0; if (note & 0x08) data = *src++; *dst++ = data; + data = 0; if (note & 0x10) data = *src++; *dst++ = data; + } + else + { + *dst++ = note; + *dst++ = *src++; + *dst++ = *src++; + *dst++ = *src++; + *dst++ = *src++; + } + + // if note is overflowing (>97), remove it + if (*(dst-5) > 97) + *(dst-5) = 0; + + // non-FT2 security fix: if effect is above 35 (Z), clear effect and parameter + if (*(dst-2) > 35) + { + *(dst-2) = 0; + *(dst-1) = 0; + } + + srcIdx += sizeof (tonTyp); + } + + // skip unused channels + dst += sizeof (tonTyp) * (MAX_VOICES - antChn); + } +} + +static bool tmpPatternEmpty(uint16_t nr) +{ + uint8_t *scanPtr; + uint32_t scanLen; + + if (pattTmp[nr] == NULL) + return true; + + scanPtr = (uint8_t *)pattTmp[nr]; + scanLen = pattLensTmp[nr] * TRACK_WIDTH; + + for (uint32_t i = 0; i < scanLen; i++) + { + if (scanPtr[i] != 0) + return false; + } + + return true; +} + +void clearUnusedChannels(tonTyp *p, int16_t pattLen, uint8_t antChn) +{ + if (p == NULL || antChn >= MAX_VOICES) + return; + + for (int32_t i = 0; i < pattLen; i++) + memset(&p[(i * MAX_VOICES) + antChn], 0, sizeof (tonTyp) * (MAX_VOICES - antChn)); +} + +static bool loadPatterns(FILE *f, uint16_t antPtn) +{ + bool pattLenWarn; + uint8_t tmpLen, *pattPtr; + uint16_t i, a; + patternHeaderTyp ph; + + pattLenWarn = false; + + for (i = 0; i < antPtn; i++) + { + if (fread(&ph.patternHeaderSize, 4, 1, f) != 1) + goto pattCorrupt; + + if (fread(&ph.typ, 1, 1, f) != 1) + goto pattCorrupt; + + ph.pattLen = 0; + if (songTmp.ver == 0x0102) + { + if (fread(&tmpLen, 1, 1, f) != 1) + goto pattCorrupt; + + if (fread(&ph.dataLen, 2, 1, f) != 1) + goto pattCorrupt; + + ph.pattLen = tmpLen + 1; // +1 in v1.02 + + if (ph.patternHeaderSize > 8) + fseek(f, ph.patternHeaderSize - 8, SEEK_CUR); + } + else + { + if (fread(&ph.pattLen, 2, 1, f) != 1) + goto pattCorrupt; + + if (fread(&ph.dataLen, 2, 1, f) != 1) + goto pattCorrupt; + + if (ph.patternHeaderSize > 9) + fseek(f, ph.patternHeaderSize - 9, SEEK_CUR); + } + + if (feof(f)) + goto pattCorrupt; + + pattLensTmp[i] = ph.pattLen; + + if (ph.dataLen > 0) + { + pattTmp[i] = (tonTyp *)calloc((MAX_PATT_LEN * TRACK_WIDTH) + 16, 1); + if (pattTmp[i] == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + return false; + } + + a = ph.pattLen * TRACK_WIDTH; + + pattPtr = (uint8_t *)pattTmp[i]; + memset(pattPtr, 0, a); + + if (fread(&pattPtr[a - ph.dataLen], 1, ph.dataLen, f) != ph.dataLen) + goto pattCorrupt; + + unpackPatt(pattPtr, a - ph.dataLen, ph.pattLen, songTmp.antChn); + clearUnusedChannels(pattTmp[i], pattLensTmp[i], songTmp.antChn); + } + + if (tmpPatternEmpty(i)) + { + if (pattTmp[i] != NULL) + { + free(pattTmp[i]); + pattTmp[i] = NULL; + } + + pattLensTmp[i] = 64; + } + + if (pattLensTmp[i] > 256) + { + pattLensTmp[i] = 64; + pattLenWarn = true; + } + } + + if (pattLenWarn) + okBoxThreadSafe(0, "System message", "The module contains pattern lengths above 256! They will be set to 64."); + + return true; + +pattCorrupt: + okBoxThreadSafe(0, "System message", "Error loading .xm: Either a corrupt or a non-supported module!"); + return false; +} + +// called from input/video thread after the module was done loading +static void setupLoadedModule(void) +{ + int16_t i; + + lockMixerCallback(); + + freeAllInstr(); + freeAllPatterns(); + + oldPlayMode = playMode; + playMode = PLAYMODE_IDLE; + songPlaying = false; + +#ifdef HAS_MIDI + midi.currMIDIVibDepth = 0; + midi.currMIDIPitch = 0; +#endif + + memset(editor.keyOnTab, 0, sizeof (editor.keyOnTab)); + + // copy over new pattern pointers and lengths + for (i = 0; i < MAX_PATTERNS; i++) + { + patt[i] = pattTmp[i]; + pattLens[i] = pattLensTmp[i]; + } + + // copy over new instruments (includes sample pointers) + for (i = 1; i <= MAX_INST; i++) + { + instr[i] = instrTmp[i]; + fixSampleName(i); + } + + // copy over song struct + memcpy(&song, &songTmp, sizeof (songTyp)); + fixSongName(); + + // we are the owners of the allocated memory ptrs set by the loader thread now + + // support non-even channel numbers + if (song.antChn & 1) + { + if (++song.antChn > MAX_VOICES) + song.antChn = MAX_VOICES; + } + + if (song.repS > song.len) + song.repS = 0; + + song.globVol = 64; + song.timer = 1; + + setScrollBarEnd(SB_POS_ED, (song.len - 1) + 5); + setScrollBarPos(SB_POS_ED, 0, false); + + resetChannels(); + setPos(0, 0, false); + setSpeed(song.speed); + + editor.tmpPattern = editor.editPattern; // set kludge variable + editor.speed = song.speed; + editor.tempo = song.tempo; + editor.timer = 1; + editor.globalVol = song.globVol; + + setFrqTab((loadedFormat == FORMAT_XM) ? linearFreqTable : false); + unlockMixerCallback(); + + editor.currVolEnvPoint = 0; + editor.currPanEnvPoint = 0; + + refreshScopes(); + exitTextEditing(); + updateTextBoxPointers(); + resetChannelOffset(); + updateChanNums(); + resetWavRenderer(); + clearPattMark(); + song.musicTime = 0; + resetTrimSizes(); + + diskOpSetFilename(DISKOP_ITEM_MODULE, editor.tmpFilenameU); + + // redraw top part of screen + if (editor.ui.extended) + { + togglePatternEditorExtended(); // exit + togglePatternEditorExtended(); // re-enter (force redrawing) + } + else + { + // redraw top screen + hideTopScreen(); + showTopScreen(true); + } + + updateSampleEditorSample(); + showBottomScreen(); // redraw bottom screen (also redraws pattern editor) + + if (editor.ui.instEditorShown) + drawPiano(); // redraw piano now (since if playing = wait for next tick update) + + removeSongModifiedFlag(); + + moduleFailedToLoad = false; + moduleLoaded = false; + editor.loadMusicEvent = EVENT_NONE; +} + +bool handleModuleLoadFromArg(int argc, char **argv) +{ + int32_t filesize; + uint32_t filenameLen; + UNICHAR *filenameU, tmpPathU[PATH_MAX+2]; + + // this is crude, we always expect only one parameter, and that it is the module. + + if (argc != 2 || argv[1] == NULL || argv[1][0] == '\0') + return false; + +#ifdef __APPLE__ + if (argc == 2 && !strncmp(argv[1], "-psn_", 5)) + return false; // OS X < 10.9 passes a -psn_x_xxxxx parameter on double-click launch +#endif + + filenameLen = (uint32_t)strlen(argv[1]); + + filenameU = (UNICHAR *)calloc(filenameLen+1, sizeof (UNICHAR)); + if (filenameU == NULL) + { + okBox(0, "System message", "Not enough memory!"); + return false; + } + +#ifdef _WIN32 + MultiByteToWideChar(CP_UTF8, 0, argv[1], -1, filenameU, filenameLen); +#else + strcpy(filenameU, argv[1]); +#endif + + // store old path + UNICHAR_GETCWD(tmpPathU, PATH_MAX); + + // set path to where the main executable is + UNICHAR_CHDIR(editor.binaryPathU); + + filesize = getFileSize(filenameU); + if (filesize == -1 || filesize >= 512L*1024*1024) // >=2GB or >=512MB + { + okBox(0, "System message", "Error: The module is too big to be loaded!"); + /* This is not really true, but let's add this check to prevent accidentally + ** passing really big files to the program. And how often do you really + ** see a >=512MB .XM/.S3M module? + */ + + free(filenameU); + UNICHAR_CHDIR(tmpPathU); // set old path back + return false; + } + + bool result = loadMusicUnthreaded(filenameU, true); + + free(filenameU); + UNICHAR_CHDIR(tmpPathU); // set old path back + return result; +} + +void loadDroppedFile(char *fullPathUTF8, bool songModifiedCheck) +{ + int32_t fullPathLen, filesize; + UNICHAR *fullPathU; + + if (editor.ui.sysReqShown || fullPathUTF8 == NULL) + return; + + fullPathLen = (int32_t)strlen(fullPathUTF8); + if (fullPathLen == 0) + return; + + fullPathU = (UNICHAR *)calloc(fullPathLen + 2, sizeof (UNICHAR)); + if (fullPathU == NULL) + { + okBox(0, "System message", "Not enough memory!"); + return; + } + +#ifdef _WIN32 + MultiByteToWideChar(CP_UTF8, 0, fullPathUTF8, -1, fullPathU, fullPathLen); +#else + strcpy(fullPathU, fullPathUTF8); +#endif + + filesize = getFileSize(fullPathU); + + if (filesize == -1) // >2GB + { + okBox(0, "System message", "The file is too big and can't be loaded (over 2GB)."); + free(fullPathU); + return; + } + + if (filesize >= 128L*1024*1024) // 128MB + { + if (okBox(2, "System request", "Are you sure you want to load such a big file?") != 1) + { + free(fullPathU); + return; + } + } + + // pass UTF8 to these tests so that we can test file ending in ASCII/ANSI + + if (fileIsInstrument(fullPathUTF8)) + { + loadInstr(fullPathU); + } + else if (fileIsSample(fullPathUTF8)) + { + loadSample(fullPathU, editor.curSmp, false); + } + else + { + SDL_RestoreWindow(video.window); + + if (songModifiedCheck && song.isModified) + { + // de-minimize window and set focus so that the user sees the message box + SDL_RestoreWindow(video.window); + SDL_RaiseWindow(video.window); + + if (!askUnsavedChanges(ASK_TYPE_LOAD_SONG)) + { + free(fullPathU); + return; + } + } + + editor.loadMusicEvent = EVENT_LOADMUSIC_DRAGNDROP; + loadMusic(fullPathU); + } + + free(fullPathU); +} + +static void handleOldPlayMode(void) +{ + playMode = oldPlayMode; + if (oldPlayMode != PLAYMODE_IDLE && oldPlayMode != PLAYMODE_EDIT) + startPlaying(oldPlayMode, 0); + + songPlaying = (playMode >= PLAYMODE_SONG); +} + +// called from input/video thread after module load thread was finished +void handleLoadMusicEvents(void) +{ + if (!moduleLoaded && !moduleFailedToLoad) + return; // no event to handle + + if (moduleFailedToLoad) + { + // module failed to load from loading thread + musicIsLoading = false; + moduleFailedToLoad = false; + moduleLoaded = false; + editor.loadMusicEvent = EVENT_NONE; + setMouseBusy(false); + return; + } + + if (moduleLoaded) + { + // module was successfully loaded from loading thread + + switch (editor.loadMusicEvent) + { + // module dragged and dropped *OR* user double clicked a file associated with FT2 clone + case EVENT_LOADMUSIC_DRAGNDROP: + { + setupLoadedModule(); + if (editor.autoPlayOnDrop) + startPlaying(PLAYMODE_SONG, 0); + else + handleOldPlayMode(); + } + break; + + // filename passed as an exe argument *OR* user double clicked a file associated with FT2 clone + case EVENT_LOADMUSIC_ARGV: + { + setupLoadedModule(); + startPlaying(PLAYMODE_SONG, 0); + } + break; + + // module filename pressed in Disk Op. + case EVENT_LOADMUSIC_DISKOP: + { + setupLoadedModule(); + handleOldPlayMode(); + } + break; + + default: break; + } + + moduleLoaded = false; + editor.loadMusicEvent = EVENT_NONE; + musicIsLoading = false; + mouseAnimOff(); + } +} diff --git a/src/ft2_module_loader.h b/src/ft2_module_loader.h index 692fcca..c8d3655 100644 --- a/src/ft2_module_loader.h +++ b/src/ft2_module_loader.h @@ -1,13 +1,14 @@ -#pragma once - -#include -#include -#include "ft2_unicode.h" - -void loadMusic(UNICHAR *filenameU); -//bool loadMusicUnthreaded(UNICHAR *filenameU); // for development testing -bool handleModuleLoadFromArg(int argc, char **argv); -void loadDroppedFile(char *fullPathUTF8, bool songModifiedCheck); -void handleLoadMusicEvents(void); -void clearUnusedChannels(tonTyp *p, int16_t pattLen, uint8_t antChn); -void unpackPatt(uint8_t *dst, uint16_t inn, uint16_t len, uint8_t antChn); +#pragma once + +#include +#include +#include "ft2_unicode.h" + +void loadMusic(UNICHAR *filenameU); +bool loadMusicUnthreaded(UNICHAR *filenameU, bool autoPlay); +bool handleModuleLoadFromArg(int argc, char **argv); +void loadDroppedFile(char *fullPathUTF8, bool songModifiedCheck); +void handleLoadMusicEvents(void); +void clearUnusedChannels(tonTyp *p, int16_t pattLen, uint8_t antChn); +void unpackPatt(uint8_t *dst, uint16_t inn, uint16_t len, uint8_t antChn); +void checkSampleRepeat(sampleTyp *s); diff --git a/src/ft2_module_saver.c b/src/ft2_module_saver.c index 3c23768..13c8bfb 100644 --- a/src/ft2_module_saver.c +++ b/src/ft2_module_saver.c @@ -1,652 +1,700 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include "ft2_header.h" -#include "ft2_audio.h" -#include "ft2_gui.h" -#include "ft2_mouse.h" -#include "ft2_sample_ed.h" -#include "ft2_module_loader.h" - -/* These savers are directly ported, so they should act identical to FT2 -** except for some very minor changes. */ - -static SDL_Thread *thread; - -static uint16_t packPatt(uint8_t *pattPtr, uint16_t numRows); - -// ft2_replayer.c -extern const char modSig[32][5]; -extern const uint16_t amigaPeriod[12*8]; - -bool saveXM(UNICHAR *filenameU) -{ - uint8_t *pattPtr; - int16_t ap, ai, i, j, k, a; - uint16_t b, c; - size_t result; - songHeaderTyp h; - patternHeaderTyp ph; - instrHeaderTyp ih; - sampleTyp *srcSmp; - sampleHeaderTyp *dstSmp; - FILE *f; - - f = UNICHAR_FOPEN(filenameU, "wb"); - if (f == NULL) - { - okBoxThreadSafe(0, "System message", "Error opening file for saving, is it in use?"); - return false; - } - - memcpy(h.sig, "Extended Module: ", 17); - memset(h.name, ' ', 20); - h.name[20] = 0x1A; - memcpy(h.name, song.name, strlen(song.name)); - memcpy(h.progName, PROG_NAME_STR, 20); - h.ver = 0x0104; - h.headerSize = 20 + 256; - h.len = song.len; - h.repS = song.repS; - h.antChn = song.antChn; - h.defTempo = song.tempo; - h.defSpeed = song.speed; - - // count number of patterns - ap = MAX_PATTERNS; - do - { - if (patternEmpty(ap - 1)) - ap--; - else - break; - } - while (ap > 0); - h.antPtn = ap; - - // count number of instruments - ai = 128; - while (ai > 0 && getUsedSamples(ai) == 0 && song.instrName[ai][0] == '\0') - ai--; - h.antInstrs = ai; - - h.flags = linearFrqTab; - memcpy(h.songTab, song.songTab, sizeof (song.songTab)); - - if (fwrite(&h, sizeof (h), 1, f) != 1) - { - fclose(f); - okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); - return false; - } - - for (i = 0; i < ap; i++) - { - if (patternEmpty(i)) - { - if (patt[i] != NULL) - { - free(patt[i]); - patt[i] = NULL; - } - - pattLens[i] = 64; - } - - ph.patternHeaderSize = sizeof (patternHeaderTyp); - ph.pattLen = pattLens[i]; - ph.typ = 0; - - if (patt[i] == NULL) - { - ph.dataLen = 0; - if (fwrite(&ph, ph.patternHeaderSize, 1, f) != 1) - { - fclose(f); - okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); - return false; - } - } - else - { - c = packPatt((uint8_t *)patt[i], pattLens[i]); - b = pattLens[i] * TRACK_WIDTH; - ph.dataLen = c; - - result = fwrite(&ph, ph.patternHeaderSize, 1, f); - result += fwrite(patt[i], ph.dataLen, 1, f); - - pattPtr = (uint8_t *)patt[i]; - - memcpy(&pattPtr[b-c], patt[i], c); - unpackPatt(pattPtr, b - c, pattLens[i], song.antChn); - clearUnusedChannels(patt[i], pattLens[i], song.antChn); - - if (result != 2) // write was not OK - { - fclose(f); - okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); - return false; - } - } - } - - for (i = 1; i <= ai; i++) - { - if (instr[i] == NULL) - j = 0; - else - j = i; - - a = getUsedSamples(i); - - memset(ih.name, 0, 22); - memcpy(ih.name, song.instrName[i], strlen(song.instrName[i])); - - ih.typ = 0; - ih.antSamp = a; - ih.sampleSize = sizeof (sampleHeaderTyp); - - if (a > 0) - { - memcpy(ih.ta, instr[j], INSTR_SIZE); - ih.instrSize = INSTR_HEADER_SIZE; - - for (k = 1; k <= a; k++) - { - srcSmp = &instr[j]->samp[k-1]; - dstSmp = &ih.samp[k-1]; - - memset(dstSmp->name, ' ', 22); - - memcpy(dstSmp, srcSmp, 12+4+2 + strlen(srcSmp->name)); - if (srcSmp->pek == NULL) - dstSmp->len = 0; - } - } - else - { - ih.instrSize = 22 + 11; - } - - if (fwrite(&ih, ih.instrSize + (a * sizeof (sampleHeaderTyp)), 1, f) != 1) - { - fclose(f); - okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); - return false; - } - - for (k = 1; k <= a; k++) - { - srcSmp = &instr[j]->samp[k-1]; - if (srcSmp->pek != NULL) - { - restoreSample(srcSmp); - samp2Delta(srcSmp->pek, srcSmp->len, srcSmp->typ); - - result = fwrite(srcSmp->pek, 1, srcSmp->len, f); - - delta2Samp(srcSmp->pek, srcSmp->len, srcSmp->typ); - fixSample(srcSmp); - - if (result != (size_t)srcSmp->len) // write not OK - { - fclose(f); - okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); - return false; - } - } - } - } - - removeSongModifiedFlag(); - - fclose(f); - - editor.diskOpReadDir = true; // force diskop re-read - - setMouseBusy(false); - return true; -} - -static bool saveMOD(UNICHAR *filenameU) -{ - bool test, tooManyInstr, incompatEfx, noteUnderflow; - int8_t *srcPtr, *dstPtr; - uint8_t ton, inst, pattBuff[64*4*32]; - int16_t a, i, ap; - int32_t j, k, l1, l2, l3, writeLen, bytesToWrite, bytesWritten; - FILE *f; - instrTyp *ins; - sampleTyp *smp; - tonTyp *t; - songMOD31HeaderTyp hm; - - tooManyInstr = false; - incompatEfx = false; - noteUnderflow = false; - - if (linearFrqTab) - okBoxThreadSafe(0, "System message", "Linear frequency table used!"); - - // sanity checking - - test = false; - if (song.len > 128) - test = true; - - for (i = 100; i < 256; i++) - { - if (patt[i] != NULL) - { - test = true; - break; - } - } - if (test) okBoxThreadSafe(0, "System message", "Too many patterns!"); - - for (i = 32; i <= 128; i++) - { - if (getRealUsedSamples(i) > 0) - { - okBoxThreadSafe(0, "System message", "Too many instruments!"); - break; - } - } - - test = false; - for (i = 1; i <= 31; i++) - { - ins = instr[i]; - if (ins == NULL) - continue; - - smp = &ins->samp[0]; - - j = getRealUsedSamples(i); - if (j > 1) - { - test = true; - break; - } - - if (j == 1) - { - if (smp->len > 65534 || ins->fadeOut != 0 || ins->envVTyp != 0 || ins->envPTyp != 0 || - (smp->typ & 3) == 2 || smp->relTon != 0 || ins->midiOn) - { - test = true; - break; - } - } - } - if (test) okBoxThreadSafe(0, "System message", "Incompatible instruments!"); - - for (i = 0; i < 99; i++) - { - if (patt[i] != NULL) - { - if (pattLens[i] != 64) - { - okBoxThreadSafe(0, "System message", "Unable to convert module. (Illegal pattern length)"); - return false; - } - - for (j = 0; j < 64; j++) - { - for (k = 0; k < song.antChn; k++) - { - t = &patt[i][(j * MAX_VOICES) + k]; - - if (t->instr > 31) - tooManyInstr = true; - - if (t->effTyp > 15 || t->vol != 0) - incompatEfx = true; - - // added security that wasn't present in FT2 - if (t->ton > 0 && t->ton < 10) - noteUnderflow = true; - } - } - } - } - if (tooManyInstr) okBoxThreadSafe(0, "System message", "Instrument(s) above 31 was found in pattern data!"); - if (incompatEfx) okBoxThreadSafe(0, "System message", "Incompatible effect(s) was found in pattern data!"); - if (noteUnderflow) okBoxThreadSafe(0, "System message", "Note(s) below A-0 were found in pattern data!"); - - // setup header buffer - memset(&hm, 0, sizeof (hm)); - memcpy(hm.name, song.name, sizeof (hm.name)); - hm.len = (uint8_t)song.len; - if (hm.len > 128) hm.len = 128; - hm.repS = (uint8_t)song.repS; - if (hm.repS > 127) hm.repS = 0; - memcpy(hm.songTab, song.songTab, song.len); - - // calculate number of patterns - ap = 0; - for (i = 0; i < song.len; i++) - { - if (song.songTab[i] > ap) - ap = song.songTab[i]; - } - - if (song.antChn == 4) - memcpy(hm.sig, (ap > 64) ? "M!K!" : "M.K.", 4); - else - memcpy(hm.sig, modSig[song.antChn-1], 4); - - // read sample information into header buffer - for (i = 1; i <= 31; i++) - { - songMODInstrHeaderTyp *modIns = &hm.instr[i-1]; - - memcpy(modIns->name, song.instrName[i], sizeof (modIns->name)); - if (instr[i] != NULL && getRealUsedSamples(i) != 0) - { - smp = &instr[i]->samp[0]; - - l1 = smp->len / 2; - l2 = smp->repS / 2; - l3 = smp->repL / 2; - - if (smp->typ & 16) - { - l1 /= 2; - l2 /= 2; - l3 /= 2; - } - - if (l1 > 32767) - l1 = 32767; - - if (l2 > l1) - l2 = l1; - - if (l2+l3 > l1) - l3 = l1 - l2; - - // FT2 bug-fix - if (l3 < 1) - { - l2 = 0; - l3 = 1; - } - - modIns->len = (uint16_t)(SWAP16(l1)); - modIns->fine = ((smp->fine + 128) >> 4) ^ 8; - modIns->vol = smp->vol; - - if ((smp->typ & 3) == 0) - { - modIns->repS = 0; - modIns->repL = SWAP16(1); - } - else - { - modIns->repS = (uint16_t)(SWAP16(l2)); - modIns->repL = (uint16_t)(SWAP16(l3)); - } - } - - // FT2 bugfix: never allow replen being below 2 (1) - if (SWAP16(modIns->repL) < 1) - { - modIns->repS = SWAP16(0); - modIns->repL = SWAP16(1); - } - } - - f = UNICHAR_FOPEN(filenameU, "wb"); - if (f == NULL) - { - okBoxThreadSafe(0, "System message", "Error opening file for saving, is it in use?"); - return false; - } - - // write header - if (fwrite(&hm, 1, sizeof (hm), f) != sizeof (hm)) - { - okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); - goto modSaveError; - } - - // write pattern data - for (i = 0; i <= ap; i++) - { - if (patt[i] == NULL) - { - // empty pattern - memset(pattBuff, 0, song.antChn * (64 * 4)); - } - else - { - a = 0; - for (j = 0; j < 64; j++) - { - for (k = 0; k < song.antChn; k++) - { - t = &patt[i][(j * MAX_VOICES) + k]; - - inst = t->instr; - ton = t->ton; - - // FT2 bugfix: prevent overflow - if (inst > 31) - inst = 0; - - // FT2 bugfix: convert note-off into no note - if (ton == 97) - ton = 0; - - // FT2 bugfix: clamp notes below 10 (A-0) to prevent 12-bit period overflow - if (ton > 0 && ton < 10) - ton = 10; - - if (ton == 0) - { - pattBuff[a+0] = inst & 0xF0; - pattBuff[a+1] = 0; - } - else - { - pattBuff[a+0] = (inst & 0xF0) | ((amigaPeriod[ton-1] >> 8) & 0x0F); - pattBuff[a+1] = amigaPeriod[ton-1] & 0xFF; - } - - // FT2 bugfix: if effect is overflowing (0xF in .MOD), set effect and param to 0 - if (t->effTyp > 0x0F) - { - pattBuff[a+2] = (inst & 0x0F) << 4; - pattBuff[a+3] = 0; - } - else - { - pattBuff[a+2] = ((inst & 0x0F) << 4) | (t->effTyp & 0x0F); - pattBuff[a+3] = t->eff; - } - - a += 4; - } - } - } - - if (fwrite(pattBuff, 1, song.antChn * (64 * 4), f) != (size_t)(song.antChn * (64 * 4))) - { - okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); - goto modSaveError; - } - } - - // write sample data - for (i = 0; i < 31; i++) - { - if (instr[1+i] == NULL || getRealUsedSamples(1+i) == 0) - continue; - - smp = &instr[1+i]->samp[0]; - if (smp->pek == NULL || smp->len <= 0) - continue; - - restoreSample(smp); - - l1 = smp->len / 2; - if (smp->typ & 16) // 16-bit sample (convert to 8-bit) - { - if (l1 > 65534) - l1 = 65534; - - // let's borrow "pattBuff" here - dstPtr = (int8_t *)pattBuff; - - writeLen = l1; - bytesWritten = 0; - while (bytesWritten < writeLen) // write in 8K blocks - { - bytesToWrite = sizeof (pattBuff); - if (bytesWritten+bytesToWrite > writeLen) - bytesToWrite = writeLen - bytesWritten; - - srcPtr = &smp->pek[(bytesWritten << 1) + 1]; // +1 to align to high byte - for (j = 0; j < bytesToWrite; j++) - dstPtr[j] = srcPtr[j << 1]; - - if (fwrite(dstPtr, 1, bytesToWrite, f) != (size_t)bytesToWrite) - { - fixSample(smp); - okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); - goto modSaveError; - } - - bytesWritten += bytesToWrite; - } - } - else - { - // 8-bit sample - - if (l1 > 32767) - l1 = 32767; - l1 *= 2; - - if (fwrite(smp->pek, 1, l1, f) != (size_t)l1) - { - fixSample(smp); - okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); - goto modSaveError; - } - } - - fixSample(smp); - } - - fclose(f); - removeSongModifiedFlag(); - - editor.diskOpReadDir = true; // force diskop re-read - - setMouseBusy(false); - return true; - -modSaveError: - fclose(f); - return false; -} - -static int32_t SDLCALL saveMusicThread(void *ptr) -{ - (void)ptr; - - assert(editor.tmpFilenameU != NULL); - if (editor.tmpFilenameU == NULL) - return false; - - pauseAudio(); - - if (editor.moduleSaveMode == 1) - saveXM(editor.tmpFilenameU); - else - saveMOD(editor.tmpFilenameU); - - resumeAudio(); - return true; -} - -void saveMusic(UNICHAR *filenameU) -{ - UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); - - mouseAnimOn(); - thread = SDL_CreateThread(saveMusicThread, NULL, NULL); - if (thread == NULL) - { - okBoxThreadSafe(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -static uint16_t packPatt(uint8_t *pattPtr, uint16_t numRows) -{ - uint8_t bytes[5], packBits, *writePtr, *firstBytePtr; - uint16_t totalPackLen; - - totalPackLen = 0; - - if (pattPtr == NULL) - return 0; - - writePtr = pattPtr; - for (uint16_t row = 0; row < numRows; row++) - { - for (uint16_t chn = 0; chn < song.antChn; chn++) - { - bytes[0] = *pattPtr++; - bytes[1] = *pattPtr++; - bytes[2] = *pattPtr++; - bytes[3] = *pattPtr++; - bytes[4] = *pattPtr++; - - firstBytePtr = writePtr++; - - packBits = 0; - if (bytes[0] > 0) { packBits |= 1; *writePtr++ = bytes[0]; } // note - if (bytes[1] > 0) { packBits |= 2; *writePtr++ = bytes[1]; } // instrument - if (bytes[2] > 0) { packBits |= 4; *writePtr++ = bytes[2]; } // volume column - if (bytes[3] > 0) { packBits |= 8; *writePtr++ = bytes[3]; } // effect - - if (packBits == 15) // first four bits set? - { - // no packing needed, write pattern data as is - - // point to first byte (and overwrite data) - writePtr = firstBytePtr; - - *writePtr++ = bytes[0]; - *writePtr++ = bytes[1]; - *writePtr++ = bytes[2]; - *writePtr++ = bytes[3]; - *writePtr++ = bytes[4]; - - totalPackLen += 5; - continue; - } - - if (bytes[4] > 0) { packBits |= 16; *writePtr++ = bytes[4]; } // effect parameter - - *firstBytePtr = packBits | 128; // write pack bits byte - totalPackLen += (uint16_t)(writePtr - firstBytePtr); // bytes writen - } - - // skip unused channels - pattPtr += sizeof (tonTyp) * (MAX_VOICES - song.antChn); - } - - return totalPackLen; -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include "ft2_header.h" +#include "ft2_audio.h" +#include "ft2_gui.h" +#include "ft2_mouse.h" +#include "ft2_sample_ed.h" +#include "ft2_module_loader.h" +#include "ft2_tables.h" + +/* These savers are directly ported, so they should act identical to FT2 +** except for some very minor changes. +*/ + +static SDL_Thread *thread; + +static uint16_t packPatt(uint8_t *pattPtr, uint16_t numRows); + +static const char modSig[32][5] = +{ + "1CHN", "2CHN", "3CHN", "4CHN", "5CHN", "6CHN", "7CHN", "8CHN", + "9CHN", "10CH", "11CH", "12CH", "13CH", "14CH", "15CH", "16CH", + "17CH", "18CH", "19CH", "20CH", "21CH", "22CH", "23CH", "24CH", + "25CH", "26CH", "27CH", "28CH", "29CH", "30CH", "31CH", "32CH" +}; + +// ft2_replayer.c +extern const uint16_t amigaPeriod[12*8]; + +bool saveXM(UNICHAR *filenameU) +{ + uint8_t *pattPtr; + int16_t ap, ai, i, j, k, a; + uint16_t b, c; + size_t result; + songHeaderTyp h; + patternHeaderTyp ph; + instrTyp *ins; + instrHeaderTyp ih; + sampleTyp *s; + sampleHeaderTyp *dst; + FILE *f; + + f = UNICHAR_FOPEN(filenameU, "wb"); + if (f == NULL) + { + okBoxThreadSafe(0, "System message", "Error opening file for saving, is it in use?"); + return false; + } + + memcpy(h.sig, "Extended Module: ", 17); + memset(h.name, ' ', 20); + h.name[20] = 0x1A; + memcpy(h.name, song.name, strlen(song.name)); + memcpy(h.progName, PROG_NAME_STR, 20); + h.ver = 0x0104; + h.headerSize = 20 + 256; + h.len = song.len; + h.repS = song.repS; + h.antChn = song.antChn; + h.defTempo = song.tempo; + h.defSpeed = song.speed; + + // count number of patterns + ap = MAX_PATTERNS; + do + { + if (patternEmpty(ap - 1)) + ap--; + else + break; + } + while (ap > 0); + h.antPtn = ap; + + // count number of instruments + ai = 128; + while (ai > 0 && getUsedSamples(ai) == 0 && song.instrName[ai][0] == '\0') + ai--; + h.antInstrs = ai; + + h.flags = linearFrqTab; + memcpy(h.songTab, song.songTab, sizeof (song.songTab)); + + if (fwrite(&h, sizeof (h), 1, f) != 1) + { + fclose(f); + okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); + return false; + } + + for (i = 0; i < ap; i++) + { + if (patternEmpty(i)) + { + if (patt[i] != NULL) + { + free(patt[i]); + patt[i] = NULL; + } + + pattLens[i] = 64; + } + + ph.patternHeaderSize = sizeof (patternHeaderTyp); + ph.pattLen = pattLens[i]; + ph.typ = 0; + + if (patt[i] == NULL) + { + ph.dataLen = 0; + if (fwrite(&ph, ph.patternHeaderSize, 1, f) != 1) + { + fclose(f); + okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); + return false; + } + } + else + { + c = packPatt((uint8_t *)patt[i], pattLens[i]); + b = pattLens[i] * TRACK_WIDTH; + ph.dataLen = c; + + result = fwrite(&ph, ph.patternHeaderSize, 1, f); + result += fwrite(patt[i], ph.dataLen, 1, f); + + pattPtr = (uint8_t *)patt[i]; + + memcpy(&pattPtr[b-c], patt[i], c); + unpackPatt(pattPtr, b - c, pattLens[i], song.antChn); + clearUnusedChannels(patt[i], pattLens[i], song.antChn); + + if (result != 2) // write was not OK + { + fclose(f); + okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); + return false; + } + } + } + + memset(&ih, 0, sizeof (ih)); // important, clears reserved stuff + + for (i = 1; i <= ai; i++) + { + if (instr[i] == NULL) + j = 0; + else + j = i; + + a = getUsedSamples(i); + + memset(ih.name, 0, 22); + memcpy(ih.name, song.instrName[i], strlen(song.instrName[i])); + + ih.typ = 0; + ih.antSamp = a; + ih.sampleSize = sizeof (sampleHeaderTyp); + + if (a > 0) + { + ins = instr[j]; + + memcpy(ih.ta, ins->ta, 96); + memcpy(ih.envVP, ins->envVP, 12*2*sizeof(int16_t)); + memcpy(ih.envPP, ins->envPP, 12*2*sizeof(int16_t)); + ih.envVPAnt = ins->envVPAnt; + ih.envPPAnt = ins->envPPAnt; + ih.envVSust = ins->envVSust; + ih.envVRepS = ins->envVRepS; + ih.envVRepE = ins->envVRepE; + ih.envPSust = ins->envPSust; + ih.envPRepS = ins->envPRepS; + ih.envPRepE = ins->envPRepE; + ih.envVTyp = ins->envVTyp; + ih.envPTyp = ins->envPTyp; + ih.vibTyp = ins->vibTyp; + ih.vibSweep = ins->vibSweep; + ih.vibDepth = ins->vibDepth; + ih.vibRate = ins->vibRate; + ih.fadeOut = ins->fadeOut; + ih.midiOn = ins->midiOn ? 1 : 0; + ih.midiChannel = ins->midiChannel; + ih.midiProgram = ins->midiProgram; + ih.midiBend = ins->midiBend; + ih.mute = ins->mute ? 1 : 0; + ih.instrSize = INSTR_HEADER_SIZE; + + for (k = 0; k < a; k++) + { + s = &instr[j]->samp[k]; + dst = &ih.samp[k]; + + dst->len = s->len; + dst->repS = s->repS; + dst->repL = s->repL; + dst->vol = s->vol; + dst->fine = s->fine; + dst->typ = s->typ; + dst->pan = s->pan; + dst->relTon = s->relTon; + + uint8_t nameLen = (uint8_t)strlen(s->name); + + dst->nameLen = nameLen; + memset(dst->name, ' ', 22); + memcpy(dst->name, s->name, nameLen); + + if (s->pek == NULL) + dst->len = 0; + } + } + else + { + ih.instrSize = 22 + 11; + } + + if (fwrite(&ih, ih.instrSize + (a * sizeof (sampleHeaderTyp)), 1, f) != 1) + { + fclose(f); + okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); + return false; + } + + for (k = 1; k <= a; k++) + { + s = &instr[j]->samp[k-1]; + if (s->pek != NULL) + { + restoreSample(s); + samp2Delta(s->pek, s->len, s->typ); + + result = fwrite(s->pek, 1, s->len, f); + + delta2Samp(s->pek, s->len, s->typ); + fixSample(s); + + if (result != (size_t)s->len) // write not OK + { + fclose(f); + okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); + return false; + } + } + } + } + + removeSongModifiedFlag(); + + fclose(f); + + editor.diskOpReadDir = true; // force diskop re-read + + setMouseBusy(false); + return true; +} + +static bool saveMOD(UNICHAR *filenameU) +{ + bool test, tooManyInstr, incompatEfx, noteUnderflow; + int8_t *srcPtr, *dstPtr; + uint8_t ton, inst, pattBuff[64*4*32]; + int16_t a, i, ap; + int32_t j, k, l1, l2, l3, writeLen, bytesToWrite, bytesWritten; + FILE *f; + instrTyp *ins; + sampleTyp *smp; + tonTyp *t; + songMOD31HeaderTyp hm; + + tooManyInstr = false; + incompatEfx = false; + noteUnderflow = false; + + if (linearFrqTab) + okBoxThreadSafe(0, "System message", "Linear frequency table used!"); + + // sanity checking + + test = false; + if (song.len > 128) + test = true; + + for (i = 100; i < 256; i++) + { + if (patt[i] != NULL) + { + test = true; + break; + } + } + if (test) okBoxThreadSafe(0, "System message", "Too many patterns!"); + + for (i = 32; i <= 128; i++) + { + if (getRealUsedSamples(i) > 0) + { + okBoxThreadSafe(0, "System message", "Too many instruments!"); + break; + } + } + + test = false; + for (i = 1; i <= 31; i++) + { + ins = instr[i]; + if (ins == NULL) + continue; + + smp = &ins->samp[0]; + + j = getRealUsedSamples(i); + if (j > 1) + { + test = true; + break; + } + + if (j == 1) + { + if (smp->len > 65534 || ins->fadeOut != 0 || ins->envVTyp != 0 || ins->envPTyp != 0 || + (smp->typ & 3) == 2 || smp->relTon != 0 || ins->midiOn) + { + test = true; + break; + } + } + } + if (test) okBoxThreadSafe(0, "System message", "Incompatible instruments!"); + + for (i = 0; i < 99; i++) + { + if (patt[i] != NULL) + { + if (pattLens[i] != 64) + { + okBoxThreadSafe(0, "System message", "Unable to convert module. (Illegal pattern length)"); + return false; + } + + for (j = 0; j < 64; j++) + { + for (k = 0; k < song.antChn; k++) + { + t = &patt[i][(j * MAX_VOICES) + k]; + + if (t->instr > 31) + tooManyInstr = true; + + if (t->effTyp > 15 || t->vol != 0) + incompatEfx = true; + + // added security that wasn't present in FT2 + if (t->ton > 0 && t->ton < 10) + noteUnderflow = true; + } + } + } + } + if (tooManyInstr) okBoxThreadSafe(0, "System message", "Instrument(s) above 31 was found in pattern data!"); + if (incompatEfx) okBoxThreadSafe(0, "System message", "Incompatible effect(s) was found in pattern data!"); + if (noteUnderflow) okBoxThreadSafe(0, "System message", "Note(s) below A-0 were found in pattern data!"); + + // setup header buffer + memset(&hm, 0, sizeof (hm)); + memcpy(hm.name, song.name, sizeof (hm.name)); + hm.len = (uint8_t)song.len; + if (hm.len > 128) hm.len = 128; + hm.repS = (uint8_t)song.repS; + if (hm.repS > 127) hm.repS = 0; + memcpy(hm.songTab, song.songTab, song.len); + + // calculate number of patterns + ap = 0; + for (i = 0; i < song.len; i++) + { + if (song.songTab[i] > ap) + ap = song.songTab[i]; + } + + if (song.antChn == 4) + memcpy(hm.sig, (ap > 64) ? "M!K!" : "M.K.", 4); + else + memcpy(hm.sig, modSig[song.antChn-1], 4); + + // read sample information into header buffer + for (i = 1; i <= 31; i++) + { + songMODInstrHeaderTyp *modIns = &hm.instr[i-1]; + + memcpy(modIns->name, song.instrName[i], sizeof (modIns->name)); + if (instr[i] != NULL && getRealUsedSamples(i) != 0) + { + smp = &instr[i]->samp[0]; + + l1 = smp->len / 2; + l2 = smp->repS / 2; + l3 = smp->repL / 2; + + if (smp->typ & 16) + { + l1 /= 2; + l2 /= 2; + l3 /= 2; + } + + if (l1 > 32767) + l1 = 32767; + + if (l2 > l1) + l2 = l1; + + if (l2+l3 > l1) + l3 = l1 - l2; + + // FT2 bug-fix + if (l3 < 1) + { + l2 = 0; + l3 = 1; + } + + modIns->len = (uint16_t)(SWAP16(l1)); + modIns->fine = ((smp->fine + 128) >> 4) ^ 8; + modIns->vol = smp->vol; + + if ((smp->typ & 3) == 0) + { + modIns->repS = 0; + modIns->repL = SWAP16(1); + } + else + { + modIns->repS = (uint16_t)(SWAP16(l2)); + modIns->repL = (uint16_t)(SWAP16(l3)); + } + } + + // FT2 bugfix: never allow replen being below 2 (1) + if (SWAP16(modIns->repL) < 1) + { + modIns->repS = SWAP16(0); + modIns->repL = SWAP16(1); + } + } + + f = UNICHAR_FOPEN(filenameU, "wb"); + if (f == NULL) + { + okBoxThreadSafe(0, "System message", "Error opening file for saving, is it in use?"); + return false; + } + + // write header + if (fwrite(&hm, 1, sizeof (hm), f) != sizeof (hm)) + { + okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); + goto modSaveError; + } + + // write pattern data + for (i = 0; i <= ap; i++) + { + if (patt[i] == NULL) + { + // empty pattern + memset(pattBuff, 0, song.antChn * (64 * 4)); + } + else + { + a = 0; + for (j = 0; j < 64; j++) + { + for (k = 0; k < song.antChn; k++) + { + t = &patt[i][(j * MAX_VOICES) + k]; + + inst = t->instr; + ton = t->ton; + + // FT2 bugfix: prevent overflow + if (inst > 31) + inst = 0; + + // FT2 bugfix: convert note-off into no note + if (ton == 97) + ton = 0; + + // FT2 bugfix: clamp notes below 10 (A-0) to prevent 12-bit period overflow + if (ton > 0 && ton < 10) + ton = 10; + + if (ton == 0) + { + pattBuff[a+0] = inst & 0xF0; + pattBuff[a+1] = 0; + } + else + { + pattBuff[a+0] = (inst & 0xF0) | ((amigaPeriod[ton-1] >> 8) & 0x0F); + pattBuff[a+1] = amigaPeriod[ton-1] & 0xFF; + } + + // FT2 bugfix: if effect is overflowing (0xF in .MOD), set effect and param to 0 + if (t->effTyp > 0x0F) + { + pattBuff[a+2] = (inst & 0x0F) << 4; + pattBuff[a+3] = 0; + } + else + { + pattBuff[a+2] = ((inst & 0x0F) << 4) | (t->effTyp & 0x0F); + pattBuff[a+3] = t->eff; + } + + a += 4; + } + } + } + + if (fwrite(pattBuff, 1, song.antChn * (64 * 4), f) != (size_t)(song.antChn * (64 * 4))) + { + okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); + goto modSaveError; + } + } + + // write sample data + for (i = 0; i < 31; i++) + { + if (instr[1+i] == NULL || getRealUsedSamples(1+i) == 0) + continue; + + smp = &instr[1+i]->samp[0]; + if (smp->pek == NULL || smp->len <= 0) + continue; + + restoreSample(smp); + + l1 = smp->len / 2; + if (smp->typ & 16) // 16-bit sample (convert to 8-bit) + { + if (l1 > 65534) + l1 = 65534; + + // let's borrow "pattBuff" here + dstPtr = (int8_t *)pattBuff; + + writeLen = l1; + bytesWritten = 0; + while (bytesWritten < writeLen) // write in 8K blocks + { + bytesToWrite = sizeof (pattBuff); + if (bytesWritten+bytesToWrite > writeLen) + bytesToWrite = writeLen - bytesWritten; + + srcPtr = &smp->pek[(bytesWritten << 1) + 1]; // +1 to align to high byte + for (j = 0; j < bytesToWrite; j++) + dstPtr[j] = srcPtr[j << 1]; + + if (fwrite(dstPtr, 1, bytesToWrite, f) != (size_t)bytesToWrite) + { + fixSample(smp); + okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); + goto modSaveError; + } + + bytesWritten += bytesToWrite; + } + } + else + { + // 8-bit sample + + if (l1 > 32767) + l1 = 32767; + l1 *= 2; + + if (fwrite(smp->pek, 1, l1, f) != (size_t)l1) + { + fixSample(smp); + okBoxThreadSafe(0, "System message", "Error saving module: general I/O error!"); + goto modSaveError; + } + } + + fixSample(smp); + } + + fclose(f); + removeSongModifiedFlag(); + + editor.diskOpReadDir = true; // force diskop re-read + + setMouseBusy(false); + return true; + +modSaveError: + fclose(f); + return false; +} + +static int32_t SDLCALL saveMusicThread(void *ptr) +{ + (void)ptr; + + assert(editor.tmpFilenameU != NULL); + if (editor.tmpFilenameU == NULL) + return false; + + pauseAudio(); + + if (editor.moduleSaveMode == 1) + saveXM(editor.tmpFilenameU); + else + saveMOD(editor.tmpFilenameU); + + resumeAudio(); + return true; +} + +void saveMusic(UNICHAR *filenameU) +{ + UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); + + mouseAnimOn(); + thread = SDL_CreateThread(saveMusicThread, NULL, NULL); + if (thread == NULL) + { + okBoxThreadSafe(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +static uint16_t packPatt(uint8_t *pattPtr, uint16_t numRows) +{ + uint8_t bytes[5], packBits, *writePtr, *firstBytePtr; + uint16_t totalPackLen; + + totalPackLen = 0; + + if (pattPtr == NULL) + return 0; + + writePtr = pattPtr; + for (uint16_t row = 0; row < numRows; row++) + { + for (uint16_t chn = 0; chn < song.antChn; chn++) + { + bytes[0] = *pattPtr++; + bytes[1] = *pattPtr++; + bytes[2] = *pattPtr++; + bytes[3] = *pattPtr++; + bytes[4] = *pattPtr++; + + firstBytePtr = writePtr++; + + packBits = 0; + if (bytes[0] > 0) { packBits |= 1; *writePtr++ = bytes[0]; } // note + if (bytes[1] > 0) { packBits |= 2; *writePtr++ = bytes[1]; } // instrument + if (bytes[2] > 0) { packBits |= 4; *writePtr++ = bytes[2]; } // volume column + if (bytes[3] > 0) { packBits |= 8; *writePtr++ = bytes[3]; } // effect + + if (packBits == 15) // first four bits set? + { + // no packing needed, write pattern data as is + + // point to first byte (and overwrite data) + writePtr = firstBytePtr; + + *writePtr++ = bytes[0]; + *writePtr++ = bytes[1]; + *writePtr++ = bytes[2]; + *writePtr++ = bytes[3]; + *writePtr++ = bytes[4]; + + totalPackLen += 5; + continue; + } + + if (bytes[4] > 0) { packBits |= 16; *writePtr++ = bytes[4]; } // effect parameter + + *firstBytePtr = packBits | 128; // write pack bits byte + totalPackLen += (uint16_t)(writePtr - firstBytePtr); // bytes writen + } + + // skip unused channels + pattPtr += sizeof (tonTyp) * (MAX_VOICES - song.antChn); + } + + return totalPackLen; +} diff --git a/src/ft2_module_saver.h b/src/ft2_module_saver.h index bb61d41..573f38d 100644 --- a/src/ft2_module_saver.h +++ b/src/ft2_module_saver.h @@ -1,8 +1,8 @@ -#pragma once - -#include -#include -#include "ft2_unicode.h" - -void saveMusic(UNICHAR *filenameU); -bool saveXM(UNICHAR *filenameU); +#pragma once + +#include +#include +#include "ft2_unicode.h" + +void saveMusic(UNICHAR *filenameU); +bool saveXM(UNICHAR *filenameU); diff --git a/src/ft2_mouse.c b/src/ft2_mouse.c index 573aa1b..a2651bf 100644 --- a/src/ft2_mouse.c +++ b/src/ft2_mouse.c @@ -1,730 +1,864 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include "ft2_header.h" -#include "ft2_gui.h" -#include "ft2_video.h" -#include "ft2_scopes.h" -#include "ft2_help.h" -#include "ft2_sample_ed.h" -#include "ft2_inst_ed.h" -#include "ft2_pattern_ed.h" -#include "ft2_mouse.h" -#include "ft2_config.h" -#include "ft2_diskop.h" -#include "ft2_gfxdata.h" -#include "ft2_audioselector.h" -#include "ft2_midi.h" - -static bool mouseBusyGfxBackwards; -static int16_t mouseShape; -static int32_t mouseModeGfxOffs, mouseBusyGfxFrame; - -static SDL_Cursor *cArrow, *cIBeam, *cBusy; - -void freeSDL2Cursors(void) -{ - if (cArrow != NULL) - { - SDL_FreeCursor(cArrow); - cArrow = NULL; - } - - if (cIBeam != NULL) - { - SDL_FreeCursor(cIBeam); - cIBeam = NULL; - } - - if (cBusy != NULL) - { - SDL_FreeCursor(cBusy); - cBusy = NULL; - } - -} - -void createSDL2Cursors(void) -{ - cArrow = SDL_CreateSystemCursor(SDL_SYSTEM_CURSOR_ARROW); - cIBeam = SDL_CreateSystemCursor(SDL_SYSTEM_CURSOR_IBEAM); - cBusy = SDL_CreateSystemCursor(SDL_SYSTEM_CURSOR_WAIT); -} - -void setMousePosToCenter(void) -{ - if (video.fullscreen) - { - mouse.setPosX = video.displayW / 2; - mouse.setPosY = video.displayH / 2; - } - else - { - mouse.setPosX = video.renderW / 2; - mouse.setPosY = video.renderH / 2; - } - - mouse.setPosFlag = true; -} - -void animateBusyMouse(void) -{ - if (config.mouseAnimType == MOUSE_BUSY_SHAPE_CLOCK) - { - if ((editor.framesPassed % 7) == 6) - { - if (mouseBusyGfxBackwards) - { - if (--mouseBusyGfxFrame <= 0) - { - mouseBusyGfxFrame = 0; - mouseBusyGfxBackwards = false; - } - } - else - { - if (++mouseBusyGfxFrame >= MOUSE_CLOCK_ANI_FRAMES-1) - { - mouseBusyGfxFrame = MOUSE_CLOCK_ANI_FRAMES - 1; - mouseBusyGfxBackwards = true; - } - } - - changeSpriteData(SPRITE_MOUSE_POINTER, - &mouseCursorBusyClock[(mouseBusyGfxFrame % MOUSE_CLOCK_ANI_FRAMES) * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)]); - } - } - else - { - if ((editor.framesPassed % 5) == 4) - { - mouseBusyGfxFrame = (mouseBusyGfxFrame + 1) % MOUSE_GLASS_ANI_FRAMES; - - changeSpriteData(SPRITE_MOUSE_POINTER, - &mouseCursorBusyGlass[mouseBusyGfxFrame * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)]); - } - } -} - -void setMouseShape(int16_t shape) -{ - const uint8_t *gfxPtr; - - if (editor.busy) - { - if (config.mouseAnimType == MOUSE_BUSY_SHAPE_CLOCK) - gfxPtr = &mouseCursorBusyClock[(mouseBusyGfxFrame % MOUSE_GLASS_ANI_FRAMES) * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)]; - else - gfxPtr = &mouseCursorBusyGlass[(mouseBusyGfxFrame % MOUSE_CLOCK_ANI_FRAMES) * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)]; - } - else - { - gfxPtr = &mouseCursors[mouseModeGfxOffs]; - switch (shape) - { - case MOUSE_IDLE_SHAPE_NICE: gfxPtr += (0 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)); break; - case MOUSE_IDLE_SHAPE_UGLY: gfxPtr += (1 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)); break; - case MOUSE_IDLE_SHAPE_AWFUL: gfxPtr += (2 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)); break; - case MOUSE_IDLE_SHAPE_USEABLE: gfxPtr += (3 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)); break; - case MOUSE_IDLE_TEXT_EDIT: gfxPtr += (12 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)); break; - default: return; - } - } - - mouseShape = shape; - changeSpriteData(SPRITE_MOUSE_POINTER, gfxPtr); -} - -static void setTextEditMouse(void) -{ - setMouseShape(MOUSE_IDLE_TEXT_EDIT); - mouse.xBias = -2; - mouse.yBias = -6; - - if (config.specialFlags2 & HARDWARE_MOUSE && cIBeam != NULL) - SDL_SetCursor(cIBeam); -} - -static void clearTextEditMouse(void) -{ - setMouseShape(config.mouseType); - mouse.xBias = 0; - mouse.yBias = 0; - - if (config.specialFlags2 & HARDWARE_MOUSE && cArrow != NULL) - SDL_SetCursor(cArrow); -} - -static void changeCursorIfOverTextBoxes(void) -{ - int16_t i, mx, my; - textBox_t *t; - - mouse.mouseOverTextBox = false; - if (editor.busy || mouse.mode != MOUSE_MODE_NORMAL) - return; - - mx = mouse.x; - my = mouse.y; - - for (i = 0; i < NUM_TEXTBOXES; i++) - { - if (editor.ui.sysReqShown && i > 0) - continue; - - t = &textBoxes[i]; - if (!t->visible) - continue; - - if (!t->changeMouseCursor && (!editor.editTextFlag || i != mouse.lastEditBox)) - continue; // some kludge of sorts - - if (my >= t->y && my < t->y+t->h && mx >= t->x && mx < t->x+t->w) - { - mouse.mouseOverTextBox = true; - setTextEditMouse(); - return; - } - } - - // we're not inside a text edit box, set back mouse cursor - if (i == NUM_TEXTBOXES && mouseShape == MOUSE_IDLE_TEXT_EDIT) - clearTextEditMouse(); -} - -void setMouseMode(uint8_t mode) -{ - switch (mode) - { - case MOUSE_MODE_NORMAL: { mouse.mode = mode; mouseModeGfxOffs = 0 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); } break; - case MOUSE_MODE_DELETE: { mouse.mode = mode; mouseModeGfxOffs = 4 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); } break; - case MOUSE_MODE_RENAME: { mouse.mode = mode; mouseModeGfxOffs = 8 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); } break; - - default: return; - } - - setMouseShape(config.mouseType); -} - -void resetMouseBusyAnimation(void) -{ - mouseBusyGfxBackwards = false; - mouseBusyGfxFrame = 0; -} - -void setMouseBusy(bool busy) // can be called from other threads -{ - if (busy) - { - editor.ui.setMouseIdle = false; - editor.ui.setMouseBusy = true; - } - else - { - editor.ui.setMouseBusy = false; - editor.ui.setMouseIdle = true; - } -} - -void mouseAnimOn(void) -{ - editor.ui.setMouseBusy = false; - editor.ui.setMouseIdle = false; - - editor.busy = true; - setMouseShape(config.mouseAnimType); - - if (config.specialFlags2 & HARDWARE_MOUSE && cBusy != NULL) - SDL_SetCursor(cBusy); -} - -void mouseAnimOff(void) -{ - editor.ui.setMouseBusy = false; - editor.ui.setMouseIdle = false; - - editor.busy = false; - setMouseShape(config.mouseType); - - if (config.specialFlags2 & HARDWARE_MOUSE && cArrow != NULL) - SDL_SetCursor(cArrow); -} - -static void mouseWheelDecRow(void) -{ - int16_t pattPos; - - if (songPlaying) - return; - - pattPos = editor.pattPos - 1; - if (pattPos < 0) - pattPos = pattLens[editor.editPattern] - 1; - - setPos(-1, pattPos); -} - -static void mouseWheelIncRow(void) -{ - int16_t pattPos; - - if (songPlaying) - return; - - pattPos = editor.pattPos + 1; - if (pattPos > (pattLens[editor.editPattern] - 1)) - pattPos = 0; - - setPos(-1, pattPos); -} - -void mouseWheelHandler(bool directionUp) -{ - if (editor.ui.sysReqShown || editor.editTextFlag) - return; - - if (editor.ui.extended) - { - if (mouse.y <= 52) - { - if (mouse.x <= 111) directionUp ? decSongPos() : incSongPos(); - else if (mouse.x >= 386) directionUp ? decCurIns() : incCurIns(); - } - else - { - directionUp ? mouseWheelDecRow() : mouseWheelIncRow(); - } - - return; - } - - if (mouse.y < 173) - { - // top screens - - if (editor.ui.helpScreenShown) - { - // help screen - - if (directionUp) - { - helpScrollUp(); - helpScrollUp(); - } - else - { - helpScrollDown(); - helpScrollDown(); - } - } - else if (editor.ui.diskOpShown) - { - // disk op - 3x speed - if (mouse.x <= 355) - { - if (directionUp) - { - pbDiskOpListUp(); - pbDiskOpListUp(); - pbDiskOpListUp(); - } - else - { - pbDiskOpListDown(); - pbDiskOpListDown(); - pbDiskOpListDown(); - } - } - } - else if (editor.ui.configScreenShown) - { - if (editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES) - { - // audio device selectors - if (mouse.x >= 110 && mouse.x <= 355 && mouse.y <= 173) - { - if (mouse.y < 87) - directionUp ? scrollAudOutputDevListUp() : scrollAudOutputDevListDown(); - else - directionUp ? scrollAudInputDevListUp() : scrollAudInputDevListDown(); - } - } - else if (editor.currConfigScreen == CONFIG_SCREEN_MIDI_INPUT) - { - // midi input device selector - if (mouse.x >= 110 && mouse.x <= 503 && mouse.y <= 173) - directionUp ? scrollMidiInputDevListUp() : scrollMidiInputDevListDown(); - } - } - - if (!editor.ui.aboutScreenShown && !editor.ui.helpScreenShown && - !editor.ui.configScreenShown && !editor.ui.nibblesShown) - { - if (mouse.x >= 421 && mouse.y <= 173) - { - if (mouse.y <= 93) directionUp ? decCurIns() : incCurIns(); - else if (mouse.y >= 94) directionUp ? decCurSmp() : incCurSmp(); - } - else if (!editor.ui.diskOpShown && mouse.x <= 111 && mouse.y <= 76) - { - directionUp ? decSongPos() : incSongPos(); - } - } - } - else - { - // bottom screens - - if (editor.ui.sampleEditorShown) - { - if (mouse.y >= 174 && mouse.y <= 328) - directionUp ? mouseZoomSampleDataIn() : mouseZoomSampleDataOut(); - } - else if (editor.ui.patternEditorShown) - { - directionUp ? mouseWheelDecRow() : mouseWheelIncRow(); - } - } -} - -static bool testSamplerDataMouseDown(void) -{ - if (editor.ui.sampleEditorShown && mouse.y >= 174 && mouse.y <= 327 && editor.ui.sampleDataOrLoopDrag == -1) - { - handleSampleDataMouseDown(false); - return true; - } - - return false; -} - -static bool testPatternDataMouseDown(void) -{ - uint16_t y1, y2; - - if (editor.ui.patternEditorShown) - { - y1 = editor.ui.extended ? 56 : 176; - y2 = editor.ui.pattChanScrollShown ? 382 : 396; - - if (mouse.y >= y1 && mouse.y <= y2 && mouse.x >= 29 && mouse.x <= 602) - { - handlePatternDataMouseDown(false); - return true; - } - } - - return false; -} - -void mouseButtonUpHandler(uint8_t mouseButton) -{ -#ifndef __APPLE__ - if (!video.fullscreen) // release mouse button trap - SDL_SetWindowGrab(video.window, SDL_FALSE); -#endif - - if (mouseButton == SDL_BUTTON_LEFT) - { - mouse.leftButtonPressed = false; - mouse.leftButtonReleased = true; - - if (editor.ui.leftLoopPinMoving) - { - setLeftLoopPinState(false); - editor.ui.leftLoopPinMoving = false; - } - - if (editor.ui.rightLoopPinMoving) - { - setRightLoopPinState(false); - editor.ui.rightLoopPinMoving = false; - } - } - else if (mouseButton == SDL_BUTTON_RIGHT) - { - mouse.rightButtonPressed = false; - mouse.rightButtonReleased = true; - - - if (editor.editSampleFlag) - { - // right mouse button released after hand-editing sample data - if (instr[editor.curInstr] != NULL) - fixSample(&instr[editor.curInstr]->samp[editor.curSmp]); - - resumeAudio(); - - if (editor.ui.sampleEditorShown) - writeSample(true); - - setSongModifiedFlag(); - editor.editSampleFlag = false; - } - - } - - mouse.firstTimePressingButton = false; - mouse.buttonCounter = 0; - editor.textCursorBlinkCounter = 0; - - // if we used both mouse button at the same time and released *one*, don't release GUI object - if ( mouse.leftButtonPressed && !mouse.rightButtonPressed) return; - if (!mouse.leftButtonPressed && mouse.rightButtonPressed) return; - - if (editor.ui.sampleEditorShown) - testSmpEdMouseUp(); - - mouse.lastX = 0; - mouse.lastY = 0; - - editor.ui.sampleDataOrLoopDrag = -1; - - // check if we released a GUI object - testDiskOpMouseRelease(); - testPushButtonMouseRelease(true); - testCheckBoxMouseRelease(); - testScrollBarMouseRelease(); - testRadioButtonMouseRelease(); - - // revert "delete/rename" mouse modes (disk op.) - if (mouse.lastUsedObjectID != PB_DISKOP_DELETE && mouse.lastUsedObjectID != PB_DISKOP_RENAME) - { - if (mouse.mode != MOUSE_MODE_NORMAL) - setMouseMode(MOUSE_MODE_NORMAL); - } - - mouse.lastUsedObjectID = OBJECT_ID_NONE; - mouse.lastUsedObjectType = OBJECT_NONE; -} - -void mouseButtonDownHandler(uint8_t mouseButton) -{ -#ifndef __APPLE__ - if (!video.fullscreen) // trap mouse pointer while holding down left and/or right button - SDL_SetWindowGrab(video.window, SDL_TRUE); -#endif - - // if already holding left button and clicking right, don't do mouse down handling - if (mouseButton == SDL_BUTTON_RIGHT && mouse.leftButtonPressed) - { - if (editor.ui.sampleDataOrLoopDrag == -1) - { - mouse.rightButtonPressed = true; - mouse.rightButtonReleased = false; - } - - // kludge - we must do scope solo/unmute all here - if (!editor.ui.sysReqShown) - testScopesMouseDown(); - - return; - } - - // if already holding right button and clicking left, don't do mouse down handling - if (mouseButton == SDL_BUTTON_LEFT && mouse.rightButtonPressed) - { - if (editor.ui.sampleDataOrLoopDrag == -1) - { - mouse.leftButtonPressed = true; - mouse.leftButtonReleased = false; - } - - // kludge - we must do scope solo/unmute all here - if (!editor.ui.sysReqShown) - testScopesMouseDown(); - - return; - } - - if (mouseButton == SDL_BUTTON_LEFT) mouse.leftButtonPressed = true; - else if (mouseButton == SDL_BUTTON_RIGHT) mouse.rightButtonPressed = true; - - mouse.leftButtonReleased = false; - mouse.rightButtonReleased = false; - - // mouse 0,0 = open exit dialog - if (mouse.x == 0 && mouse.y == 0 && quitBox(false) == 1) - { - editor.throwExit = true; - return; - } - - // don't do mouse down testing here if we already are using an object - if (mouse.lastUsedObjectType != OBJECT_NONE) - return; - - // kludge #2 - if (mouse.lastUsedObjectType != OBJECT_PUSHBUTTON && mouse.lastUsedObjectID != OBJECT_ID_NONE) - return; - - // kludge #3 - if (!mouse.rightButtonPressed) - mouse.lastUsedObjectID = OBJECT_ID_NONE; - - // check if we pressed a GUI object - - /* test objects like this - clickable things *never* overlap, so no need to test all - ** other objects if we clicked on one already */ - - testInstrSwitcherMouseDown(); // kludge: allow right click to both change ins. and edit text - - if (testTextBoxMouseDown()) return; - if (testPushButtonMouseDown()) return; - if (testCheckBoxMouseDown()) return; - if (testScrollBarMouseDown()) return; - if (testRadioButtonMouseDown()) return; - - // from this point, we don't need to test more widgets if a system request box is shown - if (editor.ui.sysReqShown) - return; - - if (testInstrVolEnvMouseDown(false)) return; - if (testInstrPanEnvMouseDown(false)) return; - if (testDiskOpMouseDown(false)) return; - if (testPianoKeysMouseDown(false)) return; - if (testSamplerDataMouseDown()) return; - if (testPatternDataMouseDown()) return; - if (testScopesMouseDown()) return; - if (testAudioDeviceListsMouseDown()) return; - if (testMidiInputDeviceListMouseDown()) return; -} - -void handleLastGUIObjectDown(void) -{ - if (mouse.lastUsedObjectType == OBJECT_NONE) - return; - - if (mouse.leftButtonPressed || mouse.rightButtonPressed) - { - if (mouse.lastUsedObjectID != OBJECT_ID_NONE) - { - switch (mouse.lastUsedObjectType) - { - case OBJECT_PUSHBUTTON: handlePushButtonsWhileMouseDown(); break; - case OBJECT_RADIOBUTTON: handleRadioButtonsWhileMouseDown(); break; - case OBJECT_CHECKBOX: handleCheckBoxesWhileMouseDown(); break; - case OBJECT_SCROLLBAR: handleScrollBarsWhileMouseDown(); break; - case OBJECT_TEXTBOX: handleTextBoxWhileMouseDown(); break; - default: break; - } - } - else - { - // test non-standard GUI elements - switch (mouse.lastUsedObjectType) - { - case OBJECT_INSTRSWITCH: testInstrSwitcherMouseDown(); break; - case OBJECT_PATTERNMARK: handlePatternDataMouseDown(true); break; - case OBJECT_DISKOPLIST: testDiskOpMouseDown(true); break; - case OBJECT_SMPDATA: handleSampleDataMouseDown(true); break; - case OBJECT_PIANO: testPianoKeysMouseDown(true); break; - case OBJECT_INSVOLENV: testInstrVolEnvMouseDown(true); break; - case OBJECT_INSPANENV: testInstrPanEnvMouseDown(true); break; - default: break; - } - } - } -} - -void updateMouseScaling(void) -{ - double dScaleX, dScaleY; - - dScaleX = video.renderW / (double)SCREEN_W; - dScaleY = video.renderH / (double)SCREEN_H; - - video.xScaleMul = (dScaleX == 0.0) ? 65536 : (uint32_t)round(65536.0 / dScaleX); - video.yScaleMul = (dScaleY == 0.0) ? 65536 : (uint32_t)round(65536.0 / dScaleY); -} - -void readMouseXY(void) -{ - int16_t x, y; - int32_t mx, my; - - if (mouse.setPosFlag) - { - mouse.setPosFlag = false; - - if (SDL_GetWindowFlags(video.window) & SDL_WINDOW_SHOWN) - SDL_WarpMouseInWindow(video.window, mouse.setPosX, mouse.setPosY); - - return; - } - - SDL_PumpEvents(); // gathers all pending input from devices into the event queue (less mouse lag) - SDL_GetMouseState(&mx, &my); - - /* in centered fullscreen mode, trap the mouse inside the framed image - ** and subtract the coords to match the OS mouse position (fixes touch from touchscreens) */ - if (video.fullscreen && !(config.windowFlags & FILTERING)) - { - if (mx < video.renderX) - { - mx = video.renderX; - SDL_WarpMouseInWindow(video.window, mx, my); - } - else if (mx >= video.renderX+video.renderW) - { - mx = (video.renderX + video.renderW) - 1; - SDL_WarpMouseInWindow(video.window, mx, my); - } - - if (my < video.renderY) - { - my = video.renderY; - SDL_WarpMouseInWindow(video.window, mx, my); - } - else if (my >= video.renderY+video.renderH) - { - my = (video.renderY + video.renderH) - 1; - SDL_WarpMouseInWindow(video.window, mx, my); - } - - mx -= video.renderX; - my -= video.renderY; - } - - if (mx < 0) mx = 0; - if (my < 0) mx = 0; - - // multiply coords by video scaling factors - mx = (((uint32_t)mx * video.xScaleMul) + (1 << 15)) >> 16; - my = (((uint32_t)my * video.yScaleMul) + (1 << 15)) >> 16; - - if (mx >= SCREEN_W) mx = SCREEN_W - 1; - if (my >= SCREEN_H) my = SCREEN_H - 1; - - if (config.specialFlags2 & HARDWARE_MOUSE) - { - // hardware mouse (OS) - mouse.x = (int16_t)mx; - mouse.y = (int16_t)my; - hideSprite(SPRITE_MOUSE_POINTER); - } - else - { - // software mouse (FT2 mouse) - x = (int16_t)mx; - y = (int16_t)my; - - mouse.x = x; - mouse.y = y; - - // for text editing cursor (do this after clamp) - x += mouse.xBias; - y += mouse.yBias; - - if (x < 0) x = 0; - if (y < 0) y = 0; - - setSpritePos(SPRITE_MOUSE_POINTER, x, y); - } - - changeCursorIfOverTextBoxes(); -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include "ft2_header.h" +#include "ft2_gui.h" +#include "ft2_video.h" +#include "ft2_scopes.h" +#include "ft2_help.h" +#include "ft2_sample_ed.h" +#include "ft2_inst_ed.h" +#include "ft2_pattern_ed.h" +#include "ft2_mouse.h" +#include "ft2_config.h" +#include "ft2_diskop.h" +#include "ft2_gfxdata.h" +#include "ft2_audioselector.h" +#include "ft2_midi.h" +#include "ft2_gfxdata.h" + +#define NUM_CURSORS 6 + +static bool mouseBusyGfxBackwards; +static int16_t mouseShape; +static int32_t mouseModeGfxOffs, mouseBusyGfxFrame; +static SDL_Cursor *cursors[NUM_CURSORS]; + +static bool setSystemCursor(SDL_Cursor *cursor) +{ + if (cursor == NULL) + { + SDL_SetCursor(SDL_GetDefaultCursor()); + return false; + } + + SDL_SetCursor(cursor); + return true; +} + +void freeMouseCursors(void) +{ + SDL_SetCursor(SDL_GetDefaultCursor()); + for (uint32_t i = 0; i < NUM_CURSORS; i++) + { + if (cursors[i] != NULL) + { + SDL_FreeCursor(cursors[i]); + cursors[i] = NULL; + } + } +} + +bool createMouseCursors(void) // creates scaled SDL surfaces for current mouse pointer shape +{ + freeMouseCursors(); + + const uint8_t *cursorsSrc = mouseCursors; + switch (config.mouseType) + { + case MOUSE_IDLE_SHAPE_NICE: cursorsSrc += 0 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); break; + case MOUSE_IDLE_SHAPE_UGLY: cursorsSrc += 1 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); break; + case MOUSE_IDLE_SHAPE_AWFUL: cursorsSrc += 2 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); break; + case MOUSE_IDLE_SHAPE_USABLE: cursorsSrc += 3 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); break; + default: break; + } + + for (uint32_t i = 0; i < NUM_CURSORS; i++) + { + SDL_Surface *surface = SDL_CreateRGBSurface(0, MOUSE_CURSOR_W*video.yScale, MOUSE_CURSOR_H*video.yScale, 32, 0, 0, 0, 0); + if (surface == NULL) + { + freeMouseCursors(); + config.specialFlags2 &= ~HARDWARE_MOUSE; // enable software mouse + return false; + } + + uint32_t colorkey = SDL_MapRGB(surface->format, 0x00, 0xFF, 0x00); // colorkey + uint32_t fg = SDL_MapRGB(surface->format, 0xFF, 0xFF, 0xFF); // foreground + uint32_t border = SDL_MapRGB(surface->format, 0x00, 0x00, 0x00); // border + + SDL_SetSurfaceBlendMode(surface, SDL_BLENDMODE_NONE); + SDL_SetColorKey(surface, SDL_TRUE, colorkey); + SDL_SetSurfaceRLE(surface, SDL_TRUE); + + const uint8_t *srcPixels8; + if (i == 3) // text edit cursor + srcPixels8 = &mouseCursors[12 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)]; + else if (i == 4) // mouse busy (wall clock) + srcPixels8 = &mouseCursorBusyClock[2 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)]; // pick a good still-frame + else if (i == 5) // mouse busy (hourglass) + srcPixels8 = &mouseCursorBusyGlass[2 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)]; // pick a good still-frame + else // normal idle cursor + disk op. "delete/rename" cursors + srcPixels8 = &cursorsSrc[i * (4 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H))]; + + SDL_LockSurface(surface); + + uint32_t *dstPixels32 = (uint32_t *)surface->pixels; + + for (int32_t k = 0; k < surface->w*surface->h; k++) // fill surface with colorkey pixels + dstPixels32[k] = colorkey; + + // blit upscaled cursor to surface + for (uint32_t y = 0; y < MOUSE_CURSOR_H; y++) + { + uint32_t *outX = &dstPixels32[(y * video.yScale) * surface->w]; + for (uint32_t yScale = 0; yScale < video.yScale; yScale++) + { + for (uint32_t x = 0; x < MOUSE_CURSOR_W; x++) + { + uint8_t srcPix = srcPixels8[(y * MOUSE_CURSOR_W) + x]; + if (srcPix != PAL_TRANSPR) + { + uint32_t pixel = colorkey; + if (srcPix == PAL_MOUSEPT) + pixel = fg; + else if (srcPix == PAL_BCKGRND) + pixel = border; + + for (uint32_t xScale = 0; xScale < video.yScale; xScale++) + outX[xScale] = pixel; + } + + outX += video.xScale; + } + } + } + SDL_UnlockSurface(surface); + + uint32_t hotX = 0; + uint32_t hotY = 0; + + if (i == 3) // text edit cursor bias + { + hotX = 2 * video.xScale; + hotY = 6 * video.yScale; + } + + cursors[i] = SDL_CreateColorCursor(surface, hotX, hotY); + if (cursors[i] == NULL) + { + SDL_FreeSurface(surface); + freeMouseCursors(); + config.specialFlags2 &= ~HARDWARE_MOUSE; // enable software mouse + return false; + } + + SDL_FreeSurface(surface); + } + + if (config.specialFlags2 & HARDWARE_MOUSE) + { + if (mouse.mode == MOUSE_MODE_NORMAL) setSystemCursor(cursors[0]); + else if (mouse.mode == MOUSE_MODE_DELETE) setSystemCursor(cursors[1]); + else if (mouse.mode == MOUSE_MODE_RENAME) setSystemCursor(cursors[2]); + } + + return true; +} + +void setMousePosToCenter(void) +{ + if (video.fullscreen) + { + mouse.setPosX = video.displayW / 2; + mouse.setPosY = video.displayH / 2; + } + else + { + mouse.setPosX = video.renderW / 2; + mouse.setPosY = video.renderH / 2; + } + + mouse.setPosFlag = true; +} + +void animateBusyMouse(void) +{ + if (config.mouseAnimType == MOUSE_BUSY_SHAPE_CLOCK) + { + if (config.specialFlags2 & HARDWARE_MOUSE) + { + setSystemCursor(cursors[4]); + return; + } + + if ((editor.framesPassed % 7) == 6) + { + if (mouseBusyGfxBackwards) + { + if (--mouseBusyGfxFrame <= 0) + { + mouseBusyGfxFrame = 0; + mouseBusyGfxBackwards = false; + } + } + else + { + if (++mouseBusyGfxFrame >= MOUSE_CLOCK_ANI_FRAMES-1) + { + mouseBusyGfxFrame = MOUSE_CLOCK_ANI_FRAMES - 1; + mouseBusyGfxBackwards = true; + } + } + + changeSpriteData(SPRITE_MOUSE_POINTER, + &mouseCursorBusyClock[(mouseBusyGfxFrame % MOUSE_CLOCK_ANI_FRAMES) * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)]); + } + } + else + { + if (config.specialFlags2 & HARDWARE_MOUSE) + { + setSystemCursor(cursors[5]); + return; + } + + if ((editor.framesPassed % 5) == 4) + { + mouseBusyGfxFrame = (mouseBusyGfxFrame + 1) % MOUSE_GLASS_ANI_FRAMES; + + changeSpriteData(SPRITE_MOUSE_POINTER, + &mouseCursorBusyGlass[mouseBusyGfxFrame * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)]); + } + } +} + +void setMouseShape(int16_t shape) +{ + const uint8_t *gfxPtr; + + if (editor.busy) + { + if (config.mouseAnimType == MOUSE_BUSY_SHAPE_CLOCK) + gfxPtr = &mouseCursorBusyClock[(mouseBusyGfxFrame % MOUSE_GLASS_ANI_FRAMES) * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)]; + else + gfxPtr = &mouseCursorBusyGlass[(mouseBusyGfxFrame % MOUSE_CLOCK_ANI_FRAMES) * (MOUSE_CURSOR_W * MOUSE_CURSOR_H)]; + } + else + { + gfxPtr = &mouseCursors[mouseModeGfxOffs]; + switch (shape) + { + case MOUSE_IDLE_SHAPE_NICE: gfxPtr += 0 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); break; + case MOUSE_IDLE_SHAPE_UGLY: gfxPtr += 1 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); break; + case MOUSE_IDLE_SHAPE_AWFUL: gfxPtr += 2 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); break; + case MOUSE_IDLE_SHAPE_USABLE: gfxPtr += 3 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); break; + case MOUSE_IDLE_TEXT_EDIT: gfxPtr += 12 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); break; + default: return; + } + } + + mouseShape = shape; + changeSpriteData(SPRITE_MOUSE_POINTER, gfxPtr); + + if (config.specialFlags2 & HARDWARE_MOUSE) + { + if (mouse.mode == MOUSE_MODE_NORMAL) setSystemCursor(cursors[0]); + else if (mouse.mode == MOUSE_MODE_DELETE) setSystemCursor(cursors[1]); + else if (mouse.mode == MOUSE_MODE_RENAME) setSystemCursor(cursors[2]); + } +} + +static void setTextEditMouse(void) +{ + setMouseShape(MOUSE_IDLE_TEXT_EDIT); + mouse.xBias = -2; + mouse.yBias = -6; + + if (config.specialFlags2 & HARDWARE_MOUSE) + setSystemCursor(cursors[3]); +} + +static void clearTextEditMouse(void) +{ + setMouseShape(config.mouseType); + mouse.xBias = 0; + mouse.yBias = 0; + + if (config.specialFlags2 & HARDWARE_MOUSE) + setSystemCursor(cursors[0]); +} + +static void changeCursorIfOverTextBoxes(void) +{ + int16_t i, mx, my; + textBox_t *t; + + mouse.mouseOverTextBox = false; + if (editor.busy || mouse.mode != MOUSE_MODE_NORMAL) + return; + + mx = mouse.x; + my = mouse.y; + + for (i = 0; i < NUM_TEXTBOXES; i++) + { + if (editor.ui.sysReqShown && i > 0) + continue; + + t = &textBoxes[i]; + if (!t->visible) + continue; + + if (!t->changeMouseCursor && (!editor.editTextFlag || i != mouse.lastEditBox)) + continue; // some kludge of sorts + + if (my >= t->y && my < t->y+t->h && mx >= t->x && mx < t->x+t->w) + { + mouse.mouseOverTextBox = true; + setTextEditMouse(); + return; + } + } + + // we're not inside a text edit box, set back mouse cursor + if (i == NUM_TEXTBOXES && mouseShape == MOUSE_IDLE_TEXT_EDIT) + clearTextEditMouse(); +} + +void setMouseMode(uint8_t mode) +{ + switch (mode) + { + case MOUSE_MODE_NORMAL: { mouse.mode = mode; mouseModeGfxOffs = 0 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); } break; + case MOUSE_MODE_DELETE: { mouse.mode = mode; mouseModeGfxOffs = 4 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); } break; + case MOUSE_MODE_RENAME: { mouse.mode = mode; mouseModeGfxOffs = 8 * (MOUSE_CURSOR_W * MOUSE_CURSOR_H); } break; + + default: return; + } + + setMouseShape(config.mouseType); +} + +void resetMouseBusyAnimation(void) +{ + mouseBusyGfxBackwards = false; + mouseBusyGfxFrame = 0; +} + +void setMouseBusy(bool busy) // can be called from other threads +{ + if (busy) + { + editor.ui.setMouseIdle = false; + editor.ui.setMouseBusy = true; + } + else + { + editor.ui.setMouseBusy = false; + editor.ui.setMouseIdle = true; + } +} + +void mouseAnimOn(void) +{ + editor.ui.setMouseBusy = false; + editor.ui.setMouseIdle = false; + + editor.busy = true; + setMouseShape(config.mouseAnimType); + + //if (config.specialFlags2 & HARDWARE_MOUSE && cBusy != NULL) + // SDL_SetCursor(cBusy); +} + +void mouseAnimOff(void) +{ + editor.ui.setMouseBusy = false; + editor.ui.setMouseIdle = false; + + editor.busy = false; + setMouseShape(config.mouseType); + + //if (config.specialFlags2 & HARDWARE_MOUSE && cArrow != NULL) + // SDL_SetCursor(cArrow); +} + +static void mouseWheelDecRow(void) +{ + int16_t pattPos; + + if (songPlaying) + return; + + pattPos = editor.pattPos - 1; + if (pattPos < 0) + pattPos = pattLens[editor.editPattern] - 1; + + setPos(-1, pattPos, true); +} + +static void mouseWheelIncRow(void) +{ + int16_t pattPos; + + if (songPlaying) + return; + + pattPos = editor.pattPos + 1; + if (pattPos > (pattLens[editor.editPattern] - 1)) + pattPos = 0; + + setPos(-1, pattPos, true); +} + +void mouseWheelHandler(bool directionUp) +{ + if (editor.ui.sysReqShown || editor.editTextFlag) + return; + + if (editor.ui.extended) + { + if (mouse.y <= 52) + { + if (mouse.x <= 111) directionUp ? decSongPos() : incSongPos(); + else if (mouse.x >= 386) directionUp ? decCurIns() : incCurIns(); + } + else + { + directionUp ? mouseWheelDecRow() : mouseWheelIncRow(); + } + + return; + } + + if (mouse.y < 173) + { + // top screens + + if (editor.ui.helpScreenShown) + { + // help screen + + if (directionUp) + { + helpScrollUp(); + helpScrollUp(); + } + else + { + helpScrollDown(); + helpScrollDown(); + } + } + else if (editor.ui.diskOpShown) + { + // disk op - 3x speed + if (mouse.x <= 355) + { + if (directionUp) + { + pbDiskOpListUp(); + pbDiskOpListUp(); + pbDiskOpListUp(); + } + else + { + pbDiskOpListDown(); + pbDiskOpListDown(); + pbDiskOpListDown(); + } + } + } + else if (editor.ui.configScreenShown) + { + if (editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES) + { + // audio device selectors + if (mouse.x >= 110 && mouse.x <= 355 && mouse.y <= 173) + { + if (mouse.y < 87) + directionUp ? scrollAudOutputDevListUp() : scrollAudOutputDevListDown(); + else + directionUp ? scrollAudInputDevListUp() : scrollAudInputDevListDown(); + } + } +#ifdef HAS_MIDI + else if (editor.currConfigScreen == CONFIG_SCREEN_MIDI_INPUT) + { + // midi input device selector + if (mouse.x >= 110 && mouse.x <= 503 && mouse.y <= 173) + directionUp ? scrollMidiInputDevListUp() : scrollMidiInputDevListDown(); + } +#endif + } + + if (!editor.ui.aboutScreenShown && !editor.ui.helpScreenShown && + !editor.ui.configScreenShown && !editor.ui.nibblesShown) + { + if (mouse.x >= 421 && mouse.y <= 173) + { + if (mouse.y <= 93) directionUp ? decCurIns() : incCurIns(); + else if (mouse.y >= 94) directionUp ? decCurSmp() : incCurSmp(); + } + else if (!editor.ui.diskOpShown && mouse.x <= 111 && mouse.y <= 76) + { + directionUp ? decSongPos() : incSongPos(); + } + } + } + else + { + // bottom screens + + if (editor.ui.sampleEditorShown) + { + if (mouse.y >= 174 && mouse.y <= 328) + directionUp ? mouseZoomSampleDataIn() : mouseZoomSampleDataOut(); + } + else if (editor.ui.patternEditorShown) + { + directionUp ? mouseWheelDecRow() : mouseWheelIncRow(); + } + } +} + +static bool testSamplerDataMouseDown(void) +{ + if (editor.ui.sampleEditorShown && mouse.y >= 174 && mouse.y <= 327 && editor.ui.sampleDataOrLoopDrag == -1) + { + handleSampleDataMouseDown(false); + return true; + } + + return false; +} + +static bool testPatternDataMouseDown(void) +{ + uint16_t y1, y2; + + if (editor.ui.patternEditorShown) + { + y1 = editor.ui.extended ? 56 : 176; + y2 = editor.ui.pattChanScrollShown ? 382 : 396; + + if (mouse.y >= y1 && mouse.y <= y2 && mouse.x >= 29 && mouse.x <= 602) + { + handlePatternDataMouseDown(false); + return true; + } + } + + return false; +} + +void mouseButtonUpHandler(uint8_t mouseButton) +{ +#ifndef __APPLE__ + if (!video.fullscreen) // release mouse button trap + SDL_SetWindowGrab(video.window, SDL_FALSE); +#endif + + if (mouseButton == SDL_BUTTON_LEFT) + { + mouse.leftButtonPressed = false; + mouse.leftButtonReleased = true; + + if (editor.ui.leftLoopPinMoving) + { + setLeftLoopPinState(false); + editor.ui.leftLoopPinMoving = false; + } + + if (editor.ui.rightLoopPinMoving) + { + setRightLoopPinState(false); + editor.ui.rightLoopPinMoving = false; + } + } + else if (mouseButton == SDL_BUTTON_RIGHT) + { + mouse.rightButtonPressed = false; + mouse.rightButtonReleased = true; + + + if (editor.editSampleFlag) + { + // right mouse button released after hand-editing sample data + if (instr[editor.curInstr] != NULL) + fixSample(&instr[editor.curInstr]->samp[editor.curSmp]); + + resumeAudio(); + + if (editor.ui.sampleEditorShown) + writeSample(true); + + setSongModifiedFlag(); + editor.editSampleFlag = false; + } + + } + + mouse.firstTimePressingButton = false; + mouse.buttonCounter = 0; + editor.textCursorBlinkCounter = 0; + + // if we used both mouse button at the same time and released *one*, don't release GUI object + if ( mouse.leftButtonPressed && !mouse.rightButtonPressed) return; + if (!mouse.leftButtonPressed && mouse.rightButtonPressed) return; + + if (editor.ui.sampleEditorShown) + testSmpEdMouseUp(); + + mouse.lastX = 0; + mouse.lastY = 0; + + editor.ui.sampleDataOrLoopDrag = -1; + + // check if we released a GUI object + testDiskOpMouseRelease(); + testPushButtonMouseRelease(true); + testCheckBoxMouseRelease(); + testScrollBarMouseRelease(); + testRadioButtonMouseRelease(); + + // revert "delete/rename" mouse modes (disk op.) + if (mouse.lastUsedObjectID != PB_DISKOP_DELETE && mouse.lastUsedObjectID != PB_DISKOP_RENAME) + { + if (mouse.mode != MOUSE_MODE_NORMAL) + setMouseMode(MOUSE_MODE_NORMAL); + } + + mouse.lastUsedObjectID = OBJECT_ID_NONE; + mouse.lastUsedObjectType = OBJECT_NONE; +} + +void mouseButtonDownHandler(uint8_t mouseButton) +{ +#ifndef __APPLE__ + if (!video.fullscreen) // trap mouse pointer while holding down left and/or right button + SDL_SetWindowGrab(video.window, SDL_TRUE); +#endif + + // if already holding left button and clicking right, don't do mouse down handling + if (mouseButton == SDL_BUTTON_RIGHT && mouse.leftButtonPressed) + { + if (editor.ui.sampleDataOrLoopDrag == -1) + { + mouse.rightButtonPressed = true; + mouse.rightButtonReleased = false; + } + + // kludge - we must do scope solo/unmute all here + if (!editor.ui.sysReqShown) + testScopesMouseDown(); + + return; + } + + // if already holding right button and clicking left, don't do mouse down handling + if (mouseButton == SDL_BUTTON_LEFT && mouse.rightButtonPressed) + { + if (editor.ui.sampleDataOrLoopDrag == -1) + { + mouse.leftButtonPressed = true; + mouse.leftButtonReleased = false; + } + + // kludge - we must do scope solo/unmute all here + if (!editor.ui.sysReqShown) + testScopesMouseDown(); + + return; + } + + // mouse 0,0 = open exit dialog + if (mouse.x == 0 && mouse.y == 0) + { + if (quitBox(false) == 1) + editor.throwExit = true; + + // release button presses from okBox() + mouse.leftButtonPressed = false; + mouse.rightButtonPressed = false; + mouse.leftButtonReleased = false; + mouse.rightButtonReleased = false; + + return; + } + + if (mouseButton == SDL_BUTTON_LEFT) + mouse.leftButtonPressed = true; + else if (mouseButton == SDL_BUTTON_RIGHT) + mouse.rightButtonPressed = true; + + mouse.leftButtonReleased = false; + mouse.rightButtonReleased = false; + + // don't do mouse down testing here if we already are using an object + if (mouse.lastUsedObjectType != OBJECT_NONE) + return; + + // kludge #2 + if (mouse.lastUsedObjectType != OBJECT_PUSHBUTTON && mouse.lastUsedObjectID != OBJECT_ID_NONE) + return; + + // kludge #3 + if (!mouse.rightButtonPressed) + mouse.lastUsedObjectID = OBJECT_ID_NONE; + + // check if we pressed a GUI object + + /* test objects like this - clickable things *never* overlap, so no need to test all + ** other objects if we clicked on one already */ + + testInstrSwitcherMouseDown(); // kludge: allow right click to both change ins. and edit text + + if (testTextBoxMouseDown()) return; + if (testPushButtonMouseDown()) return; + if (testCheckBoxMouseDown()) return; + if (testScrollBarMouseDown()) return; + if (testRadioButtonMouseDown()) return; + + // from this point, we don't need to test more widgets if a system request box is shown + if (editor.ui.sysReqShown) + return; + + if (testInstrVolEnvMouseDown(false)) return; + if (testInstrPanEnvMouseDown(false)) return; + if (testDiskOpMouseDown(false)) return; + if (testPianoKeysMouseDown(false)) return; + if (testSamplerDataMouseDown()) return; + if (testPatternDataMouseDown()) return; + if (testScopesMouseDown()) return; + if (testAudioDeviceListsMouseDown()) return; + +#ifdef HAS_MIDI + if (testMidiInputDeviceListMouseDown()) return; +#endif +} + +void handleLastGUIObjectDown(void) +{ + if (mouse.lastUsedObjectType == OBJECT_NONE) + return; + + if (mouse.leftButtonPressed || mouse.rightButtonPressed) + { + if (mouse.lastUsedObjectID != OBJECT_ID_NONE) + { + switch (mouse.lastUsedObjectType) + { + case OBJECT_PUSHBUTTON: handlePushButtonsWhileMouseDown(); break; + case OBJECT_RADIOBUTTON: handleRadioButtonsWhileMouseDown(); break; + case OBJECT_CHECKBOX: handleCheckBoxesWhileMouseDown(); break; + case OBJECT_SCROLLBAR: handleScrollBarsWhileMouseDown(); break; + case OBJECT_TEXTBOX: handleTextBoxWhileMouseDown(); break; + default: break; + } + } + else + { + // test non-standard GUI elements + switch (mouse.lastUsedObjectType) + { + case OBJECT_INSTRSWITCH: testInstrSwitcherMouseDown(); break; + case OBJECT_PATTERNMARK: handlePatternDataMouseDown(true); break; + case OBJECT_DISKOPLIST: testDiskOpMouseDown(true); break; + case OBJECT_SMPDATA: handleSampleDataMouseDown(true); break; + case OBJECT_PIANO: testPianoKeysMouseDown(true); break; + case OBJECT_INSVOLENV: testInstrVolEnvMouseDown(true); break; + case OBJECT_INSPANENV: testInstrPanEnvMouseDown(true); break; + default: break; + } + } + } +} + +void updateMouseScaling(void) +{ + if (video.renderW > 0.0) video.dMouseXMul = (double)SCREEN_W / video.renderW; + if (video.renderH > 0.0) video.dMouseYMul = (double)SCREEN_H / video.renderH; +} + +void readMouseXY(void) +{ + int16_t x, y; + int32_t mx, my; + + if (mouse.setPosFlag) + { + mouse.setPosFlag = false; + + if (SDL_GetWindowFlags(video.window) & SDL_WINDOW_SHOWN) + SDL_WarpMouseInWindow(video.window, mouse.setPosX, mouse.setPosY); + + return; + } + + SDL_PumpEvents(); // gathers all pending input from devices into the event queue (less mouse lag) + SDL_GetMouseState(&mx, &my); + + /* in centered fullscreen mode, trap the mouse inside the framed image + ** and subtract the coords to match the OS mouse position (fixes touch from touchscreens) */ + if (video.fullscreen && !(config.windowFlags & FILTERING)) + { + if (mx < video.renderX) + { + mx = video.renderX; + SDL_WarpMouseInWindow(video.window, mx, my); + } + else if (mx >= video.renderX+video.renderW) + { + mx = (video.renderX + video.renderW) - 1; + SDL_WarpMouseInWindow(video.window, mx, my); + } + + if (my < video.renderY) + { + my = video.renderY; + SDL_WarpMouseInWindow(video.window, mx, my); + } + else if (my >= video.renderY+video.renderH) + { + my = (video.renderY + video.renderH) - 1; + SDL_WarpMouseInWindow(video.window, mx, my); + } + + mx -= video.renderX; + my -= video.renderY; + } + + if (mx < 0) mx = 0; + if (my < 0) mx = 0; + + // multiply coords by video upscaling factors (don't round) + mx = (int32_t)(mx * video.dMouseXMul); + my = (int32_t)(my * video.dMouseYMul); + + if (mx >= SCREEN_W) mx = SCREEN_W - 1; + if (my >= SCREEN_H) my = SCREEN_H - 1; + + if (config.specialFlags2 & HARDWARE_MOUSE) + { + // hardware mouse (OS) + mouse.x = (int16_t)mx; + mouse.y = (int16_t)my; + hideSprite(SPRITE_MOUSE_POINTER); + } + else + { + // software mouse (FT2 mouse) + x = (int16_t)mx; + y = (int16_t)my; + + mouse.x = x; + mouse.y = y; + + // for text editing cursor (do this after clamp) + x += mouse.xBias; + y += mouse.yBias; + + if (x < 0) x = 0; + if (y < 0) y = 0; + + setSpritePos(SPRITE_MOUSE_POINTER, x, y); + } + + changeCursorIfOverTextBoxes(); +} diff --git a/src/ft2_mouse.h b/src/ft2_mouse.h index b6dbe0e..12bf9dc 100644 --- a/src/ft2_mouse.h +++ b/src/ft2_mouse.h @@ -1,49 +1,48 @@ -#pragma once - -#include -#include - -enum -{ - MOUSE_MODE_NORMAL = 0, - MOUSE_MODE_DELETE = 1, - MOUSE_MODE_RENAME = 2, - - MOUSE_WHEEL_DOWN = 0, - MOUSE_WHEEL_UP = 1 -}; - -struct mouse_t -{ - volatile bool setPosFlag; - bool leftButtonPressed, rightButtonPressed, leftButtonReleased, rightButtonReleased; - bool firstTimePressingButton, mouseOverTextBox; - int8_t buttonCounter, mode; - int16_t lastUsedObjectID, lastUsedObjectType, lastEditBox, x, y, lastX, lastY, xBias, yBias; - int16_t lastScrollX, lastScrollXTmp, lastScrollY, saveMouseX, saveMouseY; - int32_t setPosX, setPosY; -} mouse; - -// do not change these! -#define MOUSE_CURSOR_W 26 -#define MOUSE_CURSOR_H 23 -#define MOUSE_GLASS_ANI_FRAMES 22 -#define MOUSE_CLOCK_ANI_FRAMES 5 - -void freeSDL2Cursors(void); -void createSDL2Cursors(void); - -void setMousePosToCenter(void); -void setMouseShape(int16_t shape); -void setMouseMode(uint8_t mode); -void mouseWheelHandler(bool directionUp); -void mouseButtonUpHandler(uint8_t mouseButton); -void mouseButtonDownHandler(uint8_t mouseButton); -void updateMouseScaling(void); -void setMouseBusy(bool busy); // can be called from other threads -void mouseAnimOn(void); -void mouseAnimOff(void); -void animateBusyMouse(void); -void handleLastGUIObjectDown(void); -void readMouseXY(void); -void resetMouseBusyAnimation(void); +#pragma once + +#include +#include + +enum +{ + MOUSE_MODE_NORMAL = 0, + MOUSE_MODE_DELETE = 1, + MOUSE_MODE_RENAME = 2, + + MOUSE_WHEEL_DOWN = 0, + MOUSE_WHEEL_UP = 1 +}; + +struct mouse_t +{ + volatile bool setPosFlag; + bool leftButtonPressed, rightButtonPressed, leftButtonReleased, rightButtonReleased; + bool firstTimePressingButton, mouseOverTextBox; + int8_t buttonCounter, mode; + int16_t lastUsedObjectID, lastUsedObjectType, lastEditBox, x, y, lastX, lastY, xBias, yBias; + int16_t lastScrollX, lastScrollXTmp, lastScrollY, saveMouseX, saveMouseY; + int32_t setPosX, setPosY; +} mouse; + +// do not change these! +#define MOUSE_CURSOR_W 26 +#define MOUSE_CURSOR_H 23 +#define MOUSE_GLASS_ANI_FRAMES 22 +#define MOUSE_CLOCK_ANI_FRAMES 5 + +void freeMouseCursors(void); +bool createMouseCursors(void); +void setMousePosToCenter(void); +void setMouseShape(int16_t shape); +void setMouseMode(uint8_t mode); +void mouseWheelHandler(bool directionUp); +void mouseButtonUpHandler(uint8_t mouseButton); +void mouseButtonDownHandler(uint8_t mouseButton); +void updateMouseScaling(void); +void setMouseBusy(bool busy); // can be called from other threads +void mouseAnimOn(void); +void mouseAnimOff(void); +void animateBusyMouse(void); +void handleLastGUIObjectDown(void); +void readMouseXY(void); +void resetMouseBusyAnimation(void); diff --git a/src/ft2_nibbles.c b/src/ft2_nibbles.c index 420a8d6..5d5c7a3 100644 --- a/src/ft2_nibbles.c +++ b/src/ft2_nibbles.c @@ -1,995 +1,995 @@ -// directly ported from FT2 source code (except some routines) - -#include -#include -#include // round() -#include "ft2_keyboard.h" -#include "ft2_config.h" -#include "ft2_video.h" -#include "ft2_gui.h" -#include "ft2_pattern_ed.h" -#include "ft2_gfxdata.h" - -#define NI_MAXLEVEL 30 - -static const char *NI_HelpText[] = -{ - "Player 1 uses cursor keys to control movement.", - "Player 2 uses the following keys:", - "", - " (W=Up)", - " (A=Left) (S=Down) (D=Right)", - "", - "The \"Wrap\" option controls whether it's possible to walk through", - "the screen edges or not. Turn it on and use your brain to get", - "the maximum out of this feature.", - "The \"Surround\" option turns nibbles into a completely different", - "game. Don't change this option during play! (You'll see why)", - "We wish you many hours of fun playing this game." -}; -#define NIBBLES_HELP_LINES (sizeof (NI_HelpText) / sizeof (char *)) - -typedef struct -{ - int16_t antal; - uint8_t data[8]; -} nibbleBufferTyp; - -typedef struct -{ - uint8_t x, y; -} nibbleCrd; - -static const char nibblesCheatCode1[] = "skip", nibblesCheatCode2[] = "triton"; -static char nibblesCheatBuffer[16]; - -const char convHexTable2[10] = { 7, 8, 9, 10, 11, 12, 13, 16, 17, 18 }; -static const uint8_t NI_Speeds[4] = { 12, 8, 6, 4 }; -static bool NI_EternalLives; -static uint8_t NI_CheatIndex, NI_CurSpeed, NI_CurTick60Hz, NI_CurSpeed60Hz, NI_Screen[51][23], NI_Level; -static int16_t NI_P1Dir, NI_P2Dir, NI_P1Len, NI_P2Len, NI_Number, NI_NumberX, NI_NumberY, NI_P1NoRens, NI_P2NoRens; -static uint16_t NI_P1Lives, NI_P2Lives; -static int32_t NI_P1Score, NI_P2Score; -static nibbleCrd NI_P1[256], NI_P2[256]; -static nibbleBufferTyp nibblesBuffer[2]; - -static void redrawNibblesScreen(void) -{ - uint8_t x, y, c; - int16_t xs, ys; - - if (!editor.NI_Play) - return; - - for (x = 0; x < 51; x++) - { - for (y = 0; y < 23; y++) - { - xs = 152 + (x * 8); - ys = 7 + (y * 7); - - c = NI_Screen[x][y]; - if (c < 16) - { - if (config.NI_Grid) - { - fillRect(xs + 0, ys + 0, 8 - 0, 7 - 0, PAL_BUTTON2); - fillRect(xs + 1, ys + 1, 8 - 1, 7 - 1, c); - } - else - { - fillRect(xs, ys, 8, 7, c); - } - } - else - { - charOut(xs + 2, ys, PAL_FORGRND, convHexTable2[NI_Number]); - } - } - } - - // fix wrongly rendered grid - if (config.NI_Grid) - { - vLine(560, 7, 161, PAL_BUTTON2); - hLine(152, 168, 409, PAL_BUTTON2); - } - else - { - // if we turned grid off, clear lines - vLine(560, 7, 161, PAL_BCKGRND); - hLine(152, 168, 409, PAL_BCKGRND); - } -} - -static void nibblesAddBuffer(int16_t nr, uint8_t typ) -{ - nibbleBufferTyp *n; - - n = &nibblesBuffer[nr]; - if (n->antal < 8) - { - n->data[n->antal] = typ; - n->antal++; - } -} - -static bool nibblesBufferFull(int16_t nr) -{ - return (nibblesBuffer[nr].antal > 0); -} - -static int16_t nibblesGetBuffer(int16_t nr) -{ - int16_t dataOut; - nibbleBufferTyp *n; - - n = &nibblesBuffer[nr]; - if (n->antal > 0) - { - dataOut = n->data[0]; - memmove(&n->data[0], &n->data[1], 7); - n->antal--; - - return dataOut; - } - - return -1; -} - -static void nibblesGetLevel(int16_t nr) -{ - int16_t readX, readY, x, y; - - readX = 1 + ((51+2) * (nr % 10)); - readY = 1 + ((23+2) * (nr / 10)); - - for (x = 0; x < 51; x++) - { - for (y = 0; y < 23; y++) - NI_Screen[x][y] = nibblesStages[((readY + y) * 530) + (readX + x)]; - } -} - -static void nibblesCreateLevel(int16_t nr) -{ - uint8_t c; - int16_t x, y, x1, y1, x2, y2; - - if (nr >= NI_MAXLEVEL) - nr = NI_MAXLEVEL - 1; - - nibblesGetLevel(nr); - - x1 = 0; x2 = 0; - y1 = 0; y2 = 0; - - for (y = 0; y < 23; y++) - { - for (x = 0; x < 51; x++) - { - if (NI_Screen[x][y] == 1 || NI_Screen[x][y] == 3) - { - c = NI_Screen[x][y]; - - if (c == 3) - { - x1 = x; - y1 = y; - } - - if (c == 1) - { - x2 = x; - y2 = y; - } - - NI_Screen[x][y] = 0; - } - } - } - - x = (51 + 2) * (nr % 10); - y = (23 + 2) * (nr / 10); - - NI_P1Dir = nibblesStages[(y * 530) + (x + 1)]; - NI_P2Dir = nibblesStages[(y * 530) + (x + 0)]; - - NI_P1Len = 5; - NI_P2Len = 5; - NI_P1NoRens = 0; - NI_P2NoRens = 0; - NI_Number = 0; - nibblesBuffer[0].antal = 0; - nibblesBuffer[1].antal = 0; - - for (int16_t i = 0; i < 256; i++) - { - NI_P1[i].x = (uint8_t)x1; - NI_P1[i].y = (uint8_t)y1; - NI_P2[i].x = (uint8_t)x2; - NI_P2[i].y = (uint8_t)y2; - } -} - -static void nibbleWriteLevelSprite(int16_t xOut, int16_t yOut, int16_t nr) -{ - uint8_t *src; - uint16_t readX, readY; - uint32_t *dst; - - readX = (51 + 2) * (nr % 10); - readY = (23 + 2) * (nr / 10); - - src = (uint8_t *)&nibblesStages[(readY * 530) + readX]; - dst = &video.frameBuffer[(yOut * SCREEN_W) + xOut]; - - for (uint16_t y = 0; y < 23+2; y++) - { - for (uint16_t x = 0; x < 51+2; x++) - *dst++ = video.palette[*src++]; - - src += 530 - (51+2); - dst += SCREEN_W - (51+2); - } - - // overwrite start position pixels - video.frameBuffer[(yOut * SCREEN_W) + (xOut + 0)] = video.palette[PAL_FORGRND]; - video.frameBuffer[(yOut * SCREEN_W) + (xOut + 1)] = video.palette[PAL_FORGRND]; -} - -static void highScoreTextOutClipX(uint16_t x, uint16_t y, uint8_t paletteIndex, uint8_t shadowPaletteIndex, const char *textPtr, uint16_t clipX) -{ - char ch; - uint16_t currX; - - assert(textPtr != NULL); - - currX = x; - for (uint16_t i = 0; i < 22; i++) - { - ch = textPtr[i]; - if (ch == '\0') - break; - - charOutClipX(currX + 1, y + 1, shadowPaletteIndex, ch, clipX); // shadow - charOutClipX(currX, y, paletteIndex, ch, clipX); // foreground - - currX += charWidth(ch); - if (currX >= clipX) - break; - } -} - -void nibblesHighScore(void) -{ - if (editor.NI_Play) - { - okBox(0, "System message", "No highscoretable is available during play."); - return; - } - - clearRect(152, 7, 409, 162); - - bigTextOut(160, 10, PAL_FORGRND, "Fasttracker Nibbles Highscore"); - for (int16_t i = 0; i < 5; i++) - { - highScoreTextOutClipX(160, 42 + (26 * i), PAL_FORGRND, PAL_DSKTOP2, config.NI_HighScore[i].name, 160 + 70); - hexOutShadow(160 + 76, 42 + (26 * i), PAL_FORGRND, PAL_DSKTOP2, config.NI_HighScore[i].score, 8); - nibbleWriteLevelSprite(160 + 136, (42 - 9) + (26 * i), config.NI_HighScore[i].level); - - highScoreTextOutClipX(360, 42 + (26 * i), PAL_FORGRND, PAL_DSKTOP2, config.NI_HighScore[i+5].name, 360 + 70); - hexOutShadow(360 + 76, 42 + (26 * i), PAL_FORGRND, PAL_DSKTOP2, config.NI_HighScore[i+5].score, 8); - nibbleWriteLevelSprite(360 + 136, (42 - 9) + (26 * i), config.NI_HighScore[i+5].level); - } -} - -static void setNibbleDot(uint8_t x, uint8_t y, uint8_t c) -{ - uint16_t xs, ys; - - xs = 152 + (x * 8); - ys = 7 + (y * 7); - - if (config.NI_Grid) - { - fillRect(xs + 0, ys + 0, 8 - 0, 7 - 0, PAL_BUTTON2); - fillRect(xs + 1, ys + 1, 8 - 1, 7 - 1, c); - } - else - { - fillRect(xs, ys, 8, 7, c); - } - - NI_Screen[x][y] = c; -} - -static void nibblesGenNewNumber(void) -{ - int16_t x, y, xs, ys; - - while (true) - { - x = rand() % 51; - y = rand() % 23; - - if (NI_Screen[x][y] == 0 && NI_Screen[x][y+1] == 0) - { - NI_Number++; - NI_Screen[x][y] = (uint8_t)(16 + NI_Number); - NI_NumberX = x; - NI_NumberY = y; - - xs = 152 + (x * 8); - ys = 7 + (y * 7); - - if (config.NI_Grid) - { - fillRect(xs + 0, ys + 0, 8 - 0, 7 - 0, PAL_BUTTON2); - fillRect(xs + 1, ys + 1, 8 - 1, 7 - 1, PAL_BCKGRND); - } - else - { - fillRect(xs, ys, 8, 7, PAL_BCKGRND); - } - - charOut((x * 8) + 154, (y * 7) + 7, PAL_FORGRND, convHexTable2[NI_Number]); - break; - } - } -} - -static void newNibblesGame(void) -{ - nibblesCreateLevel(NI_Level); - redrawNibblesScreen(); - - setNibbleDot(NI_P1[0].x, NI_P1[0].y, 6); - if (config.NI_AntPlayers == 1) - setNibbleDot(NI_P2[0].x, NI_P2[0].y, 7); - - if (!config.NI_Surround) - nibblesGenNewNumber(); -} - -static bool nibblesInvalid(int16_t x, int16_t y, int16_t d) -{ - if (!config.NI_Wrap) - { - if ((x == 0 && d == 0) || (x == 50 && d == 2) || (y == 0 && d == 3) || (y == 22 && d == 1)) - return true; - } - - assert(x >= 0 && x < 51 && y >= 0 && y < 23); - return (NI_Screen[x][y] >= 1 && NI_Screen[x][y] <= 15); -} - -static void drawScoresLives(void) -{ - char str[8]; - - // player 1 - hexOutBg(89, 27, PAL_FORGRND, PAL_DESKTOP, NI_P1Score, 8); - - assert(NI_P1Lives < 100); - sprintf(str, "%02d", NI_P1Lives); - textOutFixed(131, 39, PAL_FORGRND, PAL_DESKTOP, str); - - // player 2 - hexOutBg(89, 75, PAL_FORGRND, PAL_DESKTOP, NI_P2Score, 8); - - assert(NI_P2Lives < 100); - sprintf(str, "%02d", NI_P2Lives); - textOutFixed(131, 87, PAL_FORGRND, PAL_DESKTOP, str); -} - -static void nibblesDecLives(int16_t l1, int16_t l2) -{ - char name[21 + 1]; - int16_t i, k; - highScoreType *h; - - if (!NI_EternalLives) - { - NI_P1Lives -= l1; - NI_P2Lives -= l2; - } - - drawScoresLives(); - - if (l1+l2 == 2) - { - okBox(0, "Nibbles message", "Both players died!"); - } - else - { - if (l2 == 0) - okBox(0, "Nibbles message", "Player 1 died!"); - else - okBox(0, "Nibbles message", "Player 2 died!"); - } - - if (NI_P1Lives == 0 || NI_P2Lives == 0) - { - editor.NI_Play = false; - okBox(0, "Nibbles message", "GAME OVER"); - - if (NI_P1Score > config.NI_HighScore[9].score) - { - strcpy(name, "Unknown"); - inputBox(0, "Player 1 - Enter your name:", name, sizeof (name) - 1); - - i = 0; - while (NI_P1Score <= config.NI_HighScore[i].score) - i++; - - for (k = 8; k >= i; k--) - memcpy(&config.NI_HighScore[k+1], &config.NI_HighScore[k], sizeof (highScoreType)); - - if (i == 0) - okBox(0, "Nibbles message", "You've probably cheated!"); - - h = &config.NI_HighScore[i]; - - k = (int16_t)strlen(name); - memset(h->name, 0, sizeof (h->name)); - memcpy(h->name, name, k); - h->nameLen = (uint8_t)k; - - h->score = NI_P1Score; - h->level = NI_Level; - } - - if (NI_P2Score > config.NI_HighScore[9].score) - { - strcpy(name, "Unknown"); - inputBox(0, "Player 2 - Enter your name:", name, sizeof (name) - 1); - - i = 0; - while (NI_P2Score <= config.NI_HighScore[i].score) - i++; - - for (k = 8; k >= i; k--) - memcpy(&config.NI_HighScore[k+1], &config.NI_HighScore[k], sizeof (highScoreType)); - - if (i == 0) - okBox(0, "Nibbles message", "You've probably cheated!"); - - h = &config.NI_HighScore[i]; - k = (int16_t)strlen(name); - - memset(h->name, 0, sizeof (h->name)); - memcpy(h->name, name, k); - h->nameLen = (uint8_t)k; - - h->score = NI_P2Score; - h->level = NI_Level; - } - - nibblesHighScore(); - } - else - { - editor.NI_Play = true; - newNibblesGame(); - } -} - -static void nibblesEraseNumber(void) -{ - if (!config.NI_Surround) - setNibbleDot((uint8_t)NI_NumberX, (uint8_t)NI_NumberY, 0); -} - -static void nibblesNewLevel(void) -{ - char text[24]; - - sprintf(text, "Level %d finished!", NI_Level + 1); - okBox(0, "Nibbles message", text); - - // cast to int16_t to simulate a bug in FT2 - NI_P1Score += 0x10000 + (int16_t)((12 - NI_CurSpeed) * 0x2000); - if (config.NI_AntPlayers == 1) - NI_P2Score += 0x10000; - - NI_Level++; - - if (NI_P1Lives < 99) - NI_P1Lives++; - - if (config.NI_AntPlayers == 1) - { - if (NI_P2Lives < 99) - NI_P2Lives++; - } - - NI_Number = 0; - nibblesCreateLevel(NI_Level); - redrawNibblesScreen(); - - nibblesGenNewNumber(); -} - -void moveNibblePlayers(void) -{ - int16_t i, j; - - if (editor.ui.sysReqShown || --NI_CurTick60Hz != 0) - return; - - if (nibblesBufferFull(0)) - { - switch (nibblesGetBuffer(0)) - { - case 0: if (NI_P1Dir != 2) NI_P1Dir = 0; break; - case 1: if (NI_P1Dir != 3) NI_P1Dir = 1; break; - case 2: if (NI_P1Dir != 0) NI_P1Dir = 2; break; - case 3: if (NI_P1Dir != 1) NI_P1Dir = 3; break; - default: break; - } - } - - if (nibblesBufferFull(1)) - { - switch (nibblesGetBuffer(1)) - { - case 0: if (NI_P2Dir != 2) NI_P2Dir = 0; break; - case 1: if (NI_P2Dir != 3) NI_P2Dir = 1; break; - case 2: if (NI_P2Dir != 0) NI_P2Dir = 2; break; - case 3: if (NI_P2Dir != 1) NI_P2Dir = 3; break; - default: break; - } - } - - memmove(&NI_P1[1], &NI_P1[0], 255 * sizeof (nibbleCrd)); - if (config.NI_AntPlayers == 1) - memmove(&NI_P2[1], &NI_P2[0], 255 * sizeof (nibbleCrd)); - - switch (NI_P1Dir) - { - case 0: NI_P1[0].x++; break; - case 1: NI_P1[0].y--; break; - case 2: NI_P1[0].x--; break; - case 3: NI_P1[0].y++; break; - default: break; - } - - if (config.NI_AntPlayers == 1) - { - switch (NI_P2Dir) - { - case 0: NI_P2[0].x++; break; - case 1: NI_P2[0].y--; break; - case 2: NI_P2[0].x--; break; - case 3: NI_P2[0].y++; break; - default: break; - } - } - - if (NI_P1[0].x == 255) NI_P1[0].x = 50; - if (NI_P2[0].x == 255) NI_P2[0].x = 50; - if (NI_P1[0].y == 255) NI_P1[0].y = 22; - if (NI_P2[0].y == 255) NI_P2[0].y = 22; - - NI_P1[0].x %= 51; - NI_P1[0].y %= 23; - NI_P2[0].x %= 51; - NI_P2[0].y %= 23; - - if (config.NI_AntPlayers == 1) - { - if (nibblesInvalid(NI_P1[0].x, NI_P1[0].y, NI_P1Dir) && nibblesInvalid(NI_P2[0].x, NI_P2[0].y, NI_P2Dir)) - { - nibblesDecLives(1, 1); - goto NoMove; - } - else if (nibblesInvalid(NI_P1[0].x, NI_P1[0].y, NI_P1Dir)) - { - nibblesDecLives(1, 0); - goto NoMove; - } - else if (nibblesInvalid(NI_P2[0].x, NI_P2[0].y, NI_P2Dir)) - { - nibblesDecLives(0, 1); - goto NoMove; - } - else if (NI_P1[0].x == NI_P2[0].x && NI_P1[0].y == NI_P2[0].y) - { - nibblesDecLives(1, 1); - goto NoMove; - } - } - else - { - if (nibblesInvalid(NI_P1[0].x, NI_P1[0].y, NI_P1Dir)) - { - nibblesDecLives(1, 0); - goto NoMove; - } - } - - j = 0; - i = NI_Screen[NI_P1[0].x][NI_P1[0].y]; - if (i >= 16) - { - NI_P1Score += (i & 15) * 999 * (NI_Level + 1); - nibblesEraseNumber(); j = 1; - NI_P1NoRens = NI_P1Len / 2; - } - - if (config.NI_AntPlayers == 1) - { - i = NI_Screen[NI_P2[0].x][NI_P2[0].y]; - if (i >= 16) - { - NI_P2Score += ((i & 15) * 999 * (NI_Level + 1)); - nibblesEraseNumber(); j = 1; - NI_P2NoRens = NI_P2Len / 2; - } - } - - NI_P1Score -= 17; - if (config.NI_AntPlayers == 1) - NI_P2Score -= 17; - - if (NI_P1Score < 0) NI_P1Score = 0; - if (NI_P2Score < 0) NI_P2Score = 0; - - if (!config.NI_Surround) - { - if (NI_P1NoRens > 0 && NI_P1Len < 255) - { - NI_P1NoRens--; - NI_P1Len++; - } - else - { - setNibbleDot(NI_P1[NI_P1Len].x, NI_P1[NI_P1Len].y, 0); - } - - if (config.NI_AntPlayers == 1) - { - if (NI_P2NoRens > 0 && NI_P2Len < 255) - { - NI_P2NoRens--; - NI_P2Len++; - } - else - { - setNibbleDot(NI_P2[NI_P2Len].x, NI_P2[NI_P2Len].y, 0); - } - } - } - - setNibbleDot(NI_P1[0].x, NI_P1[0].y, 6); - if (config.NI_AntPlayers == 1) - setNibbleDot(NI_P2[0].x, NI_P2[0].y, 5); - - if (j == 1 && !config.NI_Surround) - { - if (NI_Number == 9) - { - nibblesNewLevel(); - NI_CurTick60Hz = NI_CurSpeed60Hz; - return; - } - - nibblesGenNewNumber(); - } - -NoMove: - NI_CurTick60Hz = NI_CurSpeed60Hz; - drawScoresLives(); -} - -void showNibblesScreen(void) -{ - if (editor.ui.extended) - exitPatternEditorExtended(); - - hideTopScreen(); - editor.ui.nibblesShown = true; - - drawFramework(0, 0, 632, 3, FRAMEWORK_TYPE1); - drawFramework(0, 3, 148, 49, FRAMEWORK_TYPE1); - drawFramework(0, 52, 148, 49, FRAMEWORK_TYPE1); - drawFramework(0, 101, 148, 72, FRAMEWORK_TYPE1); - drawFramework(148, 3, 417, 170, FRAMEWORK_TYPE1); - drawFramework(150, 5, 413, 166, FRAMEWORK_TYPE2); - drawFramework(565, 3, 67, 170, FRAMEWORK_TYPE1); - - bigTextOutShadow(4, 6, PAL_FORGRND, PAL_DSKTOP2, "Player 1"); - bigTextOutShadow(4, 55, PAL_FORGRND, PAL_DSKTOP2, "Player 2"); - - textOutShadow(4, 27, PAL_FORGRND, PAL_DSKTOP2, "Score"); - textOutShadow(4, 75, PAL_FORGRND, PAL_DSKTOP2, "Score"); - textOutShadow(4, 39, PAL_FORGRND, PAL_DSKTOP2, "Lives"); - textOutShadow(4, 87, PAL_FORGRND, PAL_DSKTOP2, "Lives"); - textOutShadow(18, 106, PAL_FORGRND, PAL_DSKTOP2, "1 Player"); - textOutShadow(18, 120, PAL_FORGRND, PAL_DSKTOP2, "2 Players"); - textOutShadow(20, 135, PAL_FORGRND, PAL_DSKTOP2, "Surround"); - textOutShadow(20, 148, PAL_FORGRND, PAL_DSKTOP2, "Grid"); - textOutShadow(20, 161, PAL_FORGRND, PAL_DSKTOP2, "Wrap"); - textOutShadow(80, 105, PAL_FORGRND, PAL_DSKTOP2, "Difficulty:"); - textOutShadow(93, 118, PAL_FORGRND, PAL_DSKTOP2, "Novice"); - textOutShadow(93, 132, PAL_FORGRND, PAL_DSKTOP2, "Average"); - textOutShadow(93, 146, PAL_FORGRND, PAL_DSKTOP2, "Pro"); - textOutShadow(93, 160, PAL_FORGRND, PAL_DSKTOP2, "Triton"); - - drawScoresLives(); - - blitFast(569, 7, nibblesLogo, 59, 91); - - showPushButton(PB_NIBBLES_PLAY); - showPushButton(PB_NIBBLES_HELP); - showPushButton(PB_NIBBLES_HIGHS); - showPushButton(PB_NIBBLES_EXIT); - - checkBoxes[CB_NIBBLES_SURROUND].checked = config.NI_Surround ? true : false; - checkBoxes[CB_NIBBLES_GRID].checked = config.NI_Grid ? true : false; - checkBoxes[CB_NIBBLES_WRAP].checked = config.NI_Wrap ? true : false; - showCheckBox(CB_NIBBLES_SURROUND); - showCheckBox(CB_NIBBLES_GRID); - showCheckBox(CB_NIBBLES_WRAP); - - uncheckRadioButtonGroup(RB_GROUP_NIBBLES_PLAYERS); - if (config.NI_AntPlayers == 0) - radioButtons[RB_NIBBLES_1PLAYER].state = RADIOBUTTON_CHECKED; - else - radioButtons[RB_NIBBLES_2PLAYERS].state = RADIOBUTTON_CHECKED; - showRadioButtonGroup(RB_GROUP_NIBBLES_PLAYERS); - - uncheckRadioButtonGroup(RB_GROUP_NIBBLES_DIFFICULTY); - switch (config.NI_Speed) - { - default: - case 0: radioButtons[RB_NIBBLES_NOVICE].state = RADIOBUTTON_CHECKED; break; - case 1: radioButtons[RB_NIBBLES_AVERAGE].state = RADIOBUTTON_CHECKED; break; - case 2: radioButtons[RB_NIBBLES_PRO].state = RADIOBUTTON_CHECKED; break; - case 3: radioButtons[RB_NIBBLES_MANIAC].state = RADIOBUTTON_CHECKED; break; - } - showRadioButtonGroup(RB_GROUP_NIBBLES_DIFFICULTY); -} - -void hideNibblesScreen(void) -{ - hidePushButton(PB_NIBBLES_PLAY); - hidePushButton(PB_NIBBLES_HELP); - hidePushButton(PB_NIBBLES_HIGHS); - hidePushButton(PB_NIBBLES_EXIT); - - hideRadioButtonGroup(RB_GROUP_NIBBLES_PLAYERS); - hideRadioButtonGroup(RB_GROUP_NIBBLES_DIFFICULTY); - - hideCheckBox(CB_NIBBLES_SURROUND); - hideCheckBox(CB_NIBBLES_GRID); - hideCheckBox(CB_NIBBLES_WRAP); - - editor.ui.nibblesShown = false; -} - -void exitNibblesScreen(void) -{ - hideNibblesScreen(); - showTopScreen(true); -} - -// PUSH BUTTONS - -void nibblesPlay(void) -{ - if (editor.NI_Play) - { - if (okBox(2, "Nibbles request", "Restart the current game of nibbles?") != 1) - return; - } - - if (config.NI_Surround && config.NI_AntPlayers == 0) - { - okBox(0, "Nibbles message", "\"Surround\" is not appropriate in one-player mode."); - return; - } - - assert(config.NI_Speed < 4); - NI_CurSpeed = NI_Speeds[config.NI_Speed]; - - // adjust for 70Hz -> 60Hz frames - NI_CurSpeed60Hz = (uint8_t)round(NI_CurSpeed * ((double)VBLANK_HZ / FT2_VBLANK_HZ)); - NI_CurTick60Hz = (uint8_t)round(NI_Speeds[2] * ((double)VBLANK_HZ / FT2_VBLANK_HZ)); - - editor.NI_Play = true; - NI_P1Score = 0; - NI_P2Score = 0; - NI_P1Lives = 5; - NI_P2Lives = 5; - NI_Level = 0; - - newNibblesGame(); -} - -void nibblesHelp(void) -{ - if (editor.NI_Play) - { - okBox(0, "System message", "No help available during play."); - return; - } - - clearRect(152, 7, 409, 162); - - bigTextOut(160, 10, PAL_FORGRND, "Fasttracker Nibbles Help"); - for (uint8_t i = 0; i < NIBBLES_HELP_LINES; i++) - textOut(160, 36 + (11 * i), PAL_BUTTONS, NI_HelpText[i]); -} - -void nibblesExit(void) -{ - if (editor.NI_Play) - { - if (okBox(2, "System request", "Quit current game of nibbles?") == 1) - { - editor.NI_Play = false; - exitNibblesScreen(); - } - - return; - } - - exitNibblesScreen(); -} - -// RADIO BUTTONS - -void nibblesSet1Player(void) -{ - config.NI_AntPlayers = 0; - checkRadioButton(RB_NIBBLES_1PLAYER); -} - -void nibblesSet2Players(void) -{ - config.NI_AntPlayers = 1; - checkRadioButton(RB_NIBBLES_2PLAYERS); -} - -void nibblesSetNovice(void) -{ - config.NI_Speed = 0; - checkRadioButton(RB_NIBBLES_NOVICE); -} - -void nibblesSetAverage(void) -{ - config.NI_Speed = 1; - checkRadioButton(RB_NIBBLES_AVERAGE); -} - -void nibblesSetPro(void) -{ - config.NI_Speed = 2; - checkRadioButton(RB_NIBBLES_PRO); -} - -void nibblesSetTriton(void) -{ - config.NI_Speed = 3; - checkRadioButton(RB_NIBBLES_MANIAC); -} - -// CHECK BOXES - -void nibblesToggleSurround(void) -{ - config.NI_Surround ^= 1; - checkBoxes[CB_NIBBLES_SURROUND].checked = config.NI_Surround ? true : false; - showCheckBox(CB_NIBBLES_SURROUND); -} - -void nibblesToggleGrid(void) -{ - config.NI_Grid ^= 1; - checkBoxes[CB_NIBBLES_GRID].checked = config.NI_Grid ? true : false; - showCheckBox(CB_NIBBLES_GRID); - - if (editor.NI_Play) - redrawNibblesScreen(); -} - -void nibblesToggleWrap(void) -{ - config.NI_Wrap ^= 1; - - checkBoxes[CB_NIBBLES_WRAP].checked = config.NI_Wrap ? true : false; - showCheckBox(CB_NIBBLES_WRAP); -} - -// GLOBAL FUNCTIONS - -void nibblesKeyAdministrator(SDL_Scancode scancode) -{ - if (scancode == SDL_SCANCODE_ESCAPE) - { - if (okBox(2, "System request", "Quit current game of nibbles?") == 1) - { - editor.NI_Play = false; - exitNibblesScreen(); - } - - return; - } - - switch (scancode) - { - // player 1 - case SDL_SCANCODE_RIGHT: nibblesAddBuffer(0, 0); break; - case SDL_SCANCODE_UP: nibblesAddBuffer(0, 1); break; - case SDL_SCANCODE_LEFT: nibblesAddBuffer(0, 2); break; - case SDL_SCANCODE_DOWN: nibblesAddBuffer(0, 3); break; - - // player 2 - case SDL_SCANCODE_D: nibblesAddBuffer(1, 0); break; - case SDL_SCANCODE_W: nibblesAddBuffer(1, 1); break; - case SDL_SCANCODE_A: nibblesAddBuffer(1, 2); break; - case SDL_SCANCODE_S: nibblesAddBuffer(1, 3); break; - - default: break; - } -} - -bool testNibblesCheatCodes(SDL_Keycode keycode) // not directly ported, but same cheatcodes -{ - const char *codeStringPtr; - uint8_t codeStringLen; - - // nibbles cheat codes can only be typed in while holding down left SHIFT+CTRL+ALT - if (keyb.leftShiftPressed && keyb.leftCtrlPressed && keyb.leftAltPressed) - { - if (editor.NI_Play) - { - // during game: "S", "K", "I", "P" (skip to next level) - codeStringPtr = nibblesCheatCode1; - codeStringLen = sizeof (nibblesCheatCode1) - 1; - } - else - { - // not during game: "T", "R", "I", "T", "O", "N" (enable infinite lives) - codeStringPtr = nibblesCheatCode2; - codeStringLen = sizeof (nibblesCheatCode2) - 1; - } - - nibblesCheatBuffer[NI_CheatIndex] = (char)keycode; - if (nibblesCheatBuffer[NI_CheatIndex] != codeStringPtr[NI_CheatIndex]) - { - NI_CheatIndex = 0; // start over again, one letter didn't match - return true; - } - - if (++NI_CheatIndex == codeStringLen) // cheat code was successfully entered - { - NI_CheatIndex = 0; - - if (editor.NI_Play) - { - nibblesNewLevel(); - } - else - { - NI_EternalLives ^= 1; - if (NI_EternalLives) - okBox(0, "Triton productions declares:", "Eternal lives activated!"); - else - okBox(0, "Triton productions declares:", "Eternal lives deactivated!"); - } - } - - return true; // SHIFT+CTRL+ALT held down, don't test other keys - } - - return false; // SHIFT+CTRL+ALT not held down, test other keys -} - -void pbNibbles(void) -{ - showNibblesScreen(); -} +// directly ported from FT2 source code (except some routines) + +#include +#include +#include // round() +#include "ft2_keyboard.h" +#include "ft2_config.h" +#include "ft2_video.h" +#include "ft2_gui.h" +#include "ft2_pattern_ed.h" +#include "ft2_gfxdata.h" + +#define NI_MAXLEVEL 30 + +static const char *NI_HelpText[] = +{ + "Player 1 uses cursor keys to control movement.", + "Player 2 uses the following keys:", + "", + " (W=Up)", + " (A=Left) (S=Down) (D=Right)", + "", + "The \"Wrap\" option controls whether it's possible to walk through", + "the screen edges or not. Turn it on and use your brain to get", + "the maximum out of this feature.", + "The \"Surround\" option turns nibbles into a completely different", + "game. Don't change this option during play! (You'll see why)", + "We wish you many hours of fun playing this game." +}; +#define NIBBLES_HELP_LINES (sizeof (NI_HelpText) / sizeof (char *)) + +typedef struct +{ + int16_t antal; + uint8_t data[8]; +} nibbleBufferTyp; + +typedef struct +{ + uint8_t x, y; +} nibbleCrd; + +static const char nibblesCheatCode1[] = "skip", nibblesCheatCode2[] = "triton"; +static char nibblesCheatBuffer[16]; + +const char convHexTable2[10] = { 7, 8, 9, 10, 11, 12, 13, 16, 17, 18 }; +static const uint8_t NI_Speeds[4] = { 12, 8, 6, 4 }; +static bool NI_EternalLives; +static uint8_t NI_CheatIndex, NI_CurSpeed, NI_CurTick60Hz, NI_CurSpeed60Hz, NI_Screen[51][23], NI_Level; +static int16_t NI_P1Dir, NI_P2Dir, NI_P1Len, NI_P2Len, NI_Number, NI_NumberX, NI_NumberY, NI_P1NoRens, NI_P2NoRens; +static uint16_t NI_P1Lives, NI_P2Lives; +static int32_t NI_P1Score, NI_P2Score; +static nibbleCrd NI_P1[256], NI_P2[256]; +static nibbleBufferTyp nibblesBuffer[2]; + +static void redrawNibblesScreen(void) +{ + uint8_t x, y, c; + int16_t xs, ys; + + if (!editor.NI_Play) + return; + + for (x = 0; x < 51; x++) + { + for (y = 0; y < 23; y++) + { + xs = 152 + (x * 8); + ys = 7 + (y * 7); + + c = NI_Screen[x][y]; + if (c < 16) + { + if (config.NI_Grid) + { + fillRect(xs + 0, ys + 0, 8 - 0, 7 - 0, PAL_BUTTON2); + fillRect(xs + 1, ys + 1, 8 - 1, 7 - 1, c); + } + else + { + fillRect(xs, ys, 8, 7, c); + } + } + else + { + charOut(xs + 2, ys, PAL_FORGRND, convHexTable2[NI_Number]); + } + } + } + + // fix wrongly rendered grid + if (config.NI_Grid) + { + vLine(560, 7, 161, PAL_BUTTON2); + hLine(152, 168, 409, PAL_BUTTON2); + } + else + { + // if we turned grid off, clear lines + vLine(560, 7, 161, PAL_BCKGRND); + hLine(152, 168, 409, PAL_BCKGRND); + } +} + +static void nibblesAddBuffer(int16_t nr, uint8_t typ) +{ + nibbleBufferTyp *n; + + n = &nibblesBuffer[nr]; + if (n->antal < 8) + { + n->data[n->antal] = typ; + n->antal++; + } +} + +static bool nibblesBufferFull(int16_t nr) +{ + return (nibblesBuffer[nr].antal > 0); +} + +static int16_t nibblesGetBuffer(int16_t nr) +{ + int16_t dataOut; + nibbleBufferTyp *n; + + n = &nibblesBuffer[nr]; + if (n->antal > 0) + { + dataOut = n->data[0]; + memmove(&n->data[0], &n->data[1], 7); + n->antal--; + + return dataOut; + } + + return -1; +} + +static void nibblesGetLevel(int16_t nr) +{ + int16_t readX, readY, x, y; + + readX = 1 + ((51+2) * (nr % 10)); + readY = 1 + ((23+2) * (nr / 10)); + + for (x = 0; x < 51; x++) + { + for (y = 0; y < 23; y++) + NI_Screen[x][y] = nibblesStages[((readY + y) * 530) + (readX + x)]; + } +} + +static void nibblesCreateLevel(int16_t nr) +{ + uint8_t c; + int16_t x, y, x1, y1, x2, y2; + + if (nr >= NI_MAXLEVEL) + nr = NI_MAXLEVEL - 1; + + nibblesGetLevel(nr); + + x1 = 0; x2 = 0; + y1 = 0; y2 = 0; + + for (y = 0; y < 23; y++) + { + for (x = 0; x < 51; x++) + { + if (NI_Screen[x][y] == 1 || NI_Screen[x][y] == 3) + { + c = NI_Screen[x][y]; + + if (c == 3) + { + x1 = x; + y1 = y; + } + + if (c == 1) + { + x2 = x; + y2 = y; + } + + NI_Screen[x][y] = 0; + } + } + } + + x = (51 + 2) * (nr % 10); + y = (23 + 2) * (nr / 10); + + NI_P1Dir = nibblesStages[(y * 530) + (x + 1)]; + NI_P2Dir = nibblesStages[(y * 530) + (x + 0)]; + + NI_P1Len = 5; + NI_P2Len = 5; + NI_P1NoRens = 0; + NI_P2NoRens = 0; + NI_Number = 0; + nibblesBuffer[0].antal = 0; + nibblesBuffer[1].antal = 0; + + for (int16_t i = 0; i < 256; i++) + { + NI_P1[i].x = (uint8_t)x1; + NI_P1[i].y = (uint8_t)y1; + NI_P2[i].x = (uint8_t)x2; + NI_P2[i].y = (uint8_t)y2; + } +} + +static void nibbleWriteLevelSprite(int16_t xOut, int16_t yOut, int16_t nr) +{ + uint8_t *src; + uint16_t readX, readY; + uint32_t *dst; + + readX = (51 + 2) * (nr % 10); + readY = (23 + 2) * (nr / 10); + + src = (uint8_t *)&nibblesStages[(readY * 530) + readX]; + dst = &video.frameBuffer[(yOut * SCREEN_W) + xOut]; + + for (uint16_t y = 0; y < 23+2; y++) + { + for (uint16_t x = 0; x < 51+2; x++) + *dst++ = video.palette[*src++]; + + src += 530 - (51+2); + dst += SCREEN_W - (51+2); + } + + // overwrite start position pixels + video.frameBuffer[(yOut * SCREEN_W) + (xOut + 0)] = video.palette[PAL_FORGRND]; + video.frameBuffer[(yOut * SCREEN_W) + (xOut + 1)] = video.palette[PAL_FORGRND]; +} + +static void highScoreTextOutClipX(uint16_t x, uint16_t y, uint8_t paletteIndex, uint8_t shadowPaletteIndex, const char *textPtr, uint16_t clipX) +{ + char ch; + uint16_t currX; + + assert(textPtr != NULL); + + currX = x; + for (uint16_t i = 0; i < 22; i++) + { + ch = textPtr[i]; + if (ch == '\0') + break; + + charOutClipX(currX + 1, y + 1, shadowPaletteIndex, ch, clipX); // shadow + charOutClipX(currX, y, paletteIndex, ch, clipX); // foreground + + currX += charWidth(ch); + if (currX >= clipX) + break; + } +} + +void nibblesHighScore(void) +{ + if (editor.NI_Play) + { + okBox(0, "System message", "No highscoretable is available during play."); + return; + } + + clearRect(152, 7, 409, 162); + + bigTextOut(160, 10, PAL_FORGRND, "Fasttracker Nibbles Highscore"); + for (int16_t i = 0; i < 5; i++) + { + highScoreTextOutClipX(160, 42 + (26 * i), PAL_FORGRND, PAL_DSKTOP2, config.NI_HighScore[i].name, 160 + 70); + hexOutShadow(160 + 76, 42 + (26 * i), PAL_FORGRND, PAL_DSKTOP2, config.NI_HighScore[i].score, 8); + nibbleWriteLevelSprite(160 + 136, (42 - 9) + (26 * i), config.NI_HighScore[i].level); + + highScoreTextOutClipX(360, 42 + (26 * i), PAL_FORGRND, PAL_DSKTOP2, config.NI_HighScore[i+5].name, 360 + 70); + hexOutShadow(360 + 76, 42 + (26 * i), PAL_FORGRND, PAL_DSKTOP2, config.NI_HighScore[i+5].score, 8); + nibbleWriteLevelSprite(360 + 136, (42 - 9) + (26 * i), config.NI_HighScore[i+5].level); + } +} + +static void setNibbleDot(uint8_t x, uint8_t y, uint8_t c) +{ + uint16_t xs, ys; + + xs = 152 + (x * 8); + ys = 7 + (y * 7); + + if (config.NI_Grid) + { + fillRect(xs + 0, ys + 0, 8 - 0, 7 - 0, PAL_BUTTON2); + fillRect(xs + 1, ys + 1, 8 - 1, 7 - 1, c); + } + else + { + fillRect(xs, ys, 8, 7, c); + } + + NI_Screen[x][y] = c; +} + +static void nibblesGenNewNumber(void) +{ + int16_t x, y, xs, ys; + + while (true) + { + x = rand() % 51; + y = rand() % 23; + + if (NI_Screen[x][y] == 0 && NI_Screen[x][y+1] == 0) + { + NI_Number++; + NI_Screen[x][y] = (uint8_t)(16 + NI_Number); + NI_NumberX = x; + NI_NumberY = y; + + xs = 152 + (x * 8); + ys = 7 + (y * 7); + + if (config.NI_Grid) + { + fillRect(xs + 0, ys + 0, 8 - 0, 7 - 0, PAL_BUTTON2); + fillRect(xs + 1, ys + 1, 8 - 1, 7 - 1, PAL_BCKGRND); + } + else + { + fillRect(xs, ys, 8, 7, PAL_BCKGRND); + } + + charOut((x * 8) + 154, (y * 7) + 7, PAL_FORGRND, convHexTable2[NI_Number]); + break; + } + } +} + +static void newNibblesGame(void) +{ + nibblesCreateLevel(NI_Level); + redrawNibblesScreen(); + + setNibbleDot(NI_P1[0].x, NI_P1[0].y, 6); + if (config.NI_AntPlayers == 1) + setNibbleDot(NI_P2[0].x, NI_P2[0].y, 7); + + if (!config.NI_Surround) + nibblesGenNewNumber(); +} + +static bool nibblesInvalid(int16_t x, int16_t y, int16_t d) +{ + if (!config.NI_Wrap) + { + if ((x == 0 && d == 0) || (x == 50 && d == 2) || (y == 0 && d == 3) || (y == 22 && d == 1)) + return true; + } + + assert(x >= 0 && x < 51 && y >= 0 && y < 23); + return (NI_Screen[x][y] >= 1 && NI_Screen[x][y] <= 15); +} + +static void drawScoresLives(void) +{ + char str[8]; + + // player 1 + hexOutBg(89, 27, PAL_FORGRND, PAL_DESKTOP, NI_P1Score, 8); + + assert(NI_P1Lives < 100); + sprintf(str, "%02d", NI_P1Lives); + textOutFixed(131, 39, PAL_FORGRND, PAL_DESKTOP, str); + + // player 2 + hexOutBg(89, 75, PAL_FORGRND, PAL_DESKTOP, NI_P2Score, 8); + + assert(NI_P2Lives < 100); + sprintf(str, "%02d", NI_P2Lives); + textOutFixed(131, 87, PAL_FORGRND, PAL_DESKTOP, str); +} + +static void nibblesDecLives(int16_t l1, int16_t l2) +{ + char name[21 + 1]; + int16_t i, k; + highScoreType *h; + + if (!NI_EternalLives) + { + NI_P1Lives -= l1; + NI_P2Lives -= l2; + } + + drawScoresLives(); + + if (l1+l2 == 2) + { + okBox(0, "Nibbles message", "Both players died!"); + } + else + { + if (l2 == 0) + okBox(0, "Nibbles message", "Player 1 died!"); + else + okBox(0, "Nibbles message", "Player 2 died!"); + } + + if (NI_P1Lives == 0 || NI_P2Lives == 0) + { + editor.NI_Play = false; + okBox(0, "Nibbles message", "GAME OVER"); + + if (NI_P1Score > config.NI_HighScore[9].score) + { + strcpy(name, "Unknown"); + inputBox(0, "Player 1 - Enter your name:", name, sizeof (name) - 1); + + i = 0; + while (NI_P1Score <= config.NI_HighScore[i].score) + i++; + + for (k = 8; k >= i; k--) + memcpy(&config.NI_HighScore[k+1], &config.NI_HighScore[k], sizeof (highScoreType)); + + if (i == 0) + okBox(0, "Nibbles message", "You've probably cheated!"); + + h = &config.NI_HighScore[i]; + + k = (int16_t)strlen(name); + memset(h->name, 0, sizeof (h->name)); + memcpy(h->name, name, k); + h->nameLen = (uint8_t)k; + + h->score = NI_P1Score; + h->level = NI_Level; + } + + if (NI_P2Score > config.NI_HighScore[9].score) + { + strcpy(name, "Unknown"); + inputBox(0, "Player 2 - Enter your name:", name, sizeof (name) - 1); + + i = 0; + while (NI_P2Score <= config.NI_HighScore[i].score) + i++; + + for (k = 8; k >= i; k--) + memcpy(&config.NI_HighScore[k+1], &config.NI_HighScore[k], sizeof (highScoreType)); + + if (i == 0) + okBox(0, "Nibbles message", "You've probably cheated!"); + + h = &config.NI_HighScore[i]; + k = (int16_t)strlen(name); + + memset(h->name, 0, sizeof (h->name)); + memcpy(h->name, name, k); + h->nameLen = (uint8_t)k; + + h->score = NI_P2Score; + h->level = NI_Level; + } + + nibblesHighScore(); + } + else + { + editor.NI_Play = true; + newNibblesGame(); + } +} + +static void nibblesEraseNumber(void) +{ + if (!config.NI_Surround) + setNibbleDot((uint8_t)NI_NumberX, (uint8_t)NI_NumberY, 0); +} + +static void nibblesNewLevel(void) +{ + char text[24]; + + sprintf(text, "Level %d finished!", NI_Level + 1); + okBox(0, "Nibbles message", text); + + // cast to int16_t to simulate a bug in FT2 + NI_P1Score += 0x10000 + (int16_t)((12 - NI_CurSpeed) * 0x2000); + if (config.NI_AntPlayers == 1) + NI_P2Score += 0x10000; + + NI_Level++; + + if (NI_P1Lives < 99) + NI_P1Lives++; + + if (config.NI_AntPlayers == 1) + { + if (NI_P2Lives < 99) + NI_P2Lives++; + } + + NI_Number = 0; + nibblesCreateLevel(NI_Level); + redrawNibblesScreen(); + + nibblesGenNewNumber(); +} + +void moveNibblePlayers(void) +{ + int16_t i, j; + + if (editor.ui.sysReqShown || --NI_CurTick60Hz != 0) + return; + + if (nibblesBufferFull(0)) + { + switch (nibblesGetBuffer(0)) + { + case 0: if (NI_P1Dir != 2) NI_P1Dir = 0; break; + case 1: if (NI_P1Dir != 3) NI_P1Dir = 1; break; + case 2: if (NI_P1Dir != 0) NI_P1Dir = 2; break; + case 3: if (NI_P1Dir != 1) NI_P1Dir = 3; break; + default: break; + } + } + + if (nibblesBufferFull(1)) + { + switch (nibblesGetBuffer(1)) + { + case 0: if (NI_P2Dir != 2) NI_P2Dir = 0; break; + case 1: if (NI_P2Dir != 3) NI_P2Dir = 1; break; + case 2: if (NI_P2Dir != 0) NI_P2Dir = 2; break; + case 3: if (NI_P2Dir != 1) NI_P2Dir = 3; break; + default: break; + } + } + + memmove(&NI_P1[1], &NI_P1[0], 255 * sizeof (nibbleCrd)); + if (config.NI_AntPlayers == 1) + memmove(&NI_P2[1], &NI_P2[0], 255 * sizeof (nibbleCrd)); + + switch (NI_P1Dir) + { + case 0: NI_P1[0].x++; break; + case 1: NI_P1[0].y--; break; + case 2: NI_P1[0].x--; break; + case 3: NI_P1[0].y++; break; + default: break; + } + + if (config.NI_AntPlayers == 1) + { + switch (NI_P2Dir) + { + case 0: NI_P2[0].x++; break; + case 1: NI_P2[0].y--; break; + case 2: NI_P2[0].x--; break; + case 3: NI_P2[0].y++; break; + default: break; + } + } + + if (NI_P1[0].x == 255) NI_P1[0].x = 50; + if (NI_P2[0].x == 255) NI_P2[0].x = 50; + if (NI_P1[0].y == 255) NI_P1[0].y = 22; + if (NI_P2[0].y == 255) NI_P2[0].y = 22; + + NI_P1[0].x %= 51; + NI_P1[0].y %= 23; + NI_P2[0].x %= 51; + NI_P2[0].y %= 23; + + if (config.NI_AntPlayers == 1) + { + if (nibblesInvalid(NI_P1[0].x, NI_P1[0].y, NI_P1Dir) && nibblesInvalid(NI_P2[0].x, NI_P2[0].y, NI_P2Dir)) + { + nibblesDecLives(1, 1); + goto NoMove; + } + else if (nibblesInvalid(NI_P1[0].x, NI_P1[0].y, NI_P1Dir)) + { + nibblesDecLives(1, 0); + goto NoMove; + } + else if (nibblesInvalid(NI_P2[0].x, NI_P2[0].y, NI_P2Dir)) + { + nibblesDecLives(0, 1); + goto NoMove; + } + else if (NI_P1[0].x == NI_P2[0].x && NI_P1[0].y == NI_P2[0].y) + { + nibblesDecLives(1, 1); + goto NoMove; + } + } + else + { + if (nibblesInvalid(NI_P1[0].x, NI_P1[0].y, NI_P1Dir)) + { + nibblesDecLives(1, 0); + goto NoMove; + } + } + + j = 0; + i = NI_Screen[NI_P1[0].x][NI_P1[0].y]; + if (i >= 16) + { + NI_P1Score += (i & 15) * 999 * (NI_Level + 1); + nibblesEraseNumber(); j = 1; + NI_P1NoRens = NI_P1Len / 2; + } + + if (config.NI_AntPlayers == 1) + { + i = NI_Screen[NI_P2[0].x][NI_P2[0].y]; + if (i >= 16) + { + NI_P2Score += ((i & 15) * 999 * (NI_Level + 1)); + nibblesEraseNumber(); j = 1; + NI_P2NoRens = NI_P2Len / 2; + } + } + + NI_P1Score -= 17; + if (config.NI_AntPlayers == 1) + NI_P2Score -= 17; + + if (NI_P1Score < 0) NI_P1Score = 0; + if (NI_P2Score < 0) NI_P2Score = 0; + + if (!config.NI_Surround) + { + if (NI_P1NoRens > 0 && NI_P1Len < 255) + { + NI_P1NoRens--; + NI_P1Len++; + } + else + { + setNibbleDot(NI_P1[NI_P1Len].x, NI_P1[NI_P1Len].y, 0); + } + + if (config.NI_AntPlayers == 1) + { + if (NI_P2NoRens > 0 && NI_P2Len < 255) + { + NI_P2NoRens--; + NI_P2Len++; + } + else + { + setNibbleDot(NI_P2[NI_P2Len].x, NI_P2[NI_P2Len].y, 0); + } + } + } + + setNibbleDot(NI_P1[0].x, NI_P1[0].y, 6); + if (config.NI_AntPlayers == 1) + setNibbleDot(NI_P2[0].x, NI_P2[0].y, 5); + + if (j == 1 && !config.NI_Surround) + { + if (NI_Number == 9) + { + nibblesNewLevel(); + NI_CurTick60Hz = NI_CurSpeed60Hz; + return; + } + + nibblesGenNewNumber(); + } + +NoMove: + NI_CurTick60Hz = NI_CurSpeed60Hz; + drawScoresLives(); +} + +void showNibblesScreen(void) +{ + if (editor.ui.extended) + exitPatternEditorExtended(); + + hideTopScreen(); + editor.ui.nibblesShown = true; + + drawFramework(0, 0, 632, 3, FRAMEWORK_TYPE1); + drawFramework(0, 3, 148, 49, FRAMEWORK_TYPE1); + drawFramework(0, 52, 148, 49, FRAMEWORK_TYPE1); + drawFramework(0, 101, 148, 72, FRAMEWORK_TYPE1); + drawFramework(148, 3, 417, 170, FRAMEWORK_TYPE1); + drawFramework(150, 5, 413, 166, FRAMEWORK_TYPE2); + drawFramework(565, 3, 67, 170, FRAMEWORK_TYPE1); + + bigTextOutShadow(4, 6, PAL_FORGRND, PAL_DSKTOP2, "Player 1"); + bigTextOutShadow(4, 55, PAL_FORGRND, PAL_DSKTOP2, "Player 2"); + + textOutShadow(4, 27, PAL_FORGRND, PAL_DSKTOP2, "Score"); + textOutShadow(4, 75, PAL_FORGRND, PAL_DSKTOP2, "Score"); + textOutShadow(4, 39, PAL_FORGRND, PAL_DSKTOP2, "Lives"); + textOutShadow(4, 87, PAL_FORGRND, PAL_DSKTOP2, "Lives"); + textOutShadow(18, 106, PAL_FORGRND, PAL_DSKTOP2, "1 player"); + textOutShadow(18, 120, PAL_FORGRND, PAL_DSKTOP2, "2 players"); + textOutShadow(20, 135, PAL_FORGRND, PAL_DSKTOP2, "Surround"); + textOutShadow(20, 148, PAL_FORGRND, PAL_DSKTOP2, "Grid"); + textOutShadow(20, 161, PAL_FORGRND, PAL_DSKTOP2, "Wrap"); + textOutShadow(80, 105, PAL_FORGRND, PAL_DSKTOP2, "Difficulty:"); + textOutShadow(93, 118, PAL_FORGRND, PAL_DSKTOP2, "Novice"); + textOutShadow(93, 132, PAL_FORGRND, PAL_DSKTOP2, "Average"); + textOutShadow(93, 146, PAL_FORGRND, PAL_DSKTOP2, "Pro"); + textOutShadow(93, 160, PAL_FORGRND, PAL_DSKTOP2, "Triton"); + + drawScoresLives(); + + blitFast(569, 7, nibblesLogo, 59, 91); + + showPushButton(PB_NIBBLES_PLAY); + showPushButton(PB_NIBBLES_HELP); + showPushButton(PB_NIBBLES_HIGHS); + showPushButton(PB_NIBBLES_EXIT); + + checkBoxes[CB_NIBBLES_SURROUND].checked = config.NI_Surround ? true : false; + checkBoxes[CB_NIBBLES_GRID].checked = config.NI_Grid ? true : false; + checkBoxes[CB_NIBBLES_WRAP].checked = config.NI_Wrap ? true : false; + showCheckBox(CB_NIBBLES_SURROUND); + showCheckBox(CB_NIBBLES_GRID); + showCheckBox(CB_NIBBLES_WRAP); + + uncheckRadioButtonGroup(RB_GROUP_NIBBLES_PLAYERS); + if (config.NI_AntPlayers == 0) + radioButtons[RB_NIBBLES_1PLAYER].state = RADIOBUTTON_CHECKED; + else + radioButtons[RB_NIBBLES_2PLAYERS].state = RADIOBUTTON_CHECKED; + showRadioButtonGroup(RB_GROUP_NIBBLES_PLAYERS); + + uncheckRadioButtonGroup(RB_GROUP_NIBBLES_DIFFICULTY); + switch (config.NI_Speed) + { + default: + case 0: radioButtons[RB_NIBBLES_NOVICE].state = RADIOBUTTON_CHECKED; break; + case 1: radioButtons[RB_NIBBLES_AVERAGE].state = RADIOBUTTON_CHECKED; break; + case 2: radioButtons[RB_NIBBLES_PRO].state = RADIOBUTTON_CHECKED; break; + case 3: radioButtons[RB_NIBBLES_MANIAC].state = RADIOBUTTON_CHECKED; break; + } + showRadioButtonGroup(RB_GROUP_NIBBLES_DIFFICULTY); +} + +void hideNibblesScreen(void) +{ + hidePushButton(PB_NIBBLES_PLAY); + hidePushButton(PB_NIBBLES_HELP); + hidePushButton(PB_NIBBLES_HIGHS); + hidePushButton(PB_NIBBLES_EXIT); + + hideRadioButtonGroup(RB_GROUP_NIBBLES_PLAYERS); + hideRadioButtonGroup(RB_GROUP_NIBBLES_DIFFICULTY); + + hideCheckBox(CB_NIBBLES_SURROUND); + hideCheckBox(CB_NIBBLES_GRID); + hideCheckBox(CB_NIBBLES_WRAP); + + editor.ui.nibblesShown = false; +} + +void exitNibblesScreen(void) +{ + hideNibblesScreen(); + showTopScreen(true); +} + +// PUSH BUTTONS + +void nibblesPlay(void) +{ + if (editor.NI_Play) + { + if (okBox(2, "Nibbles request", "Restart the current game of nibbles?") != 1) + return; + } + + if (config.NI_Surround && config.NI_AntPlayers == 0) + { + okBox(0, "Nibbles message", "\"Surround\" is not appropriate in one-player mode."); + return; + } + + assert(config.NI_Speed < 4); + NI_CurSpeed = NI_Speeds[config.NI_Speed]; + + // adjust for 70Hz -> 60Hz frames + NI_CurSpeed60Hz = (uint8_t)round(NI_CurSpeed * ((double)VBLANK_HZ / FT2_VBLANK_HZ)); + NI_CurTick60Hz = (uint8_t)round(NI_Speeds[2] * ((double)VBLANK_HZ / FT2_VBLANK_HZ)); + + editor.NI_Play = true; + NI_P1Score = 0; + NI_P2Score = 0; + NI_P1Lives = 5; + NI_P2Lives = 5; + NI_Level = 0; + + newNibblesGame(); +} + +void nibblesHelp(void) +{ + if (editor.NI_Play) + { + okBox(0, "System message", "No help available during play."); + return; + } + + clearRect(152, 7, 409, 162); + + bigTextOut(160, 10, PAL_FORGRND, "Fasttracker Nibbles Help"); + for (uint8_t i = 0; i < NIBBLES_HELP_LINES; i++) + textOut(160, 36 + (11 * i), PAL_BUTTONS, NI_HelpText[i]); +} + +void nibblesExit(void) +{ + if (editor.NI_Play) + { + if (okBox(2, "System request", "Quit current game of nibbles?") == 1) + { + editor.NI_Play = false; + exitNibblesScreen(); + } + + return; + } + + exitNibblesScreen(); +} + +// RADIO BUTTONS + +void nibblesSet1Player(void) +{ + config.NI_AntPlayers = 0; + checkRadioButton(RB_NIBBLES_1PLAYER); +} + +void nibblesSet2Players(void) +{ + config.NI_AntPlayers = 1; + checkRadioButton(RB_NIBBLES_2PLAYERS); +} + +void nibblesSetNovice(void) +{ + config.NI_Speed = 0; + checkRadioButton(RB_NIBBLES_NOVICE); +} + +void nibblesSetAverage(void) +{ + config.NI_Speed = 1; + checkRadioButton(RB_NIBBLES_AVERAGE); +} + +void nibblesSetPro(void) +{ + config.NI_Speed = 2; + checkRadioButton(RB_NIBBLES_PRO); +} + +void nibblesSetTriton(void) +{ + config.NI_Speed = 3; + checkRadioButton(RB_NIBBLES_MANIAC); +} + +// CHECK BOXES + +void nibblesToggleSurround(void) +{ + config.NI_Surround ^= 1; + checkBoxes[CB_NIBBLES_SURROUND].checked = config.NI_Surround ? true : false; + showCheckBox(CB_NIBBLES_SURROUND); +} + +void nibblesToggleGrid(void) +{ + config.NI_Grid ^= 1; + checkBoxes[CB_NIBBLES_GRID].checked = config.NI_Grid ? true : false; + showCheckBox(CB_NIBBLES_GRID); + + if (editor.NI_Play) + redrawNibblesScreen(); +} + +void nibblesToggleWrap(void) +{ + config.NI_Wrap ^= 1; + + checkBoxes[CB_NIBBLES_WRAP].checked = config.NI_Wrap ? true : false; + showCheckBox(CB_NIBBLES_WRAP); +} + +// GLOBAL FUNCTIONS + +void nibblesKeyAdministrator(SDL_Scancode scancode) +{ + if (scancode == SDL_SCANCODE_ESCAPE) + { + if (okBox(2, "System request", "Quit current game of nibbles?") == 1) + { + editor.NI_Play = false; + exitNibblesScreen(); + } + + return; + } + + switch (scancode) + { + // player 1 + case SDL_SCANCODE_RIGHT: nibblesAddBuffer(0, 0); break; + case SDL_SCANCODE_UP: nibblesAddBuffer(0, 1); break; + case SDL_SCANCODE_LEFT: nibblesAddBuffer(0, 2); break; + case SDL_SCANCODE_DOWN: nibblesAddBuffer(0, 3); break; + + // player 2 + case SDL_SCANCODE_D: nibblesAddBuffer(1, 0); break; + case SDL_SCANCODE_W: nibblesAddBuffer(1, 1); break; + case SDL_SCANCODE_A: nibblesAddBuffer(1, 2); break; + case SDL_SCANCODE_S: nibblesAddBuffer(1, 3); break; + + default: break; + } +} + +bool testNibblesCheatCodes(SDL_Keycode keycode) // not directly ported, but same cheatcodes +{ + const char *codeStringPtr; + uint8_t codeStringLen; + + // nibbles cheat codes can only be typed in while holding down left SHIFT+CTRL+ALT + if (keyb.leftShiftPressed && keyb.leftCtrlPressed && keyb.leftAltPressed) + { + if (editor.NI_Play) + { + // during game: "S", "K", "I", "P" (skip to next level) + codeStringPtr = nibblesCheatCode1; + codeStringLen = sizeof (nibblesCheatCode1) - 1; + } + else + { + // not during game: "T", "R", "I", "T", "O", "N" (enable infinite lives) + codeStringPtr = nibblesCheatCode2; + codeStringLen = sizeof (nibblesCheatCode2) - 1; + } + + nibblesCheatBuffer[NI_CheatIndex] = (char)keycode; + if (nibblesCheatBuffer[NI_CheatIndex] != codeStringPtr[NI_CheatIndex]) + { + NI_CheatIndex = 0; // start over again, one letter didn't match + return true; + } + + if (++NI_CheatIndex == codeStringLen) // cheat code was successfully entered + { + NI_CheatIndex = 0; + + if (editor.NI_Play) + { + nibblesNewLevel(); + } + else + { + NI_EternalLives ^= 1; + if (NI_EternalLives) + okBox(0, "Triton productions declares:", "Eternal lives activated!"); + else + okBox(0, "Triton productions declares:", "Eternal lives deactivated!"); + } + } + + return true; // SHIFT+CTRL+ALT held down, don't test other keys + } + + return false; // SHIFT+CTRL+ALT not held down, test other keys +} + +void pbNibbles(void) +{ + showNibblesScreen(); +} diff --git a/src/ft2_nibbles.h b/src/ft2_nibbles.h index 20170cf..54d7ef8 100644 --- a/src/ft2_nibbles.h +++ b/src/ft2_nibbles.h @@ -1,26 +1,26 @@ -#pragma once - -#include -#include -#include - -void nibblesKeyAdministrator(SDL_Scancode scancode); -void moveNibblePlayers(void); -void showNibblesScreen(void); -void hideNibblesScreen(void); -void exitNibblesScreen(void); -void pbNibbles(void); -void nibblesPlay(void); -void nibblesHelp(void); -void nibblesHighScore(void); -void nibblesExit(void); -void nibblesSet1Player(void); -void nibblesSet2Players(void); -void nibblesSetNovice(void); -void nibblesSetAverage(void); -void nibblesSetPro(void); -void nibblesSetTriton(void); -void nibblesToggleSurround(void); -void nibblesToggleGrid(void); -void nibblesToggleWrap(void); -bool testNibblesCheatCodes(SDL_Keycode keycode); +#pragma once + +#include +#include +#include + +void nibblesKeyAdministrator(SDL_Scancode scancode); +void moveNibblePlayers(void); +void showNibblesScreen(void); +void hideNibblesScreen(void); +void exitNibblesScreen(void); +void pbNibbles(void); +void nibblesPlay(void); +void nibblesHelp(void); +void nibblesHighScore(void); +void nibblesExit(void); +void nibblesSet1Player(void); +void nibblesSet2Players(void); +void nibblesSetNovice(void); +void nibblesSetAverage(void); +void nibblesSetPro(void); +void nibblesSetTriton(void); +void nibblesToggleSurround(void); +void nibblesToggleGrid(void); +void nibblesToggleWrap(void); +bool testNibblesCheatCodes(SDL_Keycode keycode); diff --git a/src/ft2_palette.c b/src/ft2_palette.c index 7f993cb..9e56f55 100644 --- a/src/ft2_palette.c +++ b/src/ft2_palette.c @@ -1,507 +1,455 @@ -#include -#include -#include "ft2_palette.h" -#include "ft2_gui.h" -#include "ft2_config.h" -#include "ft2_video.h" - -uint8_t cfg_ColorNr = 0; // globalized - -static uint8_t cfg_Red, cfg_Green, cfg_Blue, cfg_Contrast; - -static const uint8_t FTC_EditOrder[6] = { PAL_PATTEXT, PAL_BLCKMRK, PAL_BLCKTXT, PAL_MOUSEPT, PAL_DESKTOP, PAL_BUTTONS }; -static const uint8_t scaleOrder[3] = { 8, 4, 9 }; - -static uint8_t palContrast[12][2] = // palette desktop/button contrasts -{ - {59, 55}, {59, 53}, {56, 59}, {68, 55}, {57, 59}, {48, 55}, - {66, 62}, {68, 57}, {46, 57}, {57, 55}, {62, 57}, {52, 57} -}; - -void setPal16(pal16 *p, bool redrawScreen) -{ -#define LOOP_PIN_COL_SUB 106 -#define TEXT_MARK_COLOR 0x0078D7 - - int16_t r, g, b; - - // set main palette w/ 18-bit -> 24-bit conversion - for (int32_t i = 0; i < 16; i++) - { - r = P6_TO_P8(p[i].r); // 0..63 -> 0..255 - g = P6_TO_P8(p[i].g); - b = P6_TO_P8(p[i].b); - - video.palette[i] = (i << 24) | RGB32(r, g, b); - } - - // set custom FT2 clone palette entries - - video.palette[PAL_TEXTMRK] = (PAL_TEXTMRK << 24) | TEXT_MARK_COLOR; - - r = RGB32_R(video.palette[PAL_PATTEXT]); - g = RGB32_G(video.palette[PAL_PATTEXT]); - b = RGB32_B(video.palette[PAL_PATTEXT]); - - r = MAX(r - LOOP_PIN_COL_SUB, 0); - g = MAX(g - LOOP_PIN_COL_SUB, 0); - b = MAX(b - LOOP_PIN_COL_SUB, 0); - - video.palette[PAL_LOOPPIN] = (PAL_LOOPPIN << 24) | RGB32(r, g, b); - - // update framebuffer pixels with new palette - if (redrawScreen && video.frameBuffer != NULL) - { - for (int32_t i = 0; i < SCREEN_W*SCREEN_H; i++) - video.frameBuffer[i] = video.palette[(video.frameBuffer[i] >> 24) & 15]; // ARGB alpha channel = palette index - } -} - -static void showColorErrorMsg(void) -{ - okBox(0, "System message", "Default colours cannot be modified."); -} - -static double palPow(double dX, double dY) -{ - if (dY == 1.0) - return dX; - - dY *= log(fabs(dX)); - dY = CLAMP(dY, -86.0, 86.0); - - return exp(dY); -} - -uint8_t palMax(int32_t c) -{ - return (uint8_t)(CLAMP(c, 0, 63)); -} - -static void drawCurrentPaletteColor(void) -{ - uint8_t r, g, b, palIndex; - - palIndex = FTC_EditOrder[cfg_ColorNr]; - - r = P6_TO_P8(cfg_Red); - g = P6_TO_P8(cfg_Green); - b = P6_TO_P8(cfg_Blue); - - textOutShadow(516, 3, PAL_FORGRND, PAL_DSKTOP2, "Palette:"); - hexOutBg(573, 3, PAL_FORGRND, PAL_DESKTOP, RGB32(r, g, b) & 0xFFFFFF, 6); - clearRect(616, 2, 12, 10); - fillRect(617, 3, 10, 8, palIndex); -} - -static void updatePaletteEditor(void) -{ - uint8_t nr = FTC_EditOrder[cfg_ColorNr]; - - cfg_Red = palTable[config.cfg_StdPalNr][nr].r; - cfg_Green = palTable[config.cfg_StdPalNr][nr].g; - cfg_Blue = palTable[config.cfg_StdPalNr][nr].b; - - if (cfg_ColorNr == 4 || cfg_ColorNr == 5) - cfg_Contrast = palContrast[config.cfg_StdPalNr][cfg_ColorNr-4]; - else - cfg_Contrast = 0; - - setScrollBarPos(SB_PAL_R, cfg_Red, false); - setScrollBarPos(SB_PAL_G, cfg_Green, false); - setScrollBarPos(SB_PAL_B, cfg_Blue, false); - setScrollBarPos(SB_PAL_CONTRAST, cfg_Contrast, false); - - drawCurrentPaletteColor(); -} - -static void paletteDragMoved(void) -{ - uint8_t nr, p, contrast; - int16_t i, k; - - if (config.cfg_StdPalNr != PAL_USER_DEFINED) - { - updatePaletteEditor(); // resets colors/contrast vars - showColorErrorMsg(); - return; - } - - nr = FTC_EditOrder[cfg_ColorNr]; - p = (uint8_t)config.cfg_StdPalNr; - - palTable[p][nr].r = cfg_Red; - palTable[p][nr].g = cfg_Green; - palTable[p][nr].b = cfg_Blue; - - if (cfg_ColorNr == 4 || cfg_ColorNr == 5) - { - for (i = 0; i < 3; i++) - { - k = scaleOrder[i] + (cfg_ColorNr - 4) * 2; - - contrast = cfg_Contrast; - if (contrast < 1) // no idea why FT2 limits contrast to 1 - contrast = 1; - - palTable[p][k].r = palMax((int32_t)round(cfg_Red * palPow((i + 1) / 2.0, contrast / 40.0))); - palTable[p][k].g = palMax((int32_t)round(cfg_Green * palPow((i + 1) / 2.0, contrast / 40.0))); - palTable[p][k].b = palMax((int32_t)round(cfg_Blue * palPow((i + 1) / 2.0, contrast / 40.0))); - } - - palContrast[p][cfg_ColorNr-4] = cfg_Contrast; - } - else - { - cfg_Contrast = 0; - - setScrollBarPos(SB_PAL_R, cfg_Red, false); - setScrollBarPos(SB_PAL_G, cfg_Green, false); - setScrollBarPos(SB_PAL_B, cfg_Blue, false); - } - - setScrollBarPos(SB_PAL_CONTRAST, cfg_Contrast, false); - - setPal16(palTable[config.cfg_StdPalNr], true); - drawCurrentPaletteColor(); -} - -void sbPalRPos(uint32_t pos) -{ - if (cfg_Red != (uint8_t)pos) - { - cfg_Red = (uint8_t)pos; - paletteDragMoved(); - } -} - -void sbPalGPos(uint32_t pos) -{ - if (cfg_Green != (uint8_t)pos) - { - cfg_Green = (uint8_t)pos; - paletteDragMoved(); - } -} - -void sbPalBPos(uint32_t pos) -{ - if (cfg_Blue != (uint8_t)pos) - { - cfg_Blue = (uint8_t)pos; - paletteDragMoved(); - } -} - -void sbPalContrastPos(uint32_t pos) -{ - if (cfg_Contrast != (uint8_t)pos) - { - cfg_Contrast = (uint8_t)pos; - paletteDragMoved(); - } -} - -void configPalRDown(void) -{ - if (config.cfg_StdPalNr != PAL_USER_DEFINED) - showColorErrorMsg(); - else - scrollBarScrollLeft(SB_PAL_R, 1); -} - -void configPalRUp(void) -{ - if (config.cfg_StdPalNr != PAL_USER_DEFINED) - showColorErrorMsg(); - else - scrollBarScrollRight(SB_PAL_R, 1); -} - -void configPalGDown(void) -{ - if (config.cfg_StdPalNr != PAL_USER_DEFINED) - showColorErrorMsg(); - else - scrollBarScrollLeft(SB_PAL_G, 1); -} - -void configPalGUp(void) -{ - if (config.cfg_StdPalNr != PAL_USER_DEFINED) - showColorErrorMsg(); - else - scrollBarScrollRight(SB_PAL_G, 1); -} - -void configPalBDown(void) -{ - if (config.cfg_StdPalNr != PAL_USER_DEFINED) - showColorErrorMsg(); - else - scrollBarScrollLeft(SB_PAL_B, 1); -} - -void configPalBUp(void) -{ - if (config.cfg_StdPalNr != PAL_USER_DEFINED) - showColorErrorMsg(); - else - scrollBarScrollRight(SB_PAL_B, 1); -} - -void configPalContDown(void) -{ - if (config.cfg_StdPalNr != PAL_USER_DEFINED) - showColorErrorMsg(); - else - scrollBarScrollLeft(SB_PAL_CONTRAST, 1); -} - -void configPalContUp(void) -{ - if (config.cfg_StdPalNr != PAL_USER_DEFINED) - showColorErrorMsg(); - else - scrollBarScrollRight(SB_PAL_CONTRAST, 1); -} - -void showPaletteEditor(void) -{ - charOutShadow(503, 17, PAL_FORGRND, PAL_DSKTOP2, 'R'); - charOutShadow(503, 31, PAL_FORGRND, PAL_DSKTOP2, 'G'); - charOutShadow(503, 45, PAL_FORGRND, PAL_DSKTOP2, 'B'); - - showScrollBar(SB_PAL_R); - showScrollBar(SB_PAL_G); - showScrollBar(SB_PAL_B); - showPushButton(PB_CONFIG_PAL_R_DOWN); - showPushButton(PB_CONFIG_PAL_R_UP); - showPushButton(PB_CONFIG_PAL_G_DOWN); - showPushButton(PB_CONFIG_PAL_G_UP); - showPushButton(PB_CONFIG_PAL_B_DOWN); - showPushButton(PB_CONFIG_PAL_B_UP); - - showRadioButtonGroup(RB_GROUP_CONFIG_PAL_ENTRIES); - - textOutShadow(516, 59, PAL_FORGRND, PAL_DSKTOP2, "Contrast:"); - showScrollBar(SB_PAL_CONTRAST); - showPushButton(PB_CONFIG_PAL_CONT_DOWN); - showPushButton(PB_CONFIG_PAL_CONT_UP); - - updatePaletteEditor(); -} - -void rbConfigPalPatternText(void) -{ - cfg_ColorNr = 0; - checkRadioButton(RB_CONFIG_PAL_PATTERNTEXT); - updatePaletteEditor(); -} - -void rbConfigPalBlockMark(void) -{ - cfg_ColorNr = 1; - checkRadioButton(RB_CONFIG_PAL_BLOCKMARK); - updatePaletteEditor(); -} - -void rbConfigPalTextOnBlock(void) -{ - cfg_ColorNr = 2; - checkRadioButton(RB_CONFIG_PAL_TEXTONBLOCK); - updatePaletteEditor(); -} - -void rbConfigPalMouse(void) -{ - cfg_ColorNr = 3; - checkRadioButton(RB_CONFIG_PAL_MOUSE); - updatePaletteEditor(); -} - -void rbConfigPalDesktop(void) -{ - cfg_ColorNr = 4; - checkRadioButton(RB_CONFIG_PAL_DESKTOP); - updatePaletteEditor(); -} - -void rbConfigPalButttons(void) -{ - cfg_ColorNr = 5; - checkRadioButton(RB_CONFIG_PAL_BUTTONS); - updatePaletteEditor(); -} - -void rbConfigPalArctic(void) -{ - config.cfg_StdPalNr = PAL_ARCTIC; - updatePaletteEditor(); - setPal16(palTable[config.cfg_StdPalNr], true); - checkRadioButton(RB_CONFIG_PAL_ARCTIC); -} - -void rbConfigPalLitheDark(void) -{ - config.cfg_StdPalNr = PAL_LITHE_DARK; - updatePaletteEditor(); - setPal16(palTable[config.cfg_StdPalNr], true); - checkRadioButton(RB_CONFIG_PAL_LITHE_DARK); -} - -void rbConfigPalAuroraBorealis(void) -{ - config.cfg_StdPalNr = PAL_AURORA_BOREALIS; - updatePaletteEditor(); - setPal16(palTable[config.cfg_StdPalNr], true); - checkRadioButton(RB_CONFIG_PAL_AURORA_BOREALIS); -} - -void rbConfigPalRose(void) -{ - config.cfg_StdPalNr = PAL_ROSE; - updatePaletteEditor(); - setPal16(palTable[config.cfg_StdPalNr], true); - checkRadioButton(RB_CONFIG_PAL_ROSE); -} - -void rbConfigPalBlues(void) -{ - config.cfg_StdPalNr = PAL_BLUES; - updatePaletteEditor(); - setPal16(palTable[config.cfg_StdPalNr], true); - checkRadioButton(RB_CONFIG_PAL_BLUES); -} - -void rbConfigPalSpacePigs(void) -{ - config.cfg_StdPalNr = PAL_SPACE_PIGS; - updatePaletteEditor(); - setPal16(palTable[config.cfg_StdPalNr], true); - checkRadioButton(RB_CONFIG_PAL_SPACE_PIGS); -} - -void rbConfigPalGold(void) -{ - config.cfg_StdPalNr = PAL_GOLD; - updatePaletteEditor(); - setPal16(palTable[config.cfg_StdPalNr], true); - checkRadioButton(RB_CONFIG_PAL_GOLD); -} - -void rbConfigPalViolent(void) -{ - config.cfg_StdPalNr = PAL_VIOLENT; - updatePaletteEditor(); - setPal16(palTable[config.cfg_StdPalNr], true); - checkRadioButton(RB_CONFIG_PAL_VIOLENT); -} - -void rbConfigPalHeavyMetal(void) -{ - config.cfg_StdPalNr = PAL_HEAVY_METAL; - updatePaletteEditor(); - setPal16(palTable[config.cfg_StdPalNr], true); - checkRadioButton(RB_CONFIG_PAL_HEAVY_METAL); -} - -void rbConfigPalWhyColors(void) -{ - config.cfg_StdPalNr = PAL_WHY_COLORS; - updatePaletteEditor(); - setPal16(palTable[config.cfg_StdPalNr], true); - checkRadioButton(RB_CONFIG_PAL_WHY_COLORS); -} - -void rbConfigPalJungle(void) -{ - config.cfg_StdPalNr = PAL_JUNGLE; - updatePaletteEditor(); - setPal16(palTable[config.cfg_StdPalNr], true); - checkRadioButton(RB_CONFIG_PAL_JUNGLE); -} - -void rbConfigPalUserDefined(void) -{ - config.cfg_StdPalNr = PAL_USER_DEFINED; - updatePaletteEditor(); - setPal16(palTable[config.cfg_StdPalNr], true); - checkRadioButton(RB_CONFIG_PAL_USER_DEFINED); -} - -pal16 palTable[12][16] = // FT2 palettes (18-bit VGA RGB, 16 color palette) -{ - { - {0, 0, 0},{30, 38, 63},{0, 0, 17},{63, 63, 63}, - {27, 36, 40},{63, 63, 63},{40, 40, 40},{0, 0, 0}, - {10, 13, 14},{49, 63, 63},{15, 15, 15},{63, 63, 63}, - {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} - }, - { - {0, 0, 0},{21, 40, 63},{0, 0, 17},{63, 63, 63}, - {6, 39, 35},{63, 63, 63},{40, 40, 40},{0, 0, 0}, - {2, 14, 13},{11, 63, 63},{16, 16, 16},{63, 63, 63}, - {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} - }, - { - {0, 0, 0},{39, 52, 63},{8, 8, 13},{57, 57, 63}, - {10, 21, 33},{63, 63, 63},{37, 37, 45},{0, 0, 0}, - {4, 8, 13},{18, 37, 58},{13, 13, 16},{63, 63, 63}, - {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} - }, - { - {0, 0, 0},{47, 47, 47},{9, 9, 9},{63, 63, 63}, - {37, 29, 7},{63, 63, 63},{40, 40, 40},{0, 0, 0}, - {11, 9, 2},{63, 58, 14},{15, 15, 15},{63, 63, 63}, - {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} - }, - { - {0, 0, 0},{46, 45, 46},{13, 9, 9},{63, 63, 63}, - {22, 19, 22},{63, 63, 63},{36, 32, 34},{0, 0, 0}, - {8, 7, 8},{39, 34, 39},{13, 12, 12},{63, 58, 62}, - {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} - }, - { - {0, 0, 0},{19, 49, 54},{0, 11, 7},{52, 63, 61}, - {9, 31, 21},{63, 63, 63},{40, 40, 40},{0, 0, 0}, - {4, 13, 9},{15, 50, 34},{15, 15, 15},{63, 63, 63}, - {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} - }, - { - {0, 0, 0},{27, 37, 53},{0, 0, 20},{63, 63, 63}, - {7, 12, 21},{63, 63, 63},{38, 39, 39},{0, 0, 0}, - {2, 4, 7},{14, 23, 41},{13, 13, 13},{63, 63, 63}, - {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} - }, - { - {0, 0, 0},{63, 54, 62},{18, 3, 3},{63, 63, 63}, - {36, 19, 25},{63, 63, 63},{40, 40, 40},{0, 0, 0}, - {11, 6, 8},{63, 38, 50},{15, 15, 15},{63, 63, 63}, - {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} - }, - { - {0, 0, 0},{63, 0, 63},{0, 21, 0},{63, 44, 0}, - {0, 63, 0},{63, 63, 63},{63, 0, 0},{0, 0, 0}, - {0, 28, 0},{0, 63, 0},{23, 0, 0},{63, 0, 0}, - {0, 63, 63},{0, 63, 63},{0, 63, 63},{0, 63, 63} - }, - { - {0, 0, 0},{50, 46, 63},{15, 0, 16},{59, 58, 63}, - {34, 21, 41},{63, 63, 63},{40, 40, 40},{0, 0, 0}, - {13, 8, 15},{61, 37, 63},{15, 15, 15},{63, 63, 63}, - {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} - }, - { - {0, 0, 0},{63, 63, 32},{10, 10, 10},{63, 63, 63}, - {18, 29, 32},{63, 63, 63},{39, 39, 39},{0, 0, 0}, - {6, 10, 11},{34, 54, 60},{15, 15, 15},{63, 63, 63}, - {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} - }, - { - {0, 0, 0},{36, 47, 63},{9, 9, 16},{63, 63, 63}, - {19, 24, 38},{63, 63, 63},{39, 39, 39},{0, 0, 0}, - {8, 10, 15},{32, 41, 63},{15, 15, 15},{63, 63, 63}, - {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} - } -}; +#include +#include +#include "ft2_palette.h" +#include "ft2_gui.h" +#include "ft2_config.h" +#include "ft2_video.h" +#include "ft2_palette.h" +#include "ft2_tables.h" + +uint8_t cfg_ColorNr = 0; // globalized + +static uint8_t cfg_Red, cfg_Green, cfg_Blue, cfg_Contrast; + +static const uint8_t FTC_EditOrder[6] = { PAL_PATTEXT, PAL_BLCKMRK, PAL_BLCKTXT, PAL_MOUSEPT, PAL_DESKTOP, PAL_BUTTONS }; +static const uint8_t scaleOrder[3] = { 8, 4, 9 }; + +static uint8_t palContrast[12][2] = // palette desktop/button contrasts +{ + {59, 55}, {59, 53}, {56, 59}, {68, 55}, {57, 59}, {48, 55}, + {66, 62}, {68, 57}, {46, 57}, {57, 55}, {62, 57}, {52, 57} +}; + +void setCustomPalColor(uint32_t color) +{ + video.palette[PAL_CUSTOM] = (PAL_CUSTOM << 24) | color; +} + +void setPal16(pal16 *p, bool redrawScreen) +{ +#define LOOP_PIN_COL_SUB 118 +#define TEXT_MARK_COLOR 0x0078D7 +#define BOX_SELECT_COLOR 0x7F7F7F + + int16_t r, g, b; + + // set main palette w/ 18-bit -> 24-bit conversion + for (int32_t i = 0; i < 16; i++) + { + r = P6_TO_P8(p[i].r); // 0..63 -> 0..255 + g = P6_TO_P8(p[i].g); + b = P6_TO_P8(p[i].b); + + video.palette[i] = (i << 24) | RGB32(r, g, b); + } + + // set custom FT2 clone palette entries + + video.palette[PAL_TEXTMRK] = (PAL_TEXTMRK << 24) | TEXT_MARK_COLOR; + video.palette[PAL_BOXSLCT] = (PAL_BOXSLCT << 24) | BOX_SELECT_COLOR; + + r = RGB32_R(video.palette[PAL_PATTEXT]); + g = RGB32_G(video.palette[PAL_PATTEXT]); + b = RGB32_B(video.palette[PAL_PATTEXT]); + + r = MAX(r - LOOP_PIN_COL_SUB, 0); + g = MAX(g - LOOP_PIN_COL_SUB, 0); + b = MAX(b - LOOP_PIN_COL_SUB, 0); + + video.palette[PAL_LOOPPIN] = (PAL_LOOPPIN << 24) | RGB32(r, g, b); + + // update framebuffer pixels with new palette + if (redrawScreen && video.frameBuffer != NULL) + { + for (int32_t i = 0; i < SCREEN_W*SCREEN_H; i++) + video.frameBuffer[i] = video.palette[(video.frameBuffer[i] >> 24) & 15]; // ARGB alpha channel = palette index + } +} + +static void showColorErrorMsg(void) +{ + okBox(0, "System message", "Default colors cannot be modified."); +} + +static double palPow(double dX, double dY) +{ + if (dY == 1.0) + return dX; + + dY *= log(fabs(dX)); + dY = CLAMP(dY, -86.0, 86.0); + + return exp(dY); +} + +uint8_t palMax(int32_t c) +{ + return (uint8_t)(CLAMP(c, 0, 63)); +} + +static void drawCurrentPaletteColor(void) +{ + uint8_t r, g, b, palIndex; + + palIndex = FTC_EditOrder[cfg_ColorNr]; + + r = P6_TO_P8(cfg_Red); + g = P6_TO_P8(cfg_Green); + b = P6_TO_P8(cfg_Blue); + + textOutShadow(516, 3, PAL_FORGRND, PAL_DSKTOP2, "Palette:"); + hexOutBg(573, 3, PAL_FORGRND, PAL_DESKTOP, RGB32(r, g, b) & 0xFFFFFF, 6); + clearRect(616, 2, 12, 10); + fillRect(617, 3, 10, 8, palIndex); +} + +static void updatePaletteEditor(void) +{ + uint8_t nr = FTC_EditOrder[cfg_ColorNr]; + + cfg_Red = palTable[config.cfg_StdPalNr][nr].r; + cfg_Green = palTable[config.cfg_StdPalNr][nr].g; + cfg_Blue = palTable[config.cfg_StdPalNr][nr].b; + + if (cfg_ColorNr == 4 || cfg_ColorNr == 5) + cfg_Contrast = palContrast[config.cfg_StdPalNr][cfg_ColorNr-4]; + else + cfg_Contrast = 0; + + setScrollBarPos(SB_PAL_R, cfg_Red, false); + setScrollBarPos(SB_PAL_G, cfg_Green, false); + setScrollBarPos(SB_PAL_B, cfg_Blue, false); + setScrollBarPos(SB_PAL_CONTRAST, cfg_Contrast, false); + + drawCurrentPaletteColor(); +} + +static void paletteDragMoved(void) +{ + uint8_t nr, p; + int16_t i, k; + + if (config.cfg_StdPalNr != PAL_USER_DEFINED) + { + updatePaletteEditor(); // resets colors/contrast vars + showColorErrorMsg(); + return; + } + + if ((config.specialFlags2 & HARDWARE_MOUSE) && cfg_ColorNr == 3) + { + updatePaletteEditor(); // resets colors/contrast vars + okBox(0, "System message", "Mouse color can only be changed when \"Software mouse\" is enabled."); + return; + } + + nr = FTC_EditOrder[cfg_ColorNr]; + p = (uint8_t)config.cfg_StdPalNr; + + palTable[p][nr].r = cfg_Red; + palTable[p][nr].g = cfg_Green; + palTable[p][nr].b = cfg_Blue; + + if (cfg_ColorNr == 4 || cfg_ColorNr == 5) + { + double dRed = cfg_Red; + double dGreen = cfg_Green; + double dBlue = cfg_Blue; + + int32_t contrast = cfg_Contrast; + if (contrast < 1) + contrast = 1; + + double dContrast = contrast * (1.0 / 40.0); + + for (i = 0; i < 3; i++) + { + k = scaleOrder[i] + (cfg_ColorNr - 4) * 2; + + double dMul = palPow((i + 1) * (1.0 / 2.0), dContrast); + + palTable[p][k].r = palMax((int32_t)((dRed * dMul) + 0.5)); + palTable[p][k].g = palMax((int32_t)((dGreen * dMul) + 0.5)); + palTable[p][k].b = palMax((int32_t)((dBlue * dMul) + 0.5)); + } + + palContrast[p][cfg_ColorNr-4] = cfg_Contrast; + } + else + { + cfg_Contrast = 0; + + setScrollBarPos(SB_PAL_R, cfg_Red, false); + setScrollBarPos(SB_PAL_G, cfg_Green, false); + setScrollBarPos(SB_PAL_B, cfg_Blue, false); + } + + setScrollBarPos(SB_PAL_CONTRAST, cfg_Contrast, false); + + setPal16(palTable[config.cfg_StdPalNr], true); + drawCurrentPaletteColor(); +} + +void sbPalRPos(uint32_t pos) +{ + if (cfg_Red != (uint8_t)pos) + { + cfg_Red = (uint8_t)pos; + paletteDragMoved(); + } +} + +void sbPalGPos(uint32_t pos) +{ + if (cfg_Green != (uint8_t)pos) + { + cfg_Green = (uint8_t)pos; + paletteDragMoved(); + } +} + +void sbPalBPos(uint32_t pos) +{ + if (cfg_Blue != (uint8_t)pos) + { + cfg_Blue = (uint8_t)pos; + paletteDragMoved(); + } +} + +void sbPalContrastPos(uint32_t pos) +{ + if (cfg_Contrast != (uint8_t)pos) + { + cfg_Contrast = (uint8_t)pos; + paletteDragMoved(); + } +} + +void configPalRDown(void) +{ + if (config.cfg_StdPalNr != PAL_USER_DEFINED) + showColorErrorMsg(); + else + scrollBarScrollLeft(SB_PAL_R, 1); +} + +void configPalRUp(void) +{ + if (config.cfg_StdPalNr != PAL_USER_DEFINED) + showColorErrorMsg(); + else + scrollBarScrollRight(SB_PAL_R, 1); +} + +void configPalGDown(void) +{ + if (config.cfg_StdPalNr != PAL_USER_DEFINED) + showColorErrorMsg(); + else + scrollBarScrollLeft(SB_PAL_G, 1); +} + +void configPalGUp(void) +{ + if (config.cfg_StdPalNr != PAL_USER_DEFINED) + showColorErrorMsg(); + else + scrollBarScrollRight(SB_PAL_G, 1); +} + +void configPalBDown(void) +{ + if (config.cfg_StdPalNr != PAL_USER_DEFINED) + showColorErrorMsg(); + else + scrollBarScrollLeft(SB_PAL_B, 1); +} + +void configPalBUp(void) +{ + if (config.cfg_StdPalNr != PAL_USER_DEFINED) + showColorErrorMsg(); + else + scrollBarScrollRight(SB_PAL_B, 1); +} + +void configPalContDown(void) +{ + if (config.cfg_StdPalNr != PAL_USER_DEFINED) + showColorErrorMsg(); + else + scrollBarScrollLeft(SB_PAL_CONTRAST, 1); +} + +void configPalContUp(void) +{ + if (config.cfg_StdPalNr != PAL_USER_DEFINED) + showColorErrorMsg(); + else + scrollBarScrollRight(SB_PAL_CONTRAST, 1); +} + +void showPaletteEditor(void) +{ + charOutShadow(503, 17, PAL_FORGRND, PAL_DSKTOP2, 'R'); + charOutShadow(503, 31, PAL_FORGRND, PAL_DSKTOP2, 'G'); + charOutShadow(503, 45, PAL_FORGRND, PAL_DSKTOP2, 'B'); + + showScrollBar(SB_PAL_R); + showScrollBar(SB_PAL_G); + showScrollBar(SB_PAL_B); + showPushButton(PB_CONFIG_PAL_R_DOWN); + showPushButton(PB_CONFIG_PAL_R_UP); + showPushButton(PB_CONFIG_PAL_G_DOWN); + showPushButton(PB_CONFIG_PAL_G_UP); + showPushButton(PB_CONFIG_PAL_B_DOWN); + showPushButton(PB_CONFIG_PAL_B_UP); + + showRadioButtonGroup(RB_GROUP_CONFIG_PAL_ENTRIES); + + textOutShadow(516, 59, PAL_FORGRND, PAL_DSKTOP2, "Contrast:"); + showScrollBar(SB_PAL_CONTRAST); + showPushButton(PB_CONFIG_PAL_CONT_DOWN); + showPushButton(PB_CONFIG_PAL_CONT_UP); + + updatePaletteEditor(); +} + +void rbConfigPalPatternText(void) +{ + cfg_ColorNr = 0; + checkRadioButton(RB_CONFIG_PAL_PATTERNTEXT); + updatePaletteEditor(); +} + +void rbConfigPalBlockMark(void) +{ + cfg_ColorNr = 1; + checkRadioButton(RB_CONFIG_PAL_BLOCKMARK); + updatePaletteEditor(); +} + +void rbConfigPalTextOnBlock(void) +{ + cfg_ColorNr = 2; + checkRadioButton(RB_CONFIG_PAL_TEXTONBLOCK); + updatePaletteEditor(); +} + +void rbConfigPalMouse(void) +{ + cfg_ColorNr = 3; + checkRadioButton(RB_CONFIG_PAL_MOUSE); + updatePaletteEditor(); +} + +void rbConfigPalDesktop(void) +{ + cfg_ColorNr = 4; + checkRadioButton(RB_CONFIG_PAL_DESKTOP); + updatePaletteEditor(); +} + +void rbConfigPalButttons(void) +{ + cfg_ColorNr = 5; + checkRadioButton(RB_CONFIG_PAL_BUTTONS); + updatePaletteEditor(); +} + +void rbConfigPalArctic(void) +{ + config.cfg_StdPalNr = PAL_ARCTIC; + updatePaletteEditor(); + setPal16(palTable[config.cfg_StdPalNr], true); + checkRadioButton(RB_CONFIG_PAL_ARCTIC); +} + +void rbConfigPalLitheDark(void) +{ + config.cfg_StdPalNr = PAL_LITHE_DARK; + updatePaletteEditor(); + setPal16(palTable[config.cfg_StdPalNr], true); + checkRadioButton(RB_CONFIG_PAL_LITHE_DARK); +} + +void rbConfigPalAuroraBorealis(void) +{ + config.cfg_StdPalNr = PAL_AURORA_BOREALIS; + updatePaletteEditor(); + setPal16(palTable[config.cfg_StdPalNr], true); + checkRadioButton(RB_CONFIG_PAL_AURORA_BOREALIS); +} + +void rbConfigPalRose(void) +{ + config.cfg_StdPalNr = PAL_ROSE; + updatePaletteEditor(); + setPal16(palTable[config.cfg_StdPalNr], true); + checkRadioButton(RB_CONFIG_PAL_ROSE); +} + +void rbConfigPalBlues(void) +{ + config.cfg_StdPalNr = PAL_BLUES; + updatePaletteEditor(); + setPal16(palTable[config.cfg_StdPalNr], true); + checkRadioButton(RB_CONFIG_PAL_BLUES); +} + +void rbConfigPalSpacePigs(void) +{ + config.cfg_StdPalNr = PAL_SPACE_PIGS; + updatePaletteEditor(); + setPal16(palTable[config.cfg_StdPalNr], true); + checkRadioButton(RB_CONFIG_PAL_SPACE_PIGS); +} + +void rbConfigPalGold(void) +{ + config.cfg_StdPalNr = PAL_GOLD; + updatePaletteEditor(); + setPal16(palTable[config.cfg_StdPalNr], true); + checkRadioButton(RB_CONFIG_PAL_GOLD); +} + +void rbConfigPalViolent(void) +{ + config.cfg_StdPalNr = PAL_VIOLENT; + updatePaletteEditor(); + setPal16(palTable[config.cfg_StdPalNr], true); + checkRadioButton(RB_CONFIG_PAL_VIOLENT); +} + +void rbConfigPalHeavyMetal(void) +{ + config.cfg_StdPalNr = PAL_HEAVY_METAL; + updatePaletteEditor(); + setPal16(palTable[config.cfg_StdPalNr], true); + checkRadioButton(RB_CONFIG_PAL_HEAVY_METAL); +} + +void rbConfigPalWhyColors(void) +{ + config.cfg_StdPalNr = PAL_WHY_COLORS; + updatePaletteEditor(); + setPal16(palTable[config.cfg_StdPalNr], true); + checkRadioButton(RB_CONFIG_PAL_WHY_COLORS); +} + +void rbConfigPalJungle(void) +{ + config.cfg_StdPalNr = PAL_JUNGLE; + updatePaletteEditor(); + setPal16(palTable[config.cfg_StdPalNr], true); + checkRadioButton(RB_CONFIG_PAL_JUNGLE); +} + +void rbConfigPalUserDefined(void) +{ + config.cfg_StdPalNr = PAL_USER_DEFINED; + updatePaletteEditor(); + setPal16(palTable[config.cfg_StdPalNr], true); + checkRadioButton(RB_CONFIG_PAL_USER_DEFINED); +} diff --git a/src/ft2_palette.h b/src/ft2_palette.h index cdb6119..8b5d144 100644 --- a/src/ft2_palette.h +++ b/src/ft2_palette.h @@ -1,85 +1,90 @@ -#pragma once - -#include -#include - -#define RGB32_R(x) (((x) >> 16) & 0xFF) -#define RGB32_G(x) (((x) >> 8) & 0xFF) -#define RGB32_B(x) ((x) & 0xFF) -#define RGB32(r, g, b) (((r) << 16) | ((g) << 8) | (b)) -#define P6_TO_P8(x) (((x) << 2) + ((x) >> 4)) - -#define PAL_TRANSPR 127 - -// FT2 palette (exact order as real FT2) -enum -{ - PAL_BCKGRND = 0, - PAL_PATTEXT = 1, - PAL_BLCKMRK = 2, - PAL_BLCKTXT = 3, - PAL_DESKTOP = 4, - PAL_FORGRND = 5, - PAL_BUTTONS = 6, - PAL_BTNTEXT = 7, - PAL_DSKTOP2 = 8, - PAL_DSKTOP1 = 9, - PAL_BUTTON2 = 10, - PAL_BUTTON1 = 11, - PAL_MOUSEPT = 12, - - // these are used for mouse XOR when hovering over the piano (?) - PAL_PIANOXOR1 = 13, - PAL_PIANOXOR2 = 14, - PAL_PIANOXOR3 = 15, - - // custom clone palettes - PAL_LOOPPIN = 16, - PAL_TEXTMRK = 17, - - PAL_NUM -}; - -typedef struct pal16_t -{ - uint8_t r, g, b; -} pal16; - -extern uint8_t cfg_ColorNr; -extern pal16 palTable[12][16]; - -uint8_t palMax(int32_t c); -void setPal16(pal16 *p, bool redrawScreen); - -void sbPalRPos(uint32_t pos); -void sbPalGPos(uint32_t pos); -void sbPalBPos(uint32_t pos); -void sbPalContrastPos(uint32_t pos); -void configPalRDown(void); -void configPalRUp(void); -void configPalGDown(void); -void configPalGUp(void); -void configPalBDown(void); -void configPalBUp(void); -void configPalContDown(void); -void configPalContUp(void); -void showPaletteEditor(void); - -void rbConfigPalPatternText(void); -void rbConfigPalBlockMark(void); -void rbConfigPalTextOnBlock(void); -void rbConfigPalMouse(void); -void rbConfigPalDesktop(void); -void rbConfigPalButttons(void); -void rbConfigPalArctic(void); -void rbConfigPalLitheDark(void); -void rbConfigPalAuroraBorealis(void); -void rbConfigPalRose(void); -void rbConfigPalBlues(void); -void rbConfigPalSpacePigs(void); -void rbConfigPalGold(void); -void rbConfigPalViolent(void); -void rbConfigPalHeavyMetal(void); -void rbConfigPalWhyColors(void); -void rbConfigPalJungle(void); -void rbConfigPalUserDefined(void); +#pragma once + +#include +#include + +#define RGB32_R(x) (((x) >> 16) & 0xFF) +#define RGB32_G(x) (((x) >> 8) & 0xFF) +#define RGB32_B(x) ((x) & 0xFF) +#define RGB32(r, g, b) (((r) << 16) | ((g) << 8) | (b)) +#define P6_TO_P8(x) (((x) << 2) + ((x) >> 4)) + +#define PAL_TRANSPR 127 + +// FT2 palette (exact order as real FT2) +enum +{ + PAL_BCKGRND = 0, + PAL_PATTEXT = 1, + PAL_BLCKMRK = 2, + PAL_BLCKTXT = 3, + PAL_DESKTOP = 4, + PAL_FORGRND = 5, + PAL_BUTTONS = 6, + PAL_BTNTEXT = 7, + PAL_DSKTOP2 = 8, + PAL_DSKTOP1 = 9, + PAL_BUTTON2 = 10, + PAL_BUTTON1 = 11, + PAL_MOUSEPT = 12, + + // these are used for mouse XOR when hovering over the piano (?) + PAL_PIANOXOR1 = 13, + PAL_PIANOXOR2 = 14, + PAL_PIANOXOR3 = 15, + + // custom clone palettes + PAL_LOOPPIN = 16, + PAL_TEXTMRK = 17, + PAL_BOXSLCT = 18, + + // modifiable with setCustomPalColor() + PAL_CUSTOM = 19, + + PAL_NUM +}; + +typedef struct pal16_t +{ + uint8_t r, g, b; +} pal16; + +extern uint8_t cfg_ColorNr; + +void setCustomPalColor(uint32_t color); + +uint8_t palMax(int32_t c); +void setPal16(pal16 *p, bool redrawScreen); + +void sbPalRPos(uint32_t pos); +void sbPalGPos(uint32_t pos); +void sbPalBPos(uint32_t pos); +void sbPalContrastPos(uint32_t pos); +void configPalRDown(void); +void configPalRUp(void); +void configPalGDown(void); +void configPalGUp(void); +void configPalBDown(void); +void configPalBUp(void); +void configPalContDown(void); +void configPalContUp(void); +void showPaletteEditor(void); + +void rbConfigPalPatternText(void); +void rbConfigPalBlockMark(void); +void rbConfigPalTextOnBlock(void); +void rbConfigPalMouse(void); +void rbConfigPalDesktop(void); +void rbConfigPalButttons(void); +void rbConfigPalArctic(void); +void rbConfigPalLitheDark(void); +void rbConfigPalAuroraBorealis(void); +void rbConfigPalRose(void); +void rbConfigPalBlues(void); +void rbConfigPalSpacePigs(void); +void rbConfigPalGold(void); +void rbConfigPalViolent(void); +void rbConfigPalHeavyMetal(void); +void rbConfigPalWhyColors(void); +void rbConfigPalJungle(void); +void rbConfigPalUserDefined(void); diff --git a/src/ft2_pattern_draw.c b/src/ft2_pattern_draw.c index 0a41470..7e2abf0 100644 --- a/src/ft2_pattern_draw.c +++ b/src/ft2_pattern_draw.c @@ -1,1342 +1,1276 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include "ft2_header.h" -#include "ft2_pattern_ed.h" -#include "ft2_gfxdata.h" -#include "ft2_config.h" -#include "ft2_gui.h" -#include "ft2_video.h" - -static const uint8_t vol2charTab1[16] = { 39, 0, 1, 2, 3, 4, 36, 52, 53, 54, 28, 31, 25, 58, 59, 22 }; -static const uint8_t vol2charTab2[16] = { 42, 0, 1, 2, 3, 4, 36, 37, 38, 39, 28, 31, 25, 40, 41, 22 }; -static const uint8_t columnModeTab[12] = { 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 3 }; -static const uint8_t sharpNote1Char_small[12] = { 8*6, 8*6, 9*6, 9*6, 10*6, 11*6, 11*6, 12*6, 12*6, 13*6, 13*6, 14*6 }; -static const uint8_t sharpNote2Char_small[12] = { 16*6, 15*6, 16*6, 15*6, 16*6, 16*6, 15*6, 16*6, 15*6, 16*6, 15*6, 16*6 }; -static const uint8_t flatNote1Char_small[12] = { 8*6, 9*6, 9*6, 10*6, 10*6, 11*6, 12*6, 12*6, 13*6, 13*6, 14*6, 14*6 }; -static const uint8_t flatNote2Char_small[12] = { 16*6, 17*6, 16*6, 17*6, 16*6, 16*6, 17*6, 16*6, 17*6, 16*6, 17*6, 16*6 }; -static const uint8_t sharpNote1Char_med[12] = { 12*8, 12*8, 13*8, 13*8, 14*8, 15*8, 15*8, 16*8, 16*8, 10*8, 10*8, 11*8 }; -static const uint16_t sharpNote2Char_med[12] = { 36*8, 37*8, 36*8, 37*8, 36*8, 36*8, 37*8, 36*8, 37*8, 36*8, 37*8, 36*8 }; -static const uint8_t flatNote1Char_med[12] = { 12*8, 13*8, 13*8, 14*8, 14*8, 15*8, 16*8, 16*8, 10*8, 10*8, 11*8, 11*8 }; -static const uint16_t flatNote2Char_med[12] = { 36*8, 38*8, 36*8, 38*8, 36*8, 36*8, 38*8, 36*8, 38*8, 36*8, 38*8, 36*8 }; -static const uint16_t sharpNote1Char_big[12] = { 12*16, 12*16, 13*16, 13*16, 14*16, 15*16, 15*16, 16*16, 16*16, 10*16, 10*16, 11*16 }; -static const uint16_t sharpNote2Char_big[12] = { 36*16, 37*16, 36*16, 37*16, 36*16, 36*16, 37*16, 36*16, 37*16, 36*16, 37*16, 36*16 }; -static const uint16_t flatNote1Char_big[12] = { 12*16, 13*16, 13*16, 14*16, 14*16, 15*16, 16*16, 16*16, 10*16, 10*16, 11*16, 11*16 }; -static const uint16_t flatNote2Char_big[12] = { 36*16, 38*16, 36*16, 38*16, 36*16, 36*16, 38*16, 36*16, 38*16, 36*16, 38*16, 36*16 }; - -static tonTyp emptyNote; - -// ft2_pattern_ed.c -extern const uint16_t chanWidths[6]; - -// defined at the bottom of this file -extern const pattCoord_t pattCoordTable[2][2][2]; -extern const pattCoord2_t pattCoord2Table[2][2][2]; -extern const markCoord_t markCoordTable[2][2][2]; -extern const uint8_t pattCursorXTab[2 * 4 * 8]; -extern const uint8_t pattCursorWTab[2 * 4 * 8]; - -static void rowNumOut(uint32_t yPos, uint8_t paletteIndex, uint8_t rowChar1, uint8_t rowChar2); -static void pattCharOut(uint32_t xPos, uint32_t yPos, uint8_t paletteIndex, uint8_t chr, uint8_t fontType); -static void drawEmptyNoteSmall(uint16_t x, uint16_t y, uint8_t paletteIndex); -static void drawKeyOffSmall(uint16_t x, uint16_t y, uint8_t paletteIndex); -static void drawNoteSmall(uint16_t x, uint16_t y, uint8_t paletteIndex, int16_t ton); -static void drawEmptyNoteMedium(uint16_t x, uint16_t y, uint8_t paletteIndex); -static void drawKeyOffMedium(uint16_t x, uint16_t y, uint8_t paletteIndex); -static void drawNoteMedium(uint16_t x, uint16_t y, uint8_t paletteIndex, int16_t ton); -static void drawEmptyNoteBig(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex); -static void drawKeyOffBig(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex); -static void drawNoteBig(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, int16_t ton); - -void drawPatternBorders(void) -{ - uint8_t chans; - uint16_t xOffs, chanWidth; - int32_t clearSize; - const pattCoord2_t *pattCoord; - - // get heights/pos/rows depending on configuration - pattCoord = &pattCoord2Table[config.ptnUnpressed][editor.ui.pattChanScrollShown][editor.ui.extended]; - - // set pattern cursor Y position - editor.ptnCursorY = pattCoord->lowerRowsY - 9; - - chans = editor.ui.numChannelsShown; - if (chans > editor.ui.maxVisibleChannels) - chans = editor.ui.maxVisibleChannels; - - // in some configurations, there will be two empty channels to the right, fix that - if (chans == 2) - chans = 4; - else if (chans == 10 && !config.ptnS3M) - chans = 12; - - chanWidth = chanWidths[(chans / 2) - 1] + 2; - - // fill scrollbar framework (if needed) - if (editor.ui.pattChanScrollShown) - drawFramework(0, 383, 632, 17, FRAMEWORK_TYPE1); - - if (config.ptnFrmWrk) - { - // pattern editor w/ framework - - if (editor.ui.extended) - { - vLine(0, 54, 345, PAL_DSKTOP1); - vLine(631, 53, 346, PAL_DSKTOP2); - - vLine(1, 54, 345, PAL_DESKTOP); - vLine(630, 54, 345, PAL_DESKTOP); - - hLine(0, 53, 631, PAL_DSKTOP1); - hLine(1, 54, 630, PAL_DESKTOP); - - if (!editor.ui.pattChanScrollShown) - { - hLine(1, 398, 630, PAL_DESKTOP); - hLine(0, 399, 632, PAL_DSKTOP2); - } - } - else - { - vLine(0, 174, 225, PAL_DSKTOP1); - vLine(631, 173, 226, PAL_DSKTOP2); - - vLine(1, 174, 225, PAL_DESKTOP); - vLine(630, 174, 225, PAL_DESKTOP); - - hLine(0, 173, 631, PAL_DSKTOP1); - hLine(1, 174, 630, PAL_DESKTOP); - - if (!editor.ui.pattChanScrollShown) - { - hLine(1, 398, 630, PAL_DESKTOP); - hLine(0, 399, 632, PAL_DSKTOP2); - } - } - - // fill middle (current row) - fillRect(2, pattCoord->lowerRowsY - 9, 628, 9, PAL_DESKTOP); - - // fill row number boxes - drawFramework(2, pattCoord->upperRowsY, 25, pattCoord->upperRowsH, FRAMEWORK_TYPE2); // top left - drawFramework(604, pattCoord->upperRowsY, 26, pattCoord->upperRowsH, FRAMEWORK_TYPE2); // top right - drawFramework(2, pattCoord->lowerRowsY, 25, pattCoord->lowerRowsH, FRAMEWORK_TYPE2); // bottom left - drawFramework(604, pattCoord->lowerRowsY, 26, pattCoord->lowerRowsH, FRAMEWORK_TYPE2); // bottom right - - // draw channels - xOffs = 28; - for (uint8_t i = 0; i < chans; i++) - { - vLine(xOffs - 1, pattCoord->upperRowsY, pattCoord->upperRowsH, PAL_DESKTOP); - vLine(xOffs - 1, pattCoord->lowerRowsY, pattCoord->lowerRowsH + 1, PAL_DESKTOP); - - drawFramework(xOffs, pattCoord->upperRowsY, chanWidth, pattCoord->upperRowsH, FRAMEWORK_TYPE2); // top part - drawFramework(xOffs, pattCoord->lowerRowsY, chanWidth, pattCoord->lowerRowsH, FRAMEWORK_TYPE2); // bottom part - - xOffs += (chanWidth + 1); - } - - vLine(xOffs - 1, pattCoord->upperRowsY, pattCoord->upperRowsH, PAL_DESKTOP); - vLine(xOffs - 1, pattCoord->lowerRowsY, pattCoord->lowerRowsH + 1, PAL_DESKTOP); - } - else - { - // pattern editor without framework - - if (editor.ui.extended) - { - clearSize = editor.ui.pattChanScrollShown ? (SCREEN_W * sizeof (int32_t) * 330) : (SCREEN_W * sizeof (int32_t) * 347); - memset(&video.frameBuffer[53 * SCREEN_W], 0, clearSize); - } - else - { - clearSize = editor.ui.pattChanScrollShown ? (SCREEN_W * sizeof(int32_t) * 210) : (SCREEN_W * sizeof(int32_t) * 227); - memset(&video.frameBuffer[173 * SCREEN_W], 0, clearSize); - } - - drawFramework(0, pattCoord->lowerRowsY - 10, SCREEN_W, 11, FRAMEWORK_TYPE1); - } - - if (editor.ui.pattChanScrollShown) - { - showScrollBar(SB_CHAN_SCROLL); - showPushButton(PB_CHAN_SCROLL_LEFT); - showPushButton(PB_CHAN_SCROLL_RIGHT); - } - else - { - hideScrollBar(SB_CHAN_SCROLL); - hidePushButton(PB_CHAN_SCROLL_LEFT); - hidePushButton(PB_CHAN_SCROLL_RIGHT); - - setScrollBarPos(SB_CHAN_SCROLL, 0, false); - } -} - -static void writeCursor(void) -{ - uint32_t *dstPtr, xPos, width, tabOffset; - - tabOffset = (config.ptnS3M * 32) + (columnModeTab[editor.ui.numChannelsShown - 1] * 8) + editor.cursor.object; - - xPos = pattCursorXTab[tabOffset]; - width = pattCursorWTab[tabOffset]; - - assert(editor.ptnCursorY > 0 && xPos > 0 && width > 0); - xPos += ((editor.cursor.ch - editor.ui.channelOffset) * editor.ui.patternChannelWidth); - - dstPtr = &video.frameBuffer[(editor.ptnCursorY * SCREEN_W) + xPos]; - for (uint32_t y = 0; y < 9; y++) - { - for (uint32_t x = 0; x < width; x++) - dstPtr[x] = video.palette[(dstPtr[x] >> 24) ^ 4]; // ">> 24" to get palette, XOR 4 to change to cursor palette - - dstPtr += SCREEN_W; - } -} - -static void writePatternBlockMark(int16_t currRow, uint16_t rowHeight, const pattCoord_t *pattCoord) -{ - uint8_t startCh, endCh; - int16_t startRow, endRow, x1, x2, y1, y2; - uint16_t pattYStart, pattYEnd; - uint32_t w, h, *ptr32; - const markCoord_t *markCoord; - - // this can happen (buggy FT2 code), treat like no mark - if (pattMark.markY1 > pattMark.markY2) - return; - - startCh = editor.ui.channelOffset; - endCh = editor.ui.channelOffset + (editor.ui.numChannelsShown - 1); - startRow = currRow - pattCoord->numUpperRows; - endRow = currRow + pattCoord->numLowerRows; - - // test if pattern marking is outside of visible area (don't draw) - if (pattMark.markX1 > endCh || pattMark.markX2 < startCh || pattMark.markY1 > endRow || pattMark.markY2 < startRow) - return; - - markCoord = &markCoordTable[config.ptnUnpressed][editor.ui.pattChanScrollShown][editor.ui.extended]; - pattYStart = markCoord->upperRowsY; - - // X1 - - x1 = 32 + ((pattMark.markX1 - editor.ui.channelOffset) * editor.ui.patternChannelWidth); - if (x1 < 32) - x1 = 32; - - // X2 - - x2 = (32 - 8) + (((pattMark.markX2 + 1) - editor.ui.channelOffset) * editor.ui.patternChannelWidth); - if (x2 > 608) - x2 = 608; - - // Y1 - - if (pattMark.markY1 < currRow) - { - y1 = pattYStart + ((pattMark.markY1 - startRow) * rowHeight); - if (y1 < pattYStart) - y1 = pattYStart; - } - else if (pattMark.markY1 == currRow) - { - y1 = markCoord->midRowY; - } - else - { - y1 = markCoord->lowerRowsY + ((pattMark.markY1 - (currRow + 1)) * rowHeight); - } - - // Y2 - - if (pattMark.markY2-1 < currRow) - { - y2 = pattYStart + ((pattMark.markY2 - startRow) * rowHeight); - } - else if (pattMark.markY2-1 == currRow) - { - y2 = markCoord->midRowY + 11; - } - else - { - pattYEnd = markCoord->lowerRowsY + (pattCoord->numLowerRows * rowHeight); - - y2 = markCoord->lowerRowsY + ((pattMark.markY2 - (currRow + 1)) * rowHeight); - if (y2 > pattYEnd) - y2 = pattYEnd; - } - - // kludge! (some mark situations could overwrite illegal areas) - if (config.ptnUnpressed && editor.ui.pattChanScrollShown) - { - if (y1 == pattCoord->upperRowsY-1 || y1 == pattCoord->lowerRowsY-1) - y1++; - - if (y2 == 384) - y2--; - - // this can actually happen here, don't render in that case - if (y1 >= y2) - return; - } - - assert(x1 > 0 && x1 < SCREEN_W && x2 > 0 && x2 < SCREEN_W && - y1 > 0 && y1 < SCREEN_H && y2 > 0 && y2 < SCREEN_H); - - // pattern mark drawing - - w = x2 - x1; - h = y2 - y1; - - assert(x1+w <= SCREEN_W && y1+h <= SCREEN_H); - - ptr32 = &video.frameBuffer[(y1 * SCREEN_W) + x1]; - for (uint32_t y = 0; y < h; y++) - { - for (uint32_t x = 0; x < w; x++) - ptr32[x] = video.palette[(ptr32[x] >> 24) ^ 2]; // ">> 24" to get palette of pixel, XOR 2 to change to mark palette - - ptr32 += SCREEN_W; - } -} - -static void drawChannelNumbering(uint16_t yPos) -{ - uint8_t chNum; - uint16_t xPos; - - xPos = 29; - for (uint8_t i = 0; i < editor.ui.numChannelsShown; i++) - { - chNum = editor.ui.channelOffset + i + 1; - if (chNum < 10) - { - charOutOutlined(xPos, yPos, PAL_MOUSEPT, '0' + chNum); - } - else - { - charOutOutlined(xPos, yPos, PAL_MOUSEPT, '0' + (chNum / 10)); - charOutOutlined(xPos + 9, yPos, PAL_MOUSEPT, '0' + (chNum % 10)); - } - - xPos += editor.ui.patternChannelWidth; - } -} - -static void drawRowNum(uint16_t yPos, uint16_t row, bool middleRowFlag) -{ - uint8_t pal; - - // set color based on some conditions - if (middleRowFlag) - pal = PAL_FORGRND; - else if ((row & 3) == 0 && config.ptnLineLight) - pal = PAL_BLCKTXT; - else - pal = PAL_PATTEXT; - - if (config.ptnHex) - { - rowNumOut(yPos, pal, (uint8_t)(row >> 4), row & 0x0F); - } - else - { - row %= 100; - rowNumOut(yPos, pal, (uint8_t)(row / 10), row % 10); - } -} - -// DRAWING ROUTINES (WITH VOLUME COLUMN) - -static void showNoteNum(uint8_t pal, uint16_t xPos, uint16_t yPos, int16_t ton) -{ - xPos += 3; - - if (editor.ui.numChannelsShown <= 4) - { - if (ton == 0) - drawEmptyNoteBig(xPos, yPos, pal); - else if (ton == 97) - drawKeyOffBig(xPos, yPos, pal); - else - drawNoteBig(xPos, yPos, pal, ton); - } - else - { - if (ton == 0) - drawEmptyNoteMedium(xPos, yPos, pal); - else if (ton == 97) - drawKeyOffMedium(xPos, yPos, pal); - else - drawNoteMedium(xPos, yPos, pal, ton); - } -} - -static void showInstrNum(uint8_t pal, uint16_t xPos, uint16_t yPos, uint8_t ins) -{ - uint8_t chr1, chr2, charW, fontType; - - if (editor.ui.numChannelsShown <= 4) - { - fontType = FONT_TYPE4; - charW = FONT4_CHAR_W; - xPos += 67; - } - else if (editor.ui.numChannelsShown <= 6) - { - fontType = FONT_TYPE4; - charW = FONT4_CHAR_W; - xPos += 27; - } - else - { - fontType = FONT_TYPE3; - charW = FONT3_CHAR_W; - xPos += 31; - } - - if (config.ptnInstrZero) - { - pattCharOut(xPos, yPos, pal, ins >> 4, fontType); - pattCharOut(xPos + charW, yPos, pal, ins & 0x0F, fontType); - } - else - { - chr1 = ins >> 4; - chr2 = ins & 0x0F; - - if (chr1 > 0) - pattCharOut(xPos, yPos, pal, chr1, fontType); - - if (chr1 > 0 || chr2 > 0) - pattCharOut(xPos + charW, yPos, pal, chr2, fontType); - } -} - -static void showVolEfx(uint8_t pal, uint16_t xPos, uint16_t yPos, uint8_t vol) -{ - uint8_t char1, char2, fontType, charW; - - if (editor.ui.numChannelsShown <= 4) - { - fontType = FONT_TYPE4; - charW = FONT4_CHAR_W; - xPos += 91; - - char1 = vol2charTab1[vol >> 4]; - if (vol < 0x10) - char2 = 39; - else - char2 = vol & 0x0F; - } - else if (editor.ui.numChannelsShown <= 6) - { - fontType = FONT_TYPE4; - charW = FONT4_CHAR_W; - xPos += 51; - - char1 = vol2charTab1[vol >> 4]; - if (vol < 0x10) - char2 = 39; - else - char2 = vol & 0x0F; - } - else - { - fontType = FONT_TYPE3; - charW = FONT3_CHAR_W; - xPos += 43; - - char1 = vol2charTab2[vol >> 4]; - if (vol < 0x10) - char2 = 42; - else - char2 = vol & 0x0F; - } - - pattCharOut(xPos, yPos, pal, char1, fontType); - pattCharOut(xPos + charW, yPos, pal, char2, fontType); -} - -static void showEfx(uint8_t pal, uint16_t xPos, uint16_t yPos, uint8_t effTyp, uint8_t eff) -{ - uint8_t fontType, charW; - - if (editor.ui.numChannelsShown <= 4) - { - fontType = FONT_TYPE4; - charW = FONT4_CHAR_W; - xPos += 115; - } - else if (editor.ui.numChannelsShown <= 6) - { - fontType = FONT_TYPE4; - charW = FONT4_CHAR_W; - xPos += 67; - } - else - { - fontType = FONT_TYPE3; - charW = FONT3_CHAR_W; - xPos += 55; - } - - pattCharOut(xPos, yPos, pal, effTyp, fontType); - pattCharOut(xPos + charW, yPos, pal, eff >> 4, fontType); - pattCharOut(xPos + (charW * 2), yPos, pal, eff & 0x0F, fontType); -} - -// DRAWING ROUTINES (WITHOUT VOLUME COLUMN) - -static void showNoteNumNoVolColumn(uint8_t pal, uint16_t xPos, uint16_t yPos, int16_t ton) -{ - xPos += 3; - - if (editor.ui.numChannelsShown <= 6) - { - if (ton == 0) - drawEmptyNoteBig(xPos, yPos, pal); - else if (ton == 97) - drawKeyOffBig(xPos, yPos, pal); - else - drawNoteBig(xPos, yPos, pal, ton); - } - else if (editor.ui.numChannelsShown <= 8) - { - if (ton == 0) - drawEmptyNoteMedium(xPos, yPos, pal); - else if (ton == 97) - drawKeyOffMedium(xPos, yPos, pal); - else - drawNoteMedium(xPos, yPos, pal, ton); - } - else - { - if (ton == 0) - drawEmptyNoteSmall(xPos, yPos, pal); - else if (ton == 97) - drawKeyOffSmall(xPos, yPos, pal); - else - drawNoteSmall(xPos, yPos, pal, ton); - } -} - -static void showInstrNumNoVolColumn(uint8_t pal, uint16_t xPos, uint16_t yPos, uint8_t ins) -{ - uint8_t chr1, chr2, charW, fontType; - - if (editor.ui.numChannelsShown <= 4) - { - fontType = FONT_TYPE5; - charW = FONT5_CHAR_W; - xPos += 59; - } - else if (editor.ui.numChannelsShown <= 6) - { - fontType = FONT_TYPE4; - charW = FONT4_CHAR_W; - xPos += 51; - } - else if (editor.ui.numChannelsShown <= 8) - { - fontType = FONT_TYPE4; - charW = FONT4_CHAR_W; - xPos += 27; - } - else - { - fontType = FONT_TYPE3; - charW = FONT3_CHAR_W; - xPos += 23; - } - - if (config.ptnInstrZero) - { - pattCharOut(xPos, yPos, pal, ins >> 4, fontType); - pattCharOut(xPos + charW, yPos, pal, ins & 0x0F, fontType); - } - else - { - chr1 = ins >> 4; - chr2 = ins & 0x0F; - - if (chr1 > 0) - pattCharOut(xPos, yPos, pal, chr1, fontType); - - if (chr1 > 0 || chr2 > 0) - pattCharOut(xPos + charW, yPos, pal, chr2, fontType); - } -} - -static void showNoVolEfx(uint8_t pal, uint16_t xPos, uint16_t yPos, uint8_t vol) -{ - // make compiler happy - (void)pal; - (void)xPos; - (void)yPos; - (void)vol; -} - -static void showEfxNoVolColumn(uint8_t pal, uint16_t xPos, uint16_t yPos, uint8_t effTyp, uint8_t eff) -{ - uint8_t charW, fontType; - - if (editor.ui.numChannelsShown <= 4) - { - fontType = FONT_TYPE5; - charW = FONT5_CHAR_W; - xPos += 91; - } - else if (editor.ui.numChannelsShown <= 6) - { - fontType = FONT_TYPE4; - charW = FONT4_CHAR_W; - xPos += 67; - } - else if (editor.ui.numChannelsShown <= 8) - { - fontType = FONT_TYPE4; - charW = FONT4_CHAR_W; - xPos += 43; - } - else - { - fontType = FONT_TYPE3; - charW = FONT3_CHAR_W; - xPos += 31; - } - - pattCharOut(xPos, yPos, pal, effTyp, fontType); - pattCharOut(xPos + charW, yPos, pal, eff >> 4, fontType); - pattCharOut(xPos + (charW * 2), yPos, pal, eff & 0x0F, fontType); -} - -static void drawRowNumbers(const pattCoord_t *pattCoord, int16_t currRow, uint16_t rowHeight, uint16_t upperRowsYEnd, uint16_t pattLen) -{ - int16_t j, rowYPos, numRows; - - // upper rows - numRows = currRow; - if (numRows > 0) - { - if (numRows > pattCoord->numUpperRows) - numRows = pattCoord->numUpperRows; - - rowYPos = upperRowsYEnd; - for (j = 0; j < numRows; j++) - { - drawRowNum(rowYPos, currRow - j - 1, false); - rowYPos -= rowHeight; - } - } - - // current row - drawRowNum(pattCoord->midRowTextY, currRow, true); - - // lower rows - numRows = (pattLen - 1) - currRow; - if (numRows > 0) - { - if (numRows > pattCoord->numLowerRows) - numRows = pattCoord->numLowerRows; - - rowYPos = pattCoord->lowerRowsTextY; - for (j = 0; j < numRows; j++) - { - drawRowNum(rowYPos, currRow + j + 1, false); - rowYPos += rowHeight; - } - } -} - -void writePattern(int16_t currRow, int16_t pattern) -{ - uint8_t chans, chNum; - int16_t numRows, j; - uint16_t pattLen, xPos, rowYPos, rowHeight, chanWidth, upperRowsYEnd; - tonTyp *note, *pattPtr; - const pattCoord_t *pattCoord; - void (*drawNote)(uint8_t, uint16_t, uint16_t, int16_t); - void (*drawInst)(uint8_t, uint16_t, uint16_t, uint8_t); - void (*drawVolEfx)(uint8_t, uint16_t, uint16_t, uint8_t); - void (*drawEfx)(uint8_t, uint16_t, uint16_t, uint8_t, uint8_t); - - // we're too lazy to erase things, just render the whole pattern framework first (fast enough on modern PCs) - drawPatternBorders(); - - chans = editor.ui.numChannelsShown; - if (chans > editor.ui.maxVisibleChannels) - chans = editor.ui.maxVisibleChannels; - - // get channel width - chanWidth = chanWidths[(chans / 2) - 1]; - editor.ui.patternChannelWidth = chanWidth + 3; - - // get heights/pos/rows depending on configuration - pattCoord = &pattCoordTable[config.ptnUnpressed][editor.ui.pattChanScrollShown][editor.ui.extended]; - rowHeight = config.ptnUnpressed ? 11 : 8; - upperRowsYEnd = pattCoord->upperRowsTextY + ((pattCoord->numUpperRows - 1) * rowHeight); - - pattPtr = patt[pattern]; - pattLen = pattLens[pattern]; - - // draw row numbers - drawRowNumbers(pattCoord, currRow, rowHeight, upperRowsYEnd, pattLen); - - // set up function pointers for drawing - if (config.ptnS3M) - { - drawNote = showNoteNum; - drawInst = showInstrNum; - drawVolEfx = showVolEfx; - drawEfx = showEfx; - } - else - { - drawNote = showNoteNumNoVolColumn; - drawInst = showInstrNumNoVolColumn; - drawVolEfx = showNoVolEfx; - drawEfx = showEfxNoVolColumn; - } - - // draw pattern data - - xPos = 29; - for (uint8_t i = 0; i < editor.ui.numChannelsShown; i++) - { - chNum = editor.ui.channelOffset + i; - - // upper rows - numRows = currRow; - if (numRows > 0) - { - if (numRows > pattCoord->numUpperRows) - numRows = pattCoord->numUpperRows; - - rowYPos = upperRowsYEnd; - - if (pattPtr == NULL) - note = &emptyNote; - else - note = &pattPtr[((currRow - 1) * MAX_VOICES) + chNum]; - - for (j = 0; j < numRows; j++) - { - drawNote(PAL_PATTEXT, xPos, rowYPos, note->ton); - drawInst(PAL_PATTEXT, xPos, rowYPos, note->instr); - drawVolEfx(PAL_PATTEXT, xPos, rowYPos, note->vol); - drawEfx(PAL_PATTEXT, xPos, rowYPos, note->effTyp, note->eff); - - if (pattPtr != NULL) - note -= MAX_VOICES; - - rowYPos -= rowHeight; - } - } - - // current row - - if (pattPtr == NULL) - note = &emptyNote; - else - note = &pattPtr[(currRow * MAX_VOICES) + chNum]; - - rowYPos = pattCoord->midRowTextY; - - drawNote(PAL_FORGRND, xPos, rowYPos, note->ton); - drawInst(PAL_FORGRND, xPos, rowYPos, note->instr); - drawVolEfx(PAL_FORGRND, xPos, rowYPos, note->vol); - drawEfx(PAL_FORGRND, xPos, rowYPos, note->effTyp, note->eff); - - // lower rows - numRows = (pattLen - 1) - currRow; - if (numRows > 0) - { - if (numRows > pattCoord->numLowerRows) - numRows = pattCoord->numLowerRows; - - rowYPos = pattCoord->lowerRowsTextY; - - if (pattPtr == NULL) - note = &emptyNote; - else - note = &pattPtr[((currRow + 1) * MAX_VOICES) + chNum]; - - for (j = 0; j < numRows; j++) - { - drawNote(PAL_PATTEXT, xPos, rowYPos, note->ton); - drawInst(PAL_PATTEXT, xPos, rowYPos, note->instr); - drawVolEfx(PAL_PATTEXT, xPos, rowYPos, note->vol); - drawEfx(PAL_PATTEXT, xPos, rowYPos, note->effTyp, note->eff); - - if (pattPtr != NULL) - note += MAX_VOICES; - - rowYPos += rowHeight; - } - } - - xPos += editor.ui.patternChannelWidth; - } - - writeCursor(); - - if (pattMark.markY1 != pattMark.markY2) // do we have a pattern mark? - writePatternBlockMark(currRow, rowHeight, pattCoord); - - // channel numbers must be drawn in the very end - if (config.ptnChnNumbers) - drawChannelNumbering(pattCoord->upperRowsTextY); -} - -// ========== OPTIMIZED CHARACTER DRAWING ROUTINES FOR PATTERN EDITOR ========== - -void pattTwoHexOut(uint32_t xPos, uint32_t yPos, uint8_t paletteIndex, uint8_t val) -{ - const uint8_t *ch1Ptr, *ch2Ptr; - uint32_t *dstPtr, pixVal, offset; - - pixVal = video.palette[paletteIndex]; - offset = config.ptnFont * (FONT4_WIDTH * FONT4_CHAR_H); - ch1Ptr = &font4Data[((val >> 4) * FONT4_CHAR_W) + offset]; - ch2Ptr = &font4Data[((val & 0x0F) * FONT4_CHAR_W) + offset]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (uint32_t y = 0; y < FONT4_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT4_CHAR_W; x++) - { - if (ch1Ptr[x]) dstPtr[x] = pixVal; - if (ch2Ptr[x]) dstPtr[FONT4_CHAR_W + x] = pixVal; - } - - ch1Ptr += FONT4_WIDTH; - ch2Ptr += FONT4_WIDTH; - dstPtr += SCREEN_W; - } -} - -static void rowNumOut(uint32_t yPos, uint8_t paletteIndex, uint8_t rowChar1, uint8_t rowChar2) -{ - const uint8_t *ch1Ptr, *ch2Ptr; - uint32_t *dstPtr, pixVal, offset; - - pixVal = video.palette[paletteIndex]; - offset = config.ptnFont * (FONT4_WIDTH * FONT4_CHAR_H); - ch1Ptr = &font4Data[(rowChar1 * FONT4_CHAR_W) + offset]; - ch2Ptr = &font4Data[(rowChar2 * FONT4_CHAR_W) + offset]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + 8]; - - for (uint32_t y = 0; y < FONT4_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT4_CHAR_W; x++) - { - if (ch1Ptr[x]) - { - dstPtr[x] = pixVal; // left side - dstPtr[600 + x] = pixVal; // right side - } - - if (ch2Ptr[x]) - { - dstPtr[ FONT4_CHAR_W + x] = pixVal; // left side - dstPtr[(600 + FONT4_CHAR_W) + x] = pixVal; // right side - } - } - - ch1Ptr += FONT4_WIDTH; - ch2Ptr += FONT4_WIDTH; - dstPtr += SCREEN_W; - } -} - -static void pattCharOut(uint32_t xPos, uint32_t yPos, uint8_t paletteIndex, uint8_t chr, uint8_t fontType) -{ - const uint8_t *srcPtr; - uint32_t x, y, *dstPtr, pixVal; - - pixVal = video.palette[paletteIndex]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - if (fontType == FONT_TYPE3) - { - srcPtr = &font3Data[chr * FONT3_CHAR_W]; - for (y = 0; y < FONT3_CHAR_H; y++) - { - for (x = 0; x < FONT3_CHAR_W; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT3_WIDTH; - dstPtr += SCREEN_W; - } - } - else if (fontType == FONT_TYPE4) - { - srcPtr = &font4Data[(chr * FONT4_CHAR_W) + (config.ptnFont * (FONT4_WIDTH * FONT4_CHAR_H))]; - for (y = 0; y < FONT4_CHAR_H; y++) - { - for (x = 0; x < FONT4_CHAR_W; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT4_WIDTH; - dstPtr += SCREEN_W; - } - } - else if (fontType == FONT_TYPE5) - { - srcPtr = &font5Data[(chr * FONT5_CHAR_W) + (config.ptnFont * (FONT5_WIDTH * FONT5_CHAR_H))]; - for (y = 0; y < FONT5_CHAR_H; y++) - { - for (x = 0; x < FONT5_CHAR_W; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT5_WIDTH; - dstPtr += SCREEN_W; - } - } - else - { - srcPtr = &font7Data[chr * FONT7_CHAR_W]; - for (y = 0; y < FONT7_CHAR_H; y++) - { - for (x = 0; x < FONT7_CHAR_W; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT7_WIDTH; - dstPtr += SCREEN_W; - } - } -} - -static void drawEmptyNoteSmall(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex) -{ - const uint8_t *srcPtr; - uint32_t *dstPtr, pixVal; - - pixVal = video.palette[paletteIndex]; - srcPtr = &font7Data[18 * FONT7_CHAR_W]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (uint32_t y = 0; y < FONT7_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT7_CHAR_W*3; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT7_WIDTH; - dstPtr += SCREEN_W; - } -} - -static void drawKeyOffSmall(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex) -{ - const uint8_t *srcPtr; - uint32_t *dstPtr, pixVal; - - pixVal = video.palette[paletteIndex]; - srcPtr = &font7Data[21 * FONT7_CHAR_W]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + (xPos + 2)]; - - for (uint32_t y = 0; y < FONT7_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT7_CHAR_W*2; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT7_WIDTH; - dstPtr += SCREEN_W; - } -} - -static void drawNoteSmall(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, int16_t ton) -{ - const uint8_t *ch1Ptr, *ch2Ptr, *ch3Ptr; - uint8_t note; - uint32_t *dstPtr, pixVal, char1, char2, char3; - - assert(ton >= 1 && ton <= 97); - - ton--; - - note = ton % 12; - char3 = (ton / 12) * FONT7_CHAR_W; - - if (config.ptnAcc == 0) - { - char1 = sharpNote1Char_small[note]; - char2 = sharpNote2Char_small[note]; - } - else - { - char1 = flatNote1Char_small[note]; - char2 = flatNote2Char_small[note]; - } - - pixVal = video.palette[paletteIndex]; - ch1Ptr = &font7Data[char1]; - ch2Ptr = &font7Data[char2]; - ch3Ptr = &font7Data[char3]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (uint32_t y = 0; y < FONT7_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT7_CHAR_W; x++) - { - if (ch1Ptr[x]) dstPtr[ (FONT7_CHAR_W * 0) + x] = pixVal; - if (ch2Ptr[x]) dstPtr[ (FONT7_CHAR_W * 1) + x] = pixVal; - if (ch3Ptr[x]) dstPtr[((FONT7_CHAR_W * 2) - 2) + x] = pixVal; - } - - ch1Ptr += FONT7_WIDTH; - ch2Ptr += FONT7_WIDTH; - ch3Ptr += FONT7_WIDTH; - dstPtr += SCREEN_W; - } -} - -static void drawEmptyNoteMedium(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex) -{ - const uint8_t *srcPtr; - uint32_t *dstPtr, pixVal; - - pixVal = video.palette[paletteIndex]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - srcPtr = &font4Data[(43 * FONT4_CHAR_W) + (config.ptnFont * (FONT4_WIDTH * FONT4_CHAR_H))]; - - for (uint32_t y = 0; y < FONT4_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT4_CHAR_W*3; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT4_WIDTH; - dstPtr += SCREEN_W; - } -} - -static void drawKeyOffMedium(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex) -{ - const uint8_t *srcPtr; - uint32_t *dstPtr, pixVal; - - pixVal = video.palette[paletteIndex]; - srcPtr = &font4Data[(40 * FONT4_CHAR_W) + (config.ptnFont * (FONT4_WIDTH * FONT4_CHAR_H))]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (uint32_t y = 0; y < FONT4_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT4_CHAR_W*3; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT4_WIDTH; - dstPtr += SCREEN_W; - } -} - -static void drawNoteMedium(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, int16_t ton) -{ - const uint8_t *ch1Ptr, *ch2Ptr, *ch3Ptr; - uint8_t note; - uint32_t *dstPtr, pixVal, fontOffset, char1, char2, char3; - - assert(ton >= 1 && ton <= 97); - - ton--; - - note = ton % 12; - char3 = (ton / 12) * FONT4_CHAR_W; - - if (config.ptnAcc == 0) - { - char1 = sharpNote1Char_med[note]; - char2 = sharpNote2Char_med[note]; - } - else - { - char1 = flatNote1Char_med[note]; - char2 = flatNote2Char_med[note]; - } - - pixVal = video.palette[paletteIndex]; - fontOffset = config.ptnFont * (FONT4_WIDTH * FONT4_CHAR_H); - ch1Ptr = &font4Data[char1 + fontOffset]; - ch2Ptr = &font4Data[char2 + fontOffset]; - ch3Ptr = &font4Data[char3 + fontOffset]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (uint32_t y = 0; y < FONT4_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT4_CHAR_W; x++) - { - if (ch1Ptr[x]) dstPtr[(FONT4_CHAR_W * 0) + x] = pixVal; - if (ch2Ptr[x]) dstPtr[(FONT4_CHAR_W * 1) + x] = pixVal; - if (ch3Ptr[x]) dstPtr[(FONT4_CHAR_W * 2) + x] = pixVal; - } - - ch1Ptr += FONT4_WIDTH; - ch2Ptr += FONT4_WIDTH; - ch3Ptr += FONT4_WIDTH; - dstPtr += SCREEN_W; - } -} - -static void drawEmptyNoteBig(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex) -{ - const uint8_t *srcPtr; - uint32_t *dstPtr, pixVal; - - pixVal = video.palette[paletteIndex]; - srcPtr = &font4Data[(67 * FONT4_CHAR_W) + (config.ptnFont * (FONT4_WIDTH * FONT4_CHAR_H))]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (uint32_t y = 0; y < FONT4_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT4_CHAR_W*6; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT4_WIDTH; - dstPtr += SCREEN_W; - } -} - -static void drawKeyOffBig(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex) -{ - const uint8_t *srcPtr; - uint32_t *dstPtr, pixVal; - - pixVal = video.palette[paletteIndex]; - srcPtr = &font4Data[(61 * FONT4_CHAR_W) + (config.ptnFont * (FONT4_WIDTH * FONT4_CHAR_H))]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (uint32_t y = 0; y < FONT4_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT4_CHAR_W*6; x++) - { - if (srcPtr[x]) - dstPtr[x] = pixVal; - } - - srcPtr += FONT4_WIDTH; - dstPtr += SCREEN_W; - } -} - -static void drawNoteBig(uint16_t xPos, uint16_t yPos, uint8_t paletteIndex, int16_t ton) -{ - const uint8_t *ch1Ptr, *ch2Ptr, *ch3Ptr; - uint8_t note; - uint32_t *dstPtr, pixVal, fontOffset, char1, char2, char3; - - assert(ton >= 1 && ton <= 97); - - ton--; - - note = ton % 12; - char3 = (ton / 12) * FONT5_CHAR_W; - - if (config.ptnAcc == 0) - { - char1 = sharpNote1Char_big[note]; - char2 = sharpNote2Char_big[note]; - } - else - { - char1 = flatNote1Char_big[note]; - char2 = flatNote2Char_big[note]; - } - - pixVal = video.palette[paletteIndex]; - fontOffset = config.ptnFont * (FONT5_WIDTH * FONT5_CHAR_H); - ch1Ptr = &font5Data[char1 + fontOffset]; - ch2Ptr = &font5Data[char2 + fontOffset]; - ch3Ptr = &font5Data[char3 + fontOffset]; - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - - for (uint32_t y = 0; y < FONT5_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT5_CHAR_W; x++) - { - if (ch1Ptr[x]) dstPtr[(FONT5_CHAR_W * 0) + x] = pixVal; - if (ch2Ptr[x]) dstPtr[(FONT5_CHAR_W * 1) + x] = pixVal; - if (ch3Ptr[x]) dstPtr[(FONT5_CHAR_W * 2) + x] = pixVal; - } - - ch1Ptr += FONT5_WIDTH; - ch2Ptr += FONT5_WIDTH; - ch3Ptr += FONT5_WIDTH; - dstPtr += SCREEN_W; - } -} - -const pattCoord_t pattCoordTable[2][2][2] = -{ - /* - uint16_t upperRowsY, lowerRowsY; - uint16_t upperRowsTextY, midRowTextY, lowerRowsTextY; - uint16_t numUpperRows, numLowerRows; - */ - - // no pattern stretch - { - // no pattern channel scroll - { - { 176, 292, 177, 283, 293, 13, 13 }, // normal pattern editor - { 56, 228, 57, 219, 229, 20, 21 }, // extended pattern editor - }, - - // pattern channel scroll - { - { 176, 285, 177, 276, 286, 12, 12 }, // normal pattern editor - { 56, 221, 57, 212, 222, 19, 20 }, // extended pattern editor - } - }, - - // pattern stretch - { - // no pattern channel scroll - { - { 177, 286, 178, 277, 288, 9, 10 }, // normal pattern editor - { 56, 232, 58, 223, 234, 15, 15 }, // extended pattern editor - }, - - // pattern channel scroll - { - { 176, 285, 177, 276, 286, 9, 9 }, // normal pattern editor - { 56, 220, 57, 211, 221, 14, 15 }, // extended pattern editor - }, - } -}; - -const pattCoord2_t pattCoord2Table[2][2][2] = -{ - /* - uint16_t upperRowsY, lowerRowsY; - uint16_t upperRowsH, lowerRowsH; - */ - - // no pattern stretch - { - // no pattern channel scroll - { - { 175, 291, 107, 107 }, // normal pattern editor - { 55, 227, 163, 171 }, // extended pattern editor - }, - - // pattern channel scroll - { - { 175, 284, 100, 100 }, // normal pattern editor - { 55, 220, 156, 164 }, // extended pattern editor - } - }, - - // pattern stretch - { - // no pattern channel scroll - { - { 175, 285, 101, 113 }, // normal pattern editor - { 55, 231, 167, 167 }, // extended pattern editor - }, - - // pattern channel scroll - { - { 175, 284, 100, 100 }, // normal pattern editor - { 55, 219, 155, 165 }, // extended pattern editor - }, - } -}; - -const markCoord_t markCoordTable[2][2][2] = -{ - // uint16_t upperRowsY, midRowY, lowerRowsY; - - // no pattern stretch - { - // no pattern channel scroll - { - { 177, 281, 293 }, // normal pattern editor - { 57, 217, 229 }, // extended pattern editor - }, - - // pattern channel scroll - { - { 177, 274, 286 }, // normal pattern editor - { 57, 210, 222 }, // extended pattern editor - } - }, - - // pattern stretch - { - // no pattern channel scroll - { - { 176, 275, 286 }, // normal pattern editor - { 56, 221, 232 }, // extended pattern editor - }, - - // pattern channel scroll - { - { 175, 274, 284 }, // normal pattern editor - { 55, 209, 219 }, // extended pattern editor - }, - } -}; - -const uint8_t pattCursorXTab[2 * 4 * 8] = -{ - // no volume column shown - 32, 88, 104, 0, 0, 120, 136, 152, // 4 columns visible - 32, 80, 88, 0, 0, 96, 104, 112, // 6 columns visible - 32, 56, 64, 0, 0, 72, 80, 88, // 8 columns visible - 32, 52, 56, 0, 0, 60, 64, 68, // 12 columns visible - - // volume column shown - 32, 96, 104, 120, 128, 144, 152, 160, // 4 columns visible - 32, 56, 64, 80, 88, 96, 104, 112, // 6 columns visible - 32, 60, 64, 72, 76, 84, 88, 92, // 8 columns visible - 32, 60, 64, 72, 76, 84, 88, 92, // 12 columns visible -}; - -const uint8_t pattCursorWTab[2 * 4 * 8] = -{ - // no volume column shown - 48, 16, 16, 0, 0, 16, 16, 16, // 4 columns visible - 48, 8, 8, 0, 0, 8, 8, 8, // 6 columns visible - 24, 8, 8, 0, 0, 8, 8, 8, // 8 columns visible - 16, 4, 4, 0, 0, 4, 4, 4, // 12 columns visible - - // volume column shown - 48, 8, 8, 8, 8, 8, 8, 8, // 4 columns visible - 24, 8, 8, 8, 8, 8, 8, 8, // 6 columns visible - 24, 4, 4, 4, 4, 4, 4, 4, // 8 columns visible - 24, 4, 4, 4, 4, 4, 4, 4 // 12 columns visible -}; +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include "ft2_header.h" +#include "ft2_pattern_ed.h" +#include "ft2_gfxdata.h" +#include "ft2_config.h" +#include "ft2_gui.h" +#include "ft2_video.h" +#include "ft2_tables.h" + +static tonTyp emptyPattern[MAX_VOICES * MAX_PATT_LEN]; + +static const uint8_t *font4Ptr, *font5Ptr; +static const uint8_t vol2charTab1[16] = { 39, 0, 1, 2, 3, 4, 36, 52, 53, 54, 28, 31, 25, 58, 59, 22 }; +static const uint8_t vol2charTab2[16] = { 42, 0, 1, 2, 3, 4, 36, 37, 38, 39, 28, 31, 25, 40, 41, 22 }; +static const uint8_t columnModeTab[12] = { 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 3 }; +static const uint8_t sharpNote1Char_small[12] = { 8*6, 8*6, 9*6, 9*6, 10*6, 11*6, 11*6, 12*6, 12*6, 13*6, 13*6, 14*6 }; +static const uint8_t sharpNote2Char_small[12] = { 16*6, 15*6, 16*6, 15*6, 16*6, 16*6, 15*6, 16*6, 15*6, 16*6, 15*6, 16*6 }; +static const uint8_t flatNote1Char_small[12] = { 8*6, 9*6, 9*6, 10*6, 10*6, 11*6, 12*6, 12*6, 13*6, 13*6, 14*6, 14*6 }; +static const uint8_t flatNote2Char_small[12] = { 16*6, 17*6, 16*6, 17*6, 16*6, 16*6, 17*6, 16*6, 17*6, 16*6, 17*6, 16*6 }; +static const uint8_t sharpNote1Char_med[12] = { 12*8, 12*8, 13*8, 13*8, 14*8, 15*8, 15*8, 16*8, 16*8, 10*8, 10*8, 11*8 }; +static const uint16_t sharpNote2Char_med[12] = { 36*8, 37*8, 36*8, 37*8, 36*8, 36*8, 37*8, 36*8, 37*8, 36*8, 37*8, 36*8 }; +static const uint8_t flatNote1Char_med[12] = { 12*8, 13*8, 13*8, 14*8, 14*8, 15*8, 16*8, 16*8, 10*8, 10*8, 11*8, 11*8 }; +static const uint16_t flatNote2Char_med[12] = { 36*8, 38*8, 36*8, 38*8, 36*8, 36*8, 38*8, 36*8, 38*8, 36*8, 38*8, 36*8 }; +static const uint16_t sharpNote1Char_big[12] = { 12*16, 12*16, 13*16, 13*16, 14*16, 15*16, 15*16, 16*16, 16*16, 10*16, 10*16, 11*16 }; +static const uint16_t sharpNote2Char_big[12] = { 36*16, 37*16, 36*16, 37*16, 36*16, 36*16, 37*16, 36*16, 37*16, 36*16, 37*16, 36*16 }; +static const uint16_t flatNote1Char_big[12] = { 12*16, 13*16, 13*16, 14*16, 14*16, 15*16, 16*16, 16*16, 10*16, 10*16, 11*16, 11*16 }; +static const uint16_t flatNote2Char_big[12] = { 36*16, 38*16, 36*16, 38*16, 36*16, 36*16, 38*16, 36*16, 38*16, 36*16, 38*16, 36*16 }; + +static void pattCharOut(uint32_t xPos, uint32_t yPos, uint8_t chr, uint8_t fontType, uint32_t color); +static void drawEmptyNoteSmall(uint32_t xPos, uint32_t yPos, uint32_t color); +static void drawKeyOffSmall(uint32_t xPos, uint32_t yPos, uint32_t color); +static void drawNoteSmall(uint32_t xPos, uint32_t yPos, int32_t ton, uint32_t color); +static void drawEmptyNoteMedium(uint32_t xPos, uint32_t yPos, uint32_t color); +static void drawKeyOffMedium(uint32_t xPos, uint32_t yPos, uint32_t color); +static void drawNoteMedium(uint32_t xPos, uint32_t yPos, int32_t ton, uint32_t color); +static void drawEmptyNoteBig(uint32_t xPos, uint32_t yPos, uint32_t color); +static void drawKeyOffBig(uint32_t xPos, uint32_t yPos, uint32_t color); +static void drawNoteBig(uint32_t xPos, uint32_t yPos, int32_t ton, uint32_t color); + +void updatePattFontPtrs(void) +{ + //config.ptnFont is pre-clamped and safe + font4Ptr = &font4Data[config.ptnFont * (FONT4_WIDTH * FONT4_CHAR_H)]; + font5Ptr = &font5Data[config.ptnFont * (FONT5_WIDTH * FONT5_CHAR_H)]; +} + +void drawPatternBorders(void) +{ + uint8_t chans; + uint16_t xOffs, chanWidth; + int32_t clearSize; + const pattCoord2_t *pattCoord; + + // get heights/pos/rows depending on configuration + pattCoord = &pattCoord2Table[config.ptnUnpressed][editor.ui.pattChanScrollShown][editor.ui.extended]; + + // set pattern cursor Y position + editor.ptnCursorY = pattCoord->lowerRowsY - 9; + + chans = editor.ui.numChannelsShown; + if (chans > editor.ui.maxVisibleChannels) + chans = editor.ui.maxVisibleChannels; + + // in some configurations, there will be two empty channels to the right, fix that + if (chans == 2) + chans = 4; + else if (chans == 10 && !config.ptnS3M) + chans = 12; + + assert(chans >= 2 && chans <= 12); + + chanWidth = chanWidths[(chans / 2) - 1] + 2; + + // fill scrollbar framework (if needed) + if (editor.ui.pattChanScrollShown) + drawFramework(0, 383, 632, 17, FRAMEWORK_TYPE1); + + if (config.ptnFrmWrk) + { + // pattern editor w/ framework + + if (editor.ui.extended) + { + vLine(0, 54, 345, PAL_DSKTOP1); + vLine(631, 53, 346, PAL_DSKTOP2); + + vLine(1, 54, 345, PAL_DESKTOP); + vLine(630, 54, 345, PAL_DESKTOP); + + hLine(0, 53, 631, PAL_DSKTOP1); + hLine(1, 54, 630, PAL_DESKTOP); + + if (!editor.ui.pattChanScrollShown) + { + hLine(1, 398, 630, PAL_DESKTOP); + hLine(0, 399, 632, PAL_DSKTOP2); + } + } + else + { + vLine(0, 174, 225, PAL_DSKTOP1); + vLine(631, 173, 226, PAL_DSKTOP2); + + vLine(1, 174, 225, PAL_DESKTOP); + vLine(630, 174, 225, PAL_DESKTOP); + + hLine(0, 173, 631, PAL_DSKTOP1); + hLine(1, 174, 630, PAL_DESKTOP); + + if (!editor.ui.pattChanScrollShown) + { + hLine(1, 398, 630, PAL_DESKTOP); + hLine(0, 399, 632, PAL_DSKTOP2); + } + } + + // fill middle (current row) + fillRect(2, pattCoord->lowerRowsY - 9, 628, 9, PAL_DESKTOP); + + // fill row number boxes + drawFramework(2, pattCoord->upperRowsY, 25, pattCoord->upperRowsH, FRAMEWORK_TYPE2); // top left + drawFramework(604, pattCoord->upperRowsY, 26, pattCoord->upperRowsH, FRAMEWORK_TYPE2); // top right + drawFramework(2, pattCoord->lowerRowsY, 25, pattCoord->lowerRowsH, FRAMEWORK_TYPE2); // bottom left + drawFramework(604, pattCoord->lowerRowsY, 26, pattCoord->lowerRowsH, FRAMEWORK_TYPE2); // bottom right + + // draw channels + xOffs = 28; + for (uint8_t i = 0; i < chans; i++) + { + vLine(xOffs - 1, pattCoord->upperRowsY, pattCoord->upperRowsH, PAL_DESKTOP); + vLine(xOffs - 1, pattCoord->lowerRowsY, pattCoord->lowerRowsH + 1, PAL_DESKTOP); + + drawFramework(xOffs, pattCoord->upperRowsY, chanWidth, pattCoord->upperRowsH, FRAMEWORK_TYPE2); // top part + drawFramework(xOffs, pattCoord->lowerRowsY, chanWidth, pattCoord->lowerRowsH, FRAMEWORK_TYPE2); // bottom part + + xOffs += chanWidth+1; + } + + vLine(xOffs-1, pattCoord->upperRowsY, pattCoord->upperRowsH, PAL_DESKTOP); + vLine(xOffs-1, pattCoord->lowerRowsY, pattCoord->lowerRowsH+1, PAL_DESKTOP); + } + else + { + // pattern editor without framework + + if (editor.ui.extended) + { + clearSize = editor.ui.pattChanScrollShown ? (SCREEN_W * sizeof (int32_t) * 330) : (SCREEN_W * sizeof (int32_t) * 347); + memset(&video.frameBuffer[53 * SCREEN_W], 0, clearSize); + } + else + { + clearSize = editor.ui.pattChanScrollShown ? (SCREEN_W * sizeof(int32_t) * 210) : (SCREEN_W * sizeof(int32_t) * 227); + memset(&video.frameBuffer[173 * SCREEN_W], 0, clearSize); + } + + drawFramework(0, pattCoord->lowerRowsY - 10, SCREEN_W, 11, FRAMEWORK_TYPE1); + } + + if (editor.ui.pattChanScrollShown) + { + showScrollBar(SB_CHAN_SCROLL); + showPushButton(PB_CHAN_SCROLL_LEFT); + showPushButton(PB_CHAN_SCROLL_RIGHT); + } + else + { + hideScrollBar(SB_CHAN_SCROLL); + hidePushButton(PB_CHAN_SCROLL_LEFT); + hidePushButton(PB_CHAN_SCROLL_RIGHT); + + setScrollBarPos(SB_CHAN_SCROLL, 0, false); + } +} + +static void writeCursor(void) +{ + uint32_t *dstPtr, xPos, width, tabOffset; + + tabOffset = (config.ptnS3M * 32) + (columnModeTab[editor.ui.numChannelsShown - 1] * 8) + editor.cursor.object; + + xPos = pattCursorXTab[tabOffset]; + width = pattCursorWTab[tabOffset]; + + assert(editor.ptnCursorY > 0 && xPos > 0 && width > 0); + xPos += ((editor.cursor.ch - editor.ui.channelOffset) * editor.ui.patternChannelWidth); + + dstPtr = &video.frameBuffer[(editor.ptnCursorY * SCREEN_W) + xPos]; + for (uint32_t y = 0; y < 9; y++) + { + for (uint32_t x = 0; x < width; x++) + dstPtr[x] = video.palette[(dstPtr[x] >> 24) ^ 4]; // ">> 24" to get palette, XOR 4 to change to cursor palette + + dstPtr += SCREEN_W; + } +} + +static void writePatternBlockMark(int32_t currRow, uint32_t rowHeight, const pattCoord_t *pattCoord) +{ + int32_t startCh, endCh, startRow, endRow, x1, x2, y1, y2, pattYStart, pattYEnd; + uint32_t w, h, *ptr32; + const markCoord_t *markCoord; + + // this can happen (buggy FT2 code), treat like no mark + if (pattMark.markY1 > pattMark.markY2) + return; + + startCh = editor.ui.channelOffset; + endCh = editor.ui.channelOffset + (editor.ui.numChannelsShown - 1); + startRow = currRow - pattCoord->numUpperRows; + endRow = currRow + pattCoord->numLowerRows; + + // test if pattern marking is outside of visible area (don't draw) + if (pattMark.markX1 > endCh || pattMark.markX2 < startCh || pattMark.markY1 > endRow || pattMark.markY2 < startRow) + return; + + markCoord = &markCoordTable[config.ptnUnpressed][editor.ui.pattChanScrollShown][editor.ui.extended]; + pattYStart = markCoord->upperRowsY; + + // X1 + + x1 = 32 + ((pattMark.markX1 - editor.ui.channelOffset) * editor.ui.patternChannelWidth); + if (x1 < 32) + x1 = 32; + + // X2 + + x2 = (32 - 8) + (((pattMark.markX2 + 1) - editor.ui.channelOffset) * editor.ui.patternChannelWidth); + if (x2 > 608) + x2 = 608; + + // Y1 + + if (pattMark.markY1 < currRow) + { + y1 = pattYStart + ((pattMark.markY1 - startRow) * rowHeight); + if (y1 < pattYStart) + y1 = pattYStart; + } + else if (pattMark.markY1 == currRow) + { + y1 = markCoord->midRowY; + } + else + { + y1 = markCoord->lowerRowsY + ((pattMark.markY1 - (currRow + 1)) * rowHeight); + } + + // Y2 + + if (pattMark.markY2-1 < currRow) + { + y2 = pattYStart + ((pattMark.markY2 - startRow) * rowHeight); + } + else if (pattMark.markY2-1 == currRow) + { + y2 = markCoord->midRowY + 11; + } + else + { + pattYEnd = markCoord->lowerRowsY + (pattCoord->numLowerRows * rowHeight); + + y2 = markCoord->lowerRowsY + ((pattMark.markY2 - (currRow + 1)) * rowHeight); + if (y2 > pattYEnd) + y2 = pattYEnd; + } + + // kludge! (some mark situations could overwrite illegal areas) + if (config.ptnUnpressed && editor.ui.pattChanScrollShown) + { + if (y1 == pattCoord->upperRowsY-1 || y1 == pattCoord->lowerRowsY-1) + y1++; + + if (y2 == 384) + y2--; + + // this can actually happen here, don't render in that case + if (y1 >= y2) + return; + } + + assert(x1 > 0 && x1 < SCREEN_W && x2 > 0 && x2 < SCREEN_W && + y1 > 0 && y1 < SCREEN_H && y2 > 0 && y2 < SCREEN_H); + + // pattern mark drawing + + w = x2 - x1; + h = y2 - y1; + + assert(x1+w <= SCREEN_W && y1+h <= SCREEN_H); + + ptr32 = &video.frameBuffer[(y1 * SCREEN_W) + x1]; + for (uint32_t y = 0; y < h; y++) + { + for (uint32_t x = 0; x < w; x++) + ptr32[x] = video.palette[(ptr32[x] >> 24) ^ 2]; // ">> 24" to get palette of pixel, XOR 2 to change to mark palette + + ptr32 += SCREEN_W; + } +} + +static void drawChannelNumbering(uint16_t yPos) +{ +#define CH_NUM_XPOS 29 + + uint16_t xPos = CH_NUM_XPOS; + int32_t ch = editor.ui.channelOffset + 1; + + for (uint8_t i = 0; i < editor.ui.numChannelsShown; i++) + { + if (ch < 10) + { + charOutOutlined(xPos, yPos, PAL_MOUSEPT, '0' + (char)ch); + } + else + { + charOutOutlined(xPos, yPos, PAL_MOUSEPT, chDecTab1[ch]); + charOutOutlined(xPos + (FONT1_CHAR_W + 1), yPos, PAL_MOUSEPT, chDecTab2[ch]); + } + + ch++; + xPos += editor.ui.patternChannelWidth; + } +} + +static void drawRowNums(int32_t yPos, uint8_t row, bool selectedRowFlag) +{ +#define LEFT_ROW_XPOS 8 +#define RIGHT_ROW_XPOS 608 + + const uint8_t *src1Ptr, *src2Ptr; + uint32_t *dst1Ptr, *dst2Ptr, pixVal; + + // set color based on some conditions + if (selectedRowFlag) + pixVal = video.palette[PAL_FORGRND]; + else if (config.ptnLineLight && !(row & 3)) + pixVal = video.palette[PAL_BLCKTXT]; + else + pixVal = video.palette[PAL_PATTEXT]; + + if (!config.ptnHex) + row = hex2Dec[row]; + + src1Ptr = &font4Ptr[(row >> 4) * FONT4_CHAR_W]; + src2Ptr = &font4Ptr[(row & 0x0F) * FONT4_CHAR_W]; + dst1Ptr = &video.frameBuffer[(yPos * SCREEN_W) + LEFT_ROW_XPOS]; + dst2Ptr = dst1Ptr + (RIGHT_ROW_XPOS - LEFT_ROW_XPOS); + + for (uint32_t y = 0; y < FONT4_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT4_CHAR_W; x++) + { + if (src1Ptr[x]) + { + dst1Ptr[x] = pixVal; // left side + dst2Ptr[x] = pixVal; // right side + } + + if (src2Ptr[x]) + { + dst1Ptr[FONT4_CHAR_W+x] = pixVal; // left side + dst2Ptr[FONT4_CHAR_W+x] = pixVal; // right side + } + } + + src1Ptr += FONT4_WIDTH; + src2Ptr += FONT4_WIDTH; + dst1Ptr += SCREEN_W; + dst2Ptr += SCREEN_W; + } +} + +// DRAWING ROUTINES (WITH VOLUME COLUMN) + +static void showNoteNum(uint32_t xPos, uint32_t yPos, int16_t ton, uint32_t color) +{ + xPos += 3; + + assert(ton >= 0 && ton <= 97); + + if (editor.ui.numChannelsShown <= 4) + { + if (ton <= 0 || ton > 97) + drawEmptyNoteBig(xPos, yPos, color); + else if (ton == 97) + drawKeyOffBig(xPos, yPos, color); + else + drawNoteBig(xPos, yPos, ton, color); + } + else + { + if (ton <= 0 || ton > 97) + drawEmptyNoteMedium(xPos, yPos, color); + else if (ton == 97) + drawKeyOffMedium(xPos, yPos, color); + else + drawNoteMedium(xPos, yPos, ton, color); + } +} + +static void showInstrNum(uint32_t xPos, uint32_t yPos, uint8_t ins, uint32_t color) +{ + uint8_t chr1, chr2, charW, fontType; + + if (editor.ui.numChannelsShown <= 4) + { + fontType = FONT_TYPE4; + charW = FONT4_CHAR_W; + xPos += 67; + } + else if (editor.ui.numChannelsShown <= 6) + { + fontType = FONT_TYPE4; + charW = FONT4_CHAR_W; + xPos += 27; + } + else + { + fontType = FONT_TYPE3; + charW = FONT3_CHAR_W; + xPos += 31; + } + + if (config.ptnInstrZero) + { + pattCharOut(xPos, yPos, ins >> 4, fontType, color); + pattCharOut(xPos + charW, yPos, ins & 0x0F, fontType, color); + } + else + { + chr1 = ins >> 4; + chr2 = ins & 0x0F; + + if (chr1 > 0) + pattCharOut(xPos, yPos, chr1, fontType, color); + + if (chr1 > 0 || chr2 > 0) + pattCharOut(xPos + charW, yPos, chr2, fontType, color); + } +} + +static void showVolEfx(uint32_t xPos, uint32_t yPos, uint8_t vol, uint32_t color) +{ + uint8_t char1, char2, fontType, charW; + + if (editor.ui.numChannelsShown <= 4) + { + fontType = FONT_TYPE4; + charW = FONT4_CHAR_W; + xPos += 91; + + char1 = vol2charTab1[vol >> 4]; + if (vol < 0x10) + char2 = 39; + else + char2 = vol & 0x0F; + } + else if (editor.ui.numChannelsShown <= 6) + { + fontType = FONT_TYPE4; + charW = FONT4_CHAR_W; + xPos += 51; + + char1 = vol2charTab1[vol >> 4]; + if (vol < 0x10) + char2 = 39; + else + char2 = vol & 0x0F; + } + else + { + fontType = FONT_TYPE3; + charW = FONT3_CHAR_W; + xPos += 43; + + char1 = vol2charTab2[vol >> 4]; + if (vol < 0x10) + char2 = 42; + else + char2 = vol & 0x0F; + } + + pattCharOut(xPos, yPos, char1, fontType, color); + pattCharOut(xPos + charW, yPos, char2, fontType, color); +} + +static void showEfx(uint32_t xPos, uint32_t yPos, uint8_t effTyp, uint8_t eff, uint32_t color) +{ + uint8_t fontType, charW; + + if (editor.ui.numChannelsShown <= 4) + { + fontType = FONT_TYPE4; + charW = FONT4_CHAR_W; + xPos += 115; + } + else if (editor.ui.numChannelsShown <= 6) + { + fontType = FONT_TYPE4; + charW = FONT4_CHAR_W; + xPos += 67; + } + else + { + fontType = FONT_TYPE3; + charW = FONT3_CHAR_W; + xPos += 55; + } + + pattCharOut(xPos, yPos, effTyp, fontType, color); + pattCharOut(xPos + charW, yPos, eff >> 4, fontType, color); + pattCharOut(xPos + (charW * 2), yPos, eff & 0x0F, fontType, color); +} + +// DRAWING ROUTINES (WITHOUT VOLUME COLUMN) + +static void showNoteNumNoVolColumn(uint32_t xPos, uint32_t yPos, int16_t ton, uint32_t color) +{ + xPos += 3; + + assert(ton >= 0 && ton <= 97); + + if (editor.ui.numChannelsShown <= 6) + { + if (ton <= 0 || ton > 97) + drawEmptyNoteBig(xPos, yPos, color); + else if (ton == 97) + drawKeyOffBig(xPos, yPos, color); + else + drawNoteBig(xPos, yPos, ton, color); + } + else if (editor.ui.numChannelsShown <= 8) + { + if (ton <= 0 || ton > 97) + drawEmptyNoteMedium(xPos, yPos, color); + else if (ton == 97) + drawKeyOffMedium(xPos, yPos, color); + else + drawNoteMedium(xPos, yPos, ton, color); + } + else + { + if (ton <= 0 || ton > 97) + drawEmptyNoteSmall(xPos, yPos, color); + else if (ton == 97) + drawKeyOffSmall(xPos, yPos, color); + else + drawNoteSmall(xPos, yPos, ton, color); + } +} + +static void showInstrNumNoVolColumn(uint32_t xPos, uint32_t yPos, uint8_t ins, uint32_t color) +{ + uint8_t chr1, chr2, charW, fontType; + + if (editor.ui.numChannelsShown <= 4) + { + fontType = FONT_TYPE5; + charW = FONT5_CHAR_W; + xPos += 59; + } + else if (editor.ui.numChannelsShown <= 6) + { + fontType = FONT_TYPE4; + charW = FONT4_CHAR_W; + xPos += 51; + } + else if (editor.ui.numChannelsShown <= 8) + { + fontType = FONT_TYPE4; + charW = FONT4_CHAR_W; + xPos += 27; + } + else + { + fontType = FONT_TYPE3; + charW = FONT3_CHAR_W; + xPos += 23; + } + + if (config.ptnInstrZero) + { + pattCharOut(xPos, yPos, ins >> 4, fontType, color); + pattCharOut(xPos + charW, yPos, ins & 0x0F, fontType, color); + } + else + { + chr1 = ins >> 4; + chr2 = ins & 0x0F; + + if (chr1 > 0) + pattCharOut(xPos, yPos, chr1, fontType, color); + + if (chr1 > 0 || chr2 > 0) + pattCharOut(xPos + charW, yPos, chr2, fontType, color); + } +} + +static void showNoVolEfx(uint32_t xPos, uint32_t yPos, uint8_t vol, uint32_t color) +{ + // make compiler happy + (void)xPos; + (void)yPos; + (void)vol; + (void)color; +} + +static void showEfxNoVolColumn(uint32_t xPos, uint32_t yPos, uint8_t effTyp, uint8_t eff, uint32_t color) +{ + uint8_t charW, fontType; + + if (editor.ui.numChannelsShown <= 4) + { + fontType = FONT_TYPE5; + charW = FONT5_CHAR_W; + xPos += 91; + } + else if (editor.ui.numChannelsShown <= 6) + { + fontType = FONT_TYPE4; + charW = FONT4_CHAR_W; + xPos += 67; + } + else if (editor.ui.numChannelsShown <= 8) + { + fontType = FONT_TYPE4; + charW = FONT4_CHAR_W; + xPos += 43; + } + else + { + fontType = FONT_TYPE3; + charW = FONT3_CHAR_W; + xPos += 31; + } + + pattCharOut(xPos, yPos, effTyp, fontType, color); + pattCharOut(xPos + charW, yPos, eff >> 4, fontType, color); + pattCharOut(xPos + (charW * 2), yPos, eff & 0x0F, fontType, color); +} + +void writePattern(int32_t currRow, int32_t pattern) +{ + int32_t row, rowsOnScreen, numRows, afterCurrRow, numChannels; + int32_t textY, midRowTextY, lowerRowsTextY, xPos, xWidth; + uint32_t rowHeight, chanWidth, chans, noteTextColors[2], color; + tonTyp *note, *pattPtr; + const pattCoord_t *pattCoord; + void (*drawNote)(uint32_t, uint32_t, int16_t, uint32_t); + void (*drawInst)(uint32_t, uint32_t, uint8_t, uint32_t); + void (*drawVolEfx)(uint32_t, uint32_t, uint8_t, uint32_t); + void (*drawEfx)(uint32_t, uint32_t, uint8_t, uint8_t, uint32_t); + + /* Draw pattern framework every time (erasing existing content). + ** FT2 doesn't do this. This is quite lazy and consumes more CPU + ** time than needed (overlapped drawing), but it makes the pattern + ** mark/cursor drawing MUCH simpler to implement... + */ + drawPatternBorders(); + + // setup variables + + chans = editor.ui.numChannelsShown; + if (chans > editor.ui.maxVisibleChannels) + chans = editor.ui.maxVisibleChannels; + + assert(chans >= 2 && chans <= 12); + + // get channel width + chanWidth = chanWidths[(chans / 2) - 1]; + editor.ui.patternChannelWidth = (uint16_t)(chanWidth + 3); + + // get heights/pos/rows depending on configuration + rowHeight = config.ptnUnpressed ? 11 : 8; + pattCoord = &pattCoordTable[config.ptnUnpressed][editor.ui.pattChanScrollShown][editor.ui.extended]; + midRowTextY = pattCoord->midRowTextY; + lowerRowsTextY = pattCoord->lowerRowsTextY; + row = currRow - pattCoord->numUpperRows; + rowsOnScreen = pattCoord->numUpperRows + 1 + pattCoord->numLowerRows; + textY = pattCoord->upperRowsTextY; + + afterCurrRow = currRow + 1; + numChannels = editor.ui.numChannelsShown; + pattPtr = patt[pattern]; + numRows = pattLens[pattern]; + noteTextColors[0] = video.palette[PAL_PATTEXT]; // not selected + noteTextColors[1] = video.palette[PAL_FORGRND]; // selected + + // increment pattern data pointer by horizontal scrollbar offset/channel + if (pattPtr != NULL) + pattPtr += editor.ui.channelOffset; + + // set up function pointers for drawing + if (config.ptnS3M) + { + drawNote = showNoteNum; + drawInst = showInstrNum; + drawVolEfx = showVolEfx; + drawEfx = showEfx; + } + else + { + drawNote = showNoteNumNoVolColumn; + drawInst = showInstrNumNoVolColumn; + drawVolEfx = showNoVolEfx; + drawEfx = showEfxNoVolColumn; + } + + // draw pattern data + for (int32_t i = 0; i < rowsOnScreen; i++) + { + if (row >= 0) + { + bool selectedRowFlag = row == currRow; + + drawRowNums(textY, (uint8_t)row, selectedRowFlag); + + if (pattPtr == NULL) + note = emptyPattern; + else + note = &pattPtr[(uint32_t)row * MAX_VOICES]; + + xPos = 29; + xWidth = editor.ui.patternChannelWidth; + + color = noteTextColors[selectedRowFlag]; + for (int32_t j = 0; j < numChannels; j++) + { + drawNote(xPos, textY, note->ton, color); + drawInst(xPos, textY, note->instr, color); + drawVolEfx(xPos, textY, note->vol, color); + drawEfx(xPos, textY, note->effTyp, note->eff, color); + + xPos += xWidth; + note++; + } + } + + // next row + if (++row >= numRows) + break; + + // adjust textY position + if (row == currRow) + textY = midRowTextY; + else if (row == afterCurrRow) + textY = lowerRowsTextY; + else + textY += rowHeight; + } + + writeCursor(); + + // draw pattern marking (if anything is marked) + if (pattMark.markY1 != pattMark.markY2) + writePatternBlockMark(currRow, rowHeight, pattCoord); + + // channel numbers must be drawn lastly + if (config.ptnChnNumbers) + drawChannelNumbering(pattCoord->upperRowsTextY); +} + +// ========== OPTIMIZED CHARACTER DRAWING ROUTINES FOR PATTERN EDITOR ========== + +void pattTwoHexOut(uint32_t xPos, uint32_t yPos, uint8_t val, uint32_t color) +{ + const uint8_t *ch1Ptr, *ch2Ptr; + uint32_t *dstPtr; +#ifndef __arm__ + uint32_t tmp; +#endif + + ch1Ptr = &font4Ptr[(val >> 4) * FONT4_CHAR_W]; + ch2Ptr = &font4Ptr[(val & 0x0F) * FONT4_CHAR_W]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + for (uint32_t y = 0; y < FONT4_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT4_CHAR_W; x++) + { +#ifdef __arm__ + if (ch1Ptr[x] != 0) dstPtr[x] = color; + if (ch2Ptr[x] != 0) dstPtr[FONT4_CHAR_W+x] = color; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (ch1Ptr[x] != 0) tmp = color; + dstPtr[x] = tmp; + + tmp = dstPtr[FONT4_CHAR_W+x]; + if (ch2Ptr[x] != 0) tmp = color; + dstPtr[FONT4_CHAR_W+x] = tmp; +#endif + } + + ch1Ptr += FONT4_WIDTH; + ch2Ptr += FONT4_WIDTH; + dstPtr += SCREEN_W; + } +} + +static void pattCharOut(uint32_t xPos, uint32_t yPos, uint8_t chr, uint8_t fontType, uint32_t color) +{ + const uint8_t *srcPtr; + uint32_t x, y, *dstPtr; +#ifndef __arm__ + uint32_t tmp; +#endif + + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + if (fontType == FONT_TYPE3) + { + srcPtr = &font3Data[chr * FONT3_CHAR_W]; + for (y = 0; y < FONT3_CHAR_H; y++) + { + for (x = 0; x < FONT3_CHAR_W; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + dstPtr[x] = color; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (srcPtr[x] != 0) tmp = color; + dstPtr[x] = tmp; +#endif + } + + srcPtr += FONT3_WIDTH; + dstPtr += SCREEN_W; + } + } + else if (fontType == FONT_TYPE4) + { + srcPtr = &font4Ptr[chr * FONT4_CHAR_W]; + for (y = 0; y < FONT4_CHAR_H; y++) + { + for (x = 0; x < FONT4_CHAR_W; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + dstPtr[x] = color; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (srcPtr[x] != 0) tmp = color; + dstPtr[x] = tmp; +#endif + } + + srcPtr += FONT4_WIDTH; + dstPtr += SCREEN_W; + } + } + else if (fontType == FONT_TYPE5) + { + srcPtr = &font5Ptr[chr * FONT5_CHAR_W]; + for (y = 0; y < FONT5_CHAR_H; y++) + { + for (x = 0; x < FONT5_CHAR_W; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + dstPtr[x] = color; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (srcPtr[x] != 0) tmp = color; + dstPtr[x] = tmp; +#endif + } + + srcPtr += FONT5_WIDTH; + dstPtr += SCREEN_W; + } + } + else + { + srcPtr = &font7Data[chr * FONT7_CHAR_W]; + for (y = 0; y < FONT7_CHAR_H; y++) + { + for (x = 0; x < FONT7_CHAR_W; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + dstPtr[x] = color; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (srcPtr[x] != 0) tmp = color; + dstPtr[x] = tmp; +#endif + } + + srcPtr += FONT7_WIDTH; + dstPtr += SCREEN_W; + } + } +} + +static void drawEmptyNoteSmall(uint32_t xPos, uint32_t yPos, uint32_t color) +{ + const uint8_t *srcPtr; + uint32_t *dstPtr; +#ifndef __arm__ + uint32_t tmp; +#endif + + srcPtr = &font7Data[18 * FONT7_CHAR_W]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + for (uint32_t y = 0; y < FONT7_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT7_CHAR_W*3; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + dstPtr[x] = color; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (srcPtr[x] != 0) tmp = color; + dstPtr[x] = tmp; +#endif + } + + srcPtr += FONT7_WIDTH; + dstPtr += SCREEN_W; + } +} + +static void drawKeyOffSmall(uint32_t xPos, uint32_t yPos, uint32_t color) +{ + const uint8_t *srcPtr; + uint32_t *dstPtr; +#ifndef __arm__ + uint32_t tmp; +#endif + + srcPtr = &font7Data[21 * FONT7_CHAR_W]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + (xPos + 2)]; + + for (uint32_t y = 0; y < FONT7_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT7_CHAR_W*2; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + dstPtr[x] = color; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (srcPtr[x] != 0) tmp = color; + dstPtr[x] = tmp; +#endif + } + + srcPtr += FONT7_WIDTH; + dstPtr += SCREEN_W; + } +} + +static void drawNoteSmall(uint32_t xPos, uint32_t yPos, int32_t ton, uint32_t color) +{ + const uint8_t *ch1Ptr, *ch2Ptr, *ch3Ptr; + uint8_t note; + uint32_t *dstPtr, char1, char2, char3; +#ifndef __arm__ + uint32_t tmp; +#endif + + assert(ton >= 1 && ton <= 97); + + ton--; + + note = noteTab1[ton]; + char3 = noteTab2[ton] * FONT7_CHAR_W; + + if (config.ptnAcc == 0) + { + char1 = sharpNote1Char_small[note]; + char2 = sharpNote2Char_small[note]; + } + else + { + char1 = flatNote1Char_small[note]; + char2 = flatNote2Char_small[note]; + } + + ch1Ptr = &font7Data[char1]; + ch2Ptr = &font7Data[char2]; + ch3Ptr = &font7Data[char3]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + for (uint32_t y = 0; y < FONT7_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT7_CHAR_W; x++) + { +#ifdef __arm__ + if (ch1Ptr[x] != 0) dstPtr[x] = color; + if (ch2Ptr[x] != 0) dstPtr[FONT7_CHAR_W+x] = color; + if (ch3Ptr[x] != 0) dstPtr[((FONT7_CHAR_W*2)-2)+x] = color; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (ch1Ptr[x] != 0) tmp = color; + dstPtr[x] = tmp; + + tmp = dstPtr[FONT7_CHAR_W+x]; + if (ch2Ptr[x] != 0) tmp = color; + dstPtr[FONT7_CHAR_W+x] = tmp; + + tmp = dstPtr[((FONT7_CHAR_W*2)-2)+x]; // -2 to get correct alignment for ending glyph + if (ch3Ptr[x] != 0) tmp = color; + dstPtr[((FONT7_CHAR_W*2)-2)+x] = tmp; +#endif + } + + ch1Ptr += FONT7_WIDTH; + ch2Ptr += FONT7_WIDTH; + ch3Ptr += FONT7_WIDTH; + dstPtr += SCREEN_W; + } +} + +static void drawEmptyNoteMedium(uint32_t xPos, uint32_t yPos, uint32_t color) +{ + const uint8_t *srcPtr; + uint32_t *dstPtr; +#ifndef __arm__ + uint32_t tmp; +#endif + + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + srcPtr = &font4Ptr[43 * FONT4_CHAR_W]; + + for (uint32_t y = 0; y < FONT4_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT4_CHAR_W*3; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + dstPtr[x] = color; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (srcPtr[x] != 0) tmp = color; + dstPtr[x] = tmp; +#endif + } + + srcPtr += FONT4_WIDTH; + dstPtr += SCREEN_W; + } +} + +static void drawKeyOffMedium(uint32_t xPos, uint32_t yPos, uint32_t color) +{ + const uint8_t *srcPtr; + uint32_t *dstPtr; +#ifndef __arm__ + uint32_t tmp; +#endif + + srcPtr = &font4Ptr[40 * FONT4_CHAR_W]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + for (uint32_t y = 0; y < FONT4_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT4_CHAR_W*3; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + dstPtr[x] = color; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (srcPtr[x] != 0) tmp = color; + dstPtr[x] = tmp; +#endif + } + + srcPtr += FONT4_WIDTH; + dstPtr += SCREEN_W; + } +} + +static void drawNoteMedium(uint32_t xPos, uint32_t yPos, int32_t ton, uint32_t color) +{ + const uint8_t *ch1Ptr, *ch2Ptr, *ch3Ptr; + uint32_t note, *dstPtr, char1, char2, char3; +#ifndef __arm__ + uint32_t tmp; +#endif + + ton--; + + note = noteTab1[ton]; + char3 = noteTab2[ton] * FONT4_CHAR_W; + + if (config.ptnAcc == 0) + { + char1 = sharpNote1Char_med[note]; + char2 = sharpNote2Char_med[note]; + } + else + { + char1 = flatNote1Char_med[note]; + char2 = flatNote2Char_med[note]; + } + + ch1Ptr = &font4Ptr[char1]; + ch2Ptr = &font4Ptr[char2]; + ch3Ptr = &font4Ptr[char3]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + for (uint32_t y = 0; y < FONT4_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT4_CHAR_W; x++) + { +#ifdef __arm__ + if (ch1Ptr[x] != 0) dstPtr[x] = color; + if (ch2Ptr[x] != 0) dstPtr[FONT4_CHAR_W+x] = color; + if (ch3Ptr[x] != 0) dstPtr[(FONT4_CHAR_W*2)+x] = color; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (ch1Ptr[x] != 0) tmp = color; + dstPtr[x] = tmp; + + tmp = dstPtr[FONT4_CHAR_W+x]; + if (ch2Ptr[x] != 0) tmp = color; + dstPtr[FONT4_CHAR_W+x] = tmp; + + tmp = dstPtr[(FONT4_CHAR_W*2)+x]; + if (ch3Ptr[x] != 0) tmp = color; + dstPtr[(FONT4_CHAR_W*2)+x] = tmp; +#endif + } + + ch1Ptr += FONT4_WIDTH; + ch2Ptr += FONT4_WIDTH; + ch3Ptr += FONT4_WIDTH; + dstPtr += SCREEN_W; + } +} + +static void drawEmptyNoteBig(uint32_t xPos, uint32_t yPos, uint32_t color) +{ + const uint8_t *srcPtr; + uint32_t *dstPtr; +#ifndef __arm__ + uint32_t tmp; +#endif + + srcPtr = &font4Ptr[67 * FONT4_CHAR_W]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + for (uint32_t y = 0; y < FONT4_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT4_CHAR_W*6; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + dstPtr[x] = color; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (srcPtr[x] != 0) tmp = color; + dstPtr[x] = tmp; +#endif + } + + srcPtr += FONT4_WIDTH; + dstPtr += SCREEN_W; + } +} + +static void drawKeyOffBig(uint32_t xPos, uint32_t yPos, uint32_t color) +{ + const uint8_t *srcPtr; + uint32_t *dstPtr; +#ifndef __arm__ + uint32_t tmp; +#endif + + srcPtr = &font4Data[61 * FONT4_CHAR_W]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + for (uint32_t y = 0; y < FONT4_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT4_CHAR_W*6; x++) + { +#ifdef __arm__ + if (srcPtr[x] != 0) + dstPtr[x] = color; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (srcPtr[x] != 0) tmp = color; + dstPtr[x] = tmp; +#endif + } + + srcPtr += FONT4_WIDTH; + dstPtr += SCREEN_W; + } +} + +static void drawNoteBig(uint32_t xPos, uint32_t yPos, int32_t ton, uint32_t color) +{ + const uint8_t *ch1Ptr, *ch2Ptr, *ch3Ptr; + uint8_t note; + uint32_t *dstPtr, char1, char2, char3; +#ifndef __arm__ + uint32_t tmp; +#endif + ton--; + + note = noteTab1[ton]; + char3 = noteTab2[ton] * FONT5_CHAR_W; + + if (config.ptnAcc == 0) + { + char1 = sharpNote1Char_big[note]; + char2 = sharpNote2Char_big[note]; + } + else + { + char1 = flatNote1Char_big[note]; + char2 = flatNote2Char_big[note]; + } + + ch1Ptr = &font5Ptr[char1]; + ch2Ptr = &font5Ptr[char2]; + ch3Ptr = &font5Ptr[char3]; + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + + for (uint32_t y = 0; y < FONT5_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT5_CHAR_W; x++) + { +#ifdef __arm__ + if (ch1Ptr[x] != 0) dstPtr[x] = color; + if (ch2Ptr[x] != 0) dstPtr[FONT5_CHAR_W+x] = color; + if (ch3Ptr[x] != 0) dstPtr[(FONT5_CHAR_W*2)+x] = color; +#else + // carefully written like this to generate conditional move instructions (font data is hard to predict) + tmp = dstPtr[x]; + if (ch1Ptr[x] != 0) tmp = color; + dstPtr[x] = tmp; + + tmp = dstPtr[FONT5_CHAR_W+x]; + if (ch2Ptr[x] != 0) tmp = color; + dstPtr[FONT5_CHAR_W+x] = tmp; + + tmp = dstPtr[(FONT5_CHAR_W*2)+x]; + if (ch3Ptr[x] != 0) tmp = color; + dstPtr[(FONT5_CHAR_W*2)+x] = tmp; +#endif + } + + ch1Ptr += FONT5_WIDTH; + ch2Ptr += FONT5_WIDTH; + ch3Ptr += FONT5_WIDTH; + dstPtr += SCREEN_W; + } +} diff --git a/src/ft2_pattern_draw.h b/src/ft2_pattern_draw.h index d73bace..db3735c 100644 --- a/src/ft2_pattern_draw.h +++ b/src/ft2_pattern_draw.h @@ -1,7 +1,8 @@ -#pragma once - -#include - -void drawPatternBorders(void); -void writePattern(int16_t currRow, int16_t pattern); -void pattTwoHexOut(uint32_t xPos, uint32_t yPos, uint8_t paletteIndex, uint8_t val); +#pragma once + +#include + +void updatePattFontPtrs(void); +void drawPatternBorders(void); +void writePattern(int32_t currRow, int32_t pattern); +void pattTwoHexOut(uint32_t xPos, uint32_t yPos, uint8_t val, uint32_t color); diff --git a/src/ft2_pattern_ed.c b/src/ft2_pattern_ed.c index 9176178..02e851f 100644 --- a/src/ft2_pattern_ed.c +++ b/src/ft2_pattern_ed.c @@ -1,2906 +1,2919 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include -#include "ft2_header.h" -#include "ft2_gfxdata.h" -#include "ft2_config.h" -#include "ft2_pattern_ed.h" -#include "ft2_gui.h" -#include "ft2_sample_ed.h" -#include "ft2_pattern_draw.h" -#include "ft2_inst_ed.h" -#include "ft2_scopes.h" -#include "ft2_diskop.h" -#include "ft2_audio.h" -#include "ft2_wav_renderer.h" -#include "ft2_mouse.h" -#include "ft2_video.h" - -// for pattern marking w/ keyboard -static int8_t lastChMark; -static int16_t lastRowMark; - -// for pattern marking w/ mouse -static int32_t lastMarkX1 = -1, lastMarkX2 = -1, lastMarkY1 = -1, lastMarkY2 = -1; - -static const uint8_t ptnAntLine[8] = { 27, 25, 20, 19, 42, 40, 31, 30 }; -static const uint8_t ptnLineSub[8] = { 13, 12, 9, 9, 20, 19, 15, 14 }; -static const uint8_t iSwitchExtW[4] = { 40, 40, 40, 39 }; -static const uint8_t iSwitchExtY[8] = { 2, 2, 2, 2, 19, 19, 19, 19 }; -static const uint8_t iSwitchY[8] = { 2, 19, 36, 53, 73, 90, 107, 124 }; -static const uint16_t iSwitchExtX[4] = { 221, 262, 303, 344 }; - -static int32_t lastMouseX, lastMouseY; - -// defined at the bottom of this file -extern const pattCoordsMouse_t pattCoordMouseTable[2][2][2]; - -// globalized -const uint16_t chanWidths[6] = { 141, 141, 93, 69, 45, 45 }; - -bool allocatePattern(uint16_t nr) // for tracker use only, not in loader! -{ - bool audioWasntLocked; - int16_t pattLen; - - if (patt[nr] == NULL) - { - audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - pattLen = pattLens[nr]; - - patt[nr] = (tonTyp *)calloc(pattLen * TRACK_WIDTH, sizeof (tonTyp)); - if (patt[nr] == NULL) - { - if (audioWasntLocked) - unlockAudio(); - - return false; - } - - if (song.pattNr == nr) - song.pattLen = pattLen; - - if (audioWasntLocked) - unlockAudio(); - } - - return true; -} - -void killPatternIfUnused(uint16_t nr) // for tracker use only, not in loader! -{ - bool audioWasntLocked; - - if (patternEmpty(nr)) - { - audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (patt[nr] != NULL) - { - free(patt[nr]); - patt[nr] = NULL; - } - - if (audioWasntLocked) - unlockAudio(); - } -} - -uint8_t getMaxVisibleChannels(void) -{ - if (config.ptnS3M) - { - if (config.ptnMaxChannels == 0) return 4; - else if (config.ptnMaxChannels == 1) return 6; - else if (config.ptnMaxChannels == 2) return 8; - else if (config.ptnMaxChannels == 3) return 8; - - } - else - { - if (config.ptnMaxChannels == 0) return 4; - else if (config.ptnMaxChannels == 1) return 6; - else if (config.ptnMaxChannels == 2) return 8; - else if (config.ptnMaxChannels == 3) return 12; - } - - return 8; -} - -void updatePatternWidth(void) -{ - if (editor.ui.numChannelsShown > editor.ui.maxVisibleChannels) - editor.ui.numChannelsShown = editor.ui.maxVisibleChannels; - - editor.ui.patternChannelWidth = chanWidths[(editor.ui.numChannelsShown / 2) - 1] + 3; -} - -void updateAdvEdit(void) -{ - hexOutBg(92, 113, PAL_FORGRND, PAL_DESKTOP, editor.srcInstr, 2); - hexOutBg(92, 126, PAL_FORGRND, PAL_DESKTOP, editor.curInstr, 2); -} - -void setAdvEditCheckBoxes(void) -{ - checkBoxes[CB_ENABLE_MASKING].checked = editor.copyMaskEnable; - checkBoxes[CB_COPY_MASK_0].checked = editor.copyMask[0]; - checkBoxes[CB_COPY_MASK_1].checked = editor.copyMask[1]; - checkBoxes[CB_COPY_MASK_2].checked = editor.copyMask[2]; - checkBoxes[CB_COPY_MASK_3].checked = editor.copyMask[3]; - checkBoxes[CB_COPY_MASK_4].checked = editor.copyMask[4]; - checkBoxes[CB_PASTE_MASK_0].checked = editor.pasteMask[0]; - checkBoxes[CB_PASTE_MASK_1].checked = editor.pasteMask[1]; - checkBoxes[CB_PASTE_MASK_2].checked = editor.pasteMask[2]; - checkBoxes[CB_PASTE_MASK_3].checked = editor.pasteMask[3]; - checkBoxes[CB_PASTE_MASK_4].checked = editor.pasteMask[4]; - checkBoxes[CB_TRANSP_MASK_0].checked = editor.transpMask[0]; - checkBoxes[CB_TRANSP_MASK_1].checked = editor.transpMask[1]; - checkBoxes[CB_TRANSP_MASK_2].checked = editor.transpMask[2]; - checkBoxes[CB_TRANSP_MASK_3].checked = editor.transpMask[3]; - checkBoxes[CB_TRANSP_MASK_4].checked = editor.transpMask[4]; - - showCheckBox(CB_ENABLE_MASKING); - showCheckBox(CB_COPY_MASK_0); - showCheckBox(CB_COPY_MASK_1); - showCheckBox(CB_COPY_MASK_2); - showCheckBox(CB_COPY_MASK_3); - showCheckBox(CB_COPY_MASK_4); - showCheckBox(CB_PASTE_MASK_0); - showCheckBox(CB_PASTE_MASK_1); - showCheckBox(CB_PASTE_MASK_2); - showCheckBox(CB_PASTE_MASK_3); - showCheckBox(CB_PASTE_MASK_4); - showCheckBox(CB_TRANSP_MASK_0); - showCheckBox(CB_TRANSP_MASK_1); - showCheckBox(CB_TRANSP_MASK_2); - showCheckBox(CB_TRANSP_MASK_3); - showCheckBox(CB_TRANSP_MASK_4); -} - -void drawAdvEdit(void) -{ - drawFramework( 0, 92, 110, 17, FRAMEWORK_TYPE1); - drawFramework( 0, 109, 110, 64, FRAMEWORK_TYPE1); - drawFramework(110, 92, 124, 81, FRAMEWORK_TYPE1); - drawFramework(234, 92, 19, 81, FRAMEWORK_TYPE1); - drawFramework(253, 92, 19, 81, FRAMEWORK_TYPE1); - drawFramework(272, 92, 19, 81, FRAMEWORK_TYPE1); - - textOutShadow( 4, 96, PAL_FORGRND, PAL_DSKTOP2, "Instr. remap:"); - textOutShadow( 4, 113, PAL_FORGRND, PAL_DSKTOP2, "Old number"); - textOutShadow( 4, 126, PAL_FORGRND, PAL_DSKTOP2, "New number"); - textOutShadow(129, 96, PAL_FORGRND, PAL_DSKTOP2, "Masking enable"); - textOutShadow(114, 109, PAL_FORGRND, PAL_DSKTOP2, "Note"); - textOutShadow(114, 121, PAL_FORGRND, PAL_DSKTOP2, "Instrument number"); - textOutShadow(114, 134, PAL_FORGRND, PAL_DSKTOP2, "Volume column"); - textOutShadow(114, 147, PAL_FORGRND, PAL_DSKTOP2, "Effect digit 1"); - textOutShadow(114, 160, PAL_FORGRND, PAL_DSKTOP2, "Effect digit 2,3"); - - charOutShadow(239, 95, PAL_FORGRND, PAL_DSKTOP2, 'C'); - charOutShadow(258, 95, PAL_FORGRND, PAL_DSKTOP2, 'P'); - charOutShadow(277, 95, PAL_FORGRND, PAL_DSKTOP2, 'T'); - - showPushButton(PB_REMAP_TRACK); - showPushButton(PB_REMAP_PATTERN); - showPushButton(PB_REMAP_SONG); - showPushButton(PB_REMAP_BLOCK); - - setAdvEditCheckBoxes(); - - updateAdvEdit(); -} - -void hideAdvEdit(void) -{ - editor.ui.advEditShown = false; - - hidePushButton(PB_REMAP_TRACK); - hidePushButton(PB_REMAP_PATTERN); - hidePushButton(PB_REMAP_SONG); - hidePushButton(PB_REMAP_BLOCK); - - hideCheckBox(CB_ENABLE_MASKING); - hideCheckBox(CB_COPY_MASK_0); - hideCheckBox(CB_COPY_MASK_1); - hideCheckBox(CB_COPY_MASK_2); - hideCheckBox(CB_COPY_MASK_3); - hideCheckBox(CB_COPY_MASK_4); - hideCheckBox(CB_PASTE_MASK_0); - hideCheckBox(CB_PASTE_MASK_1); - hideCheckBox(CB_PASTE_MASK_2); - hideCheckBox(CB_PASTE_MASK_3); - hideCheckBox(CB_PASTE_MASK_4); - hideCheckBox(CB_TRANSP_MASK_0); - hideCheckBox(CB_TRANSP_MASK_1); - hideCheckBox(CB_TRANSP_MASK_2); - hideCheckBox(CB_TRANSP_MASK_3); - hideCheckBox(CB_TRANSP_MASK_4); - - editor.ui.scopesShown = true; - drawScopeFramework(); -} - -void showAdvEdit(void) -{ - if (editor.ui.extended) - exitPatternEditorExtended(); - - hideTopScreen(); - showTopScreen(false); - - editor.ui.advEditShown = true; - editor.ui.scopesShown = false; - drawAdvEdit(); -} - -void toggleAdvEdit(void) -{ - if (editor.ui.advEditShown) - hideAdvEdit(); - else - showAdvEdit(); -} - -void drawTranspose(void) -{ - drawFramework(0, 92, 53, 16, FRAMEWORK_TYPE1); - drawFramework(53, 92, 119, 16, FRAMEWORK_TYPE1); - drawFramework(172, 92, 119, 16, FRAMEWORK_TYPE1); - drawFramework(0, 108, 53, 65, FRAMEWORK_TYPE1); - drawFramework(53, 108, 119, 65, FRAMEWORK_TYPE1); - drawFramework(172, 108, 119, 65, FRAMEWORK_TYPE1); - - textOutShadow(4, 95, PAL_FORGRND, PAL_DSKTOP2, "Transp."); - textOutShadow(58, 95, PAL_FORGRND, PAL_DSKTOP2, "Current instrument"); - textOutShadow(188, 95, PAL_FORGRND, PAL_DSKTOP2, "All instruments"); - textOutShadow(4, 114, PAL_FORGRND, PAL_DSKTOP2, "Track"); - textOutShadow(4, 129, PAL_FORGRND, PAL_DSKTOP2, "Pattern"); - textOutShadow(4, 144, PAL_FORGRND, PAL_DSKTOP2, "Song"); - textOutShadow(4, 159, PAL_FORGRND, PAL_DSKTOP2, "Block"); - - showPushButton(PB_TRANSP_CUR_INS_TRK_UP); - showPushButton(PB_TRANSP_CUR_INS_TRK_DN); - showPushButton(PB_TRANSP_CUR_INS_TRK_12UP); - showPushButton(PB_TRANSP_CUR_INS_TRK_12DN); - showPushButton(PB_TRANSP_ALL_INS_TRK_UP); - showPushButton(PB_TRANSP_ALL_INS_TRK_DN); - showPushButton(PB_TRANSP_ALL_INS_TRK_12UP); - showPushButton(PB_TRANSP_ALL_INS_TRK_12DN); - showPushButton(PB_TRANSP_CUR_INS_PAT_UP); - showPushButton(PB_TRANSP_CUR_INS_PAT_DN); - showPushButton(PB_TRANSP_CUR_INS_PAT_12UP); - showPushButton(PB_TRANSP_CUR_INS_PAT_12DN); - showPushButton(PB_TRANSP_ALL_INS_PAT_UP); - showPushButton(PB_TRANSP_ALL_INS_PAT_DN); - showPushButton(PB_TRANSP_ALL_INS_PAT_12UP); - showPushButton(PB_TRANSP_ALL_INS_PAT_12DN); - showPushButton(PB_TRANSP_CUR_INS_SNG_UP); - showPushButton(PB_TRANSP_CUR_INS_SNG_DN); - showPushButton(PB_TRANSP_CUR_INS_SNG_12UP); - showPushButton(PB_TRANSP_CUR_INS_SNG_12DN); - showPushButton(PB_TRANSP_ALL_INS_SNG_UP); - showPushButton(PB_TRANSP_ALL_INS_SNG_DN); - showPushButton(PB_TRANSP_ALL_INS_SNG_12UP); - showPushButton(PB_TRANSP_ALL_INS_SNG_12DN); - showPushButton(PB_TRANSP_CUR_INS_BLK_UP); - showPushButton(PB_TRANSP_CUR_INS_BLK_DN); - showPushButton(PB_TRANSP_CUR_INS_BLK_12UP); - showPushButton(PB_TRANSP_CUR_INS_BLK_12DN); - showPushButton(PB_TRANSP_ALL_INS_BLK_UP); - showPushButton(PB_TRANSP_ALL_INS_BLK_DN); - showPushButton(PB_TRANSP_ALL_INS_BLK_12UP); - showPushButton(PB_TRANSP_ALL_INS_BLK_12DN); -} - -void showTranspose(void) -{ - if (editor.ui.extended) - exitPatternEditorExtended(); - - hideTopScreen(); - showTopScreen(false); - - editor.ui.transposeShown = true; - editor.ui.scopesShown = false; - drawTranspose(); -} - -void hideTranspose(void) -{ - hidePushButton(PB_TRANSP_CUR_INS_TRK_UP); - hidePushButton(PB_TRANSP_CUR_INS_TRK_DN); - hidePushButton(PB_TRANSP_CUR_INS_TRK_12UP); - hidePushButton(PB_TRANSP_CUR_INS_TRK_12DN); - hidePushButton(PB_TRANSP_ALL_INS_TRK_UP); - hidePushButton(PB_TRANSP_ALL_INS_TRK_DN); - hidePushButton(PB_TRANSP_ALL_INS_TRK_12UP); - hidePushButton(PB_TRANSP_ALL_INS_TRK_12DN); - hidePushButton(PB_TRANSP_CUR_INS_PAT_UP); - hidePushButton(PB_TRANSP_CUR_INS_PAT_DN); - hidePushButton(PB_TRANSP_CUR_INS_PAT_12UP); - hidePushButton(PB_TRANSP_CUR_INS_PAT_12DN); - hidePushButton(PB_TRANSP_ALL_INS_PAT_UP); - hidePushButton(PB_TRANSP_ALL_INS_PAT_DN); - hidePushButton(PB_TRANSP_ALL_INS_PAT_12UP); - hidePushButton(PB_TRANSP_ALL_INS_PAT_12DN); - hidePushButton(PB_TRANSP_CUR_INS_SNG_UP); - hidePushButton(PB_TRANSP_CUR_INS_SNG_DN); - hidePushButton(PB_TRANSP_CUR_INS_SNG_12UP); - hidePushButton(PB_TRANSP_CUR_INS_SNG_12DN); - hidePushButton(PB_TRANSP_ALL_INS_SNG_UP); - hidePushButton(PB_TRANSP_ALL_INS_SNG_DN); - hidePushButton(PB_TRANSP_ALL_INS_SNG_12UP); - hidePushButton(PB_TRANSP_ALL_INS_SNG_12DN); - hidePushButton(PB_TRANSP_CUR_INS_BLK_UP); - hidePushButton(PB_TRANSP_CUR_INS_BLK_DN); - hidePushButton(PB_TRANSP_CUR_INS_BLK_12UP); - hidePushButton(PB_TRANSP_CUR_INS_BLK_12DN); - hidePushButton(PB_TRANSP_ALL_INS_BLK_UP); - hidePushButton(PB_TRANSP_ALL_INS_BLK_DN); - hidePushButton(PB_TRANSP_ALL_INS_BLK_12UP); - hidePushButton(PB_TRANSP_ALL_INS_BLK_12DN); - - editor.ui.transposeShown = false; - editor.ui.scopesShown = true; - drawScopeFramework(); -} - -void toggleTranspose(void) -{ - if (editor.ui.transposeShown) - hideTranspose(); - else - showTranspose(); -} - -// ----- PATTERN CURSOR FUNCTIONS ----- - -void cursorChannelLeft(void) -{ - editor.cursor.object = CURSOR_EFX2; - - if (editor.cursor.ch == 0) - { - editor.cursor.ch = song.antChn - 1; - if (editor.ui.pattChanScrollShown) - setScrollBarPos(SB_CHAN_SCROLL, song.antChn, true); - } - else - { - editor.cursor.ch--; - if (editor.ui.pattChanScrollShown) - { - if (editor.cursor.ch < editor.ui.channelOffset) - scrollBarScrollUp(SB_CHAN_SCROLL, 1); - } - } -} - -void cursorChannelRight(void) -{ - editor.cursor.object = CURSOR_NOTE; - - if (editor.cursor.ch >= song.antChn-1) - { - editor.cursor.ch = 0; - if (editor.ui.pattChanScrollShown) - setScrollBarPos(SB_CHAN_SCROLL, 0, true); - } - else - { - editor.cursor.ch++; - if (editor.ui.pattChanScrollShown && editor.cursor.ch >= editor.ui.channelOffset+editor.ui.numChannelsShown) - scrollBarScrollDown(SB_CHAN_SCROLL, 1); - } -} - -void cursorTabLeft(void) -{ - if (editor.cursor.object == CURSOR_NOTE) - cursorChannelLeft(); - - editor.cursor.object = CURSOR_NOTE; - editor.ui.updatePatternEditor = true; -} - -void cursorTabRight(void) -{ - cursorChannelRight(); - editor.cursor.object = CURSOR_NOTE; - editor.ui.updatePatternEditor = true; -} - -void chanLeft(void) -{ - cursorChannelLeft(); - editor.cursor.object = CURSOR_NOTE; - editor.ui.updatePatternEditor = true; -} - -void chanRight(void) -{ - cursorChannelRight(); - editor.cursor.object = CURSOR_NOTE; - editor.ui.updatePatternEditor = true; -} - -void cursorLeft(void) -{ - editor.cursor.object--; - - if (!config.ptnS3M) - { - while (editor.cursor.object == CURSOR_VOL1 || editor.cursor.object == CURSOR_VOL2) - editor.cursor.object--; - } - - if (editor.cursor.object == -1) - { - editor.cursor.object = CURSOR_EFX2; - cursorChannelLeft(); - } - - editor.ui.updatePatternEditor = true; -} - -void cursorRight(void) -{ - editor.cursor.object++; - - if (!config.ptnS3M) - { - while (editor.cursor.object == CURSOR_VOL1 || editor.cursor.object == CURSOR_VOL2) - editor.cursor.object++; - } - - if (editor.cursor.object == 8) - { - editor.cursor.object = CURSOR_NOTE; - cursorChannelRight(); - } - - editor.ui.updatePatternEditor = true; -} - -void showPatternEditor(void) -{ - editor.ui.patternEditorShown = true; - updateChanNums(); - drawPatternBorders(); - editor.ui.updatePatternEditor = true; -} - -void hidePatternEditor(void) -{ - hideScrollBar(SB_CHAN_SCROLL); - hidePushButton(PB_CHAN_SCROLL_LEFT); - hidePushButton(PB_CHAN_SCROLL_RIGHT); - - editor.ui.patternEditorShown = false; -} - -static void updatePatternEditorGUI(void) -{ - uint8_t i; - pushButton_t *p; - textBox_t *t; - - if (editor.ui.extended) - { - // extended pattern editor - - // instrument names - for (i = 0; i < 8; i++) - { - t = &textBoxes[TB_INST1+i]; - - if (i < 4) - { - t->x = 406; - t->y = 5 + (i * 11); - } - else - { - t->x = 529; - t->y = 5 + ((i - 4) * 11); - } - - t->w = 99; - t->renderW = t->w - (t->tx * 2); - } - - scrollBars[SB_POS_ED].h = 23; - - pushButtons[PB_POSED_POS_DOWN].y = 38; - pushButtons[PB_POSED_PATT_UP].y = 20; - pushButtons[PB_POSED_PATT_DOWN].y = 20; - pushButtons[PB_POSED_DEL].y = 35; - pushButtons[PB_SWAP_BANK].caption = "Swap B."; - pushButtons[PB_SWAP_BANK].caption2 = NULL; - pushButtons[PB_SWAP_BANK].x = 162; - pushButtons[PB_SWAP_BANK].y = 35; - pushButtons[PB_SWAP_BANK].w = 53; - pushButtons[PB_SWAP_BANK].h = 16; - pushButtons[PB_POSED_LEN_UP].x = 180; - pushButtons[PB_POSED_LEN_UP].y = 3; - pushButtons[PB_POSED_LEN_DOWN].x = 197; - pushButtons[PB_POSED_LEN_DOWN].y = 3; - pushButtons[PB_POSED_REP_UP].x = 180; - pushButtons[PB_POSED_REP_UP].y = 17; - pushButtons[PB_POSED_REP_DOWN].x = 197; - pushButtons[PB_POSED_REP_DOWN].y = 17; - pushButtons[PB_PATT_UP].x = 267; - pushButtons[PB_PATT_UP].y = 37; - pushButtons[PB_PATT_DOWN].x = 284; - pushButtons[PB_PATT_DOWN].y = 37; - pushButtons[PB_PATTLEN_UP].x = 348; - pushButtons[PB_PATTLEN_UP].y = 37; - pushButtons[PB_PATTLEN_DOWN].x = 365; - pushButtons[PB_PATTLEN_DOWN].y = 37; - - // instrument switcher - for (i = 0; i < 16; i++) - { - p = &pushButtons[PB_RANGE1+i]; - - p->w = iSwitchExtW[i & 3]; - p->x = iSwitchExtX[i & 3]; - p->y = iSwitchExtY[i & 7]; - } - } - else - { - // instrument names - for (i = 0; i < 8; i++) - { - t = &textBoxes[TB_INST1+i]; - - t->y = 5 + (i * 11); - t->x = 446; - t->w = 140; - t->renderW = t->w - (t->tx * 2); - } - - // normal pattern editor - - scrollBars[SB_POS_ED].h = 21; - - pushButtons[PB_POSED_POS_DOWN].y = 36; - pushButtons[PB_POSED_PATT_UP].y = 19; - pushButtons[PB_POSED_PATT_DOWN].y = 19; - pushButtons[PB_POSED_DEL].y = 33; - pushButtons[PB_SWAP_BANK].caption = "Swap"; - pushButtons[PB_SWAP_BANK].caption2 = "Bank"; - pushButtons[PB_SWAP_BANK].x = 590; - pushButtons[PB_SWAP_BANK].y = 144; - pushButtons[PB_SWAP_BANK].w = 39; - pushButtons[PB_SWAP_BANK].h = 27; - pushButtons[PB_POSED_LEN_UP].x = 74; - pushButtons[PB_POSED_LEN_UP].y = 50; - pushButtons[PB_POSED_LEN_DOWN].x = 91; - pushButtons[PB_POSED_LEN_DOWN].y = 50; - pushButtons[PB_POSED_REP_UP].x = 74; - pushButtons[PB_POSED_REP_UP].y = 62; - pushButtons[PB_POSED_REP_DOWN].x = 91; - pushButtons[PB_POSED_REP_DOWN].y = 62; - pushButtons[PB_PATT_UP].x = 253; - pushButtons[PB_PATT_UP].y = 34; - pushButtons[PB_PATT_DOWN].x = 270; - pushButtons[PB_PATT_DOWN].y = 34; - pushButtons[PB_PATTLEN_UP].x = 253; - pushButtons[PB_PATTLEN_UP].y = 48; - pushButtons[PB_PATTLEN_DOWN].x = 270; - pushButtons[PB_PATTLEN_DOWN].y = 48; - - // instrument switcher - for (i = 0; i < 16; i++) - { - p = &pushButtons[PB_RANGE1+i]; - - p->w = 39; - p->x = 590; - p->y = iSwitchY[i & 7]; - } - } -} - -void patternEditorExtended(void) -{ - // backup old screen flags - editor.ui._aboutScreenShown = editor.ui.aboutScreenShown; - editor.ui._helpScreenShown = editor.ui.helpScreenShown; - editor.ui._configScreenShown = editor.ui.configScreenShown; - editor.ui._diskOpShown = editor.ui.diskOpShown; - editor.ui._nibblesShown = editor.ui.nibblesShown; - editor.ui._transposeShown = editor.ui.transposeShown; - editor.ui._instEditorShown = editor.ui.instEditorShown; - editor.ui._instEditorExtShown = editor.ui.instEditorExtShown; - editor.ui._sampleEditorExtShown = editor.ui.sampleEditorExtShown; - editor.ui._patternEditorShown = editor.ui.patternEditorShown; - editor.ui._sampleEditorShown = editor.ui.sampleEditorShown; - editor.ui._advEditShown= editor.ui.advEditShown; - editor.ui._wavRendererShown = editor.ui.wavRendererShown; - editor.ui._trimScreenShown = editor.ui.trimScreenShown; - - hideTopScreen(); - hideSampleEditor(); - hideInstEditor(); - - editor.ui.extended = true; - editor.ui.patternEditorShown = true; - updatePatternEditorGUI(); // change pattern editor layout (based on ui.extended flag) - editor.ui.updatePatternEditor = true; // redraw pattern editor - - drawFramework(0, 0, 112, 53, FRAMEWORK_TYPE1); - drawFramework(112, 0, 106, 33, FRAMEWORK_TYPE1); - drawFramework(112, 33, 106, 20, FRAMEWORK_TYPE1); - drawFramework(218, 0, 168, 53, FRAMEWORK_TYPE1); - - // pos ed. stuff - - drawFramework(2, 2, 51, 20, FRAMEWORK_TYPE2); - drawFramework(2, 31, 51, 20, FRAMEWORK_TYPE2); - - showScrollBar(SB_POS_ED); - showPushButton(PB_POSED_POS_UP); - showPushButton(PB_POSED_POS_DOWN); - showPushButton(PB_POSED_INS); - showPushButton(PB_POSED_PATT_UP); - showPushButton(PB_POSED_PATT_DOWN); - showPushButton(PB_POSED_DEL); - showPushButton(PB_POSED_LEN_UP); - showPushButton(PB_POSED_LEN_DOWN); - showPushButton(PB_POSED_REP_UP); - showPushButton(PB_POSED_REP_DOWN); - showPushButton(PB_SWAP_BANK); - showPushButton(PB_PATT_UP); - showPushButton(PB_PATT_DOWN); - showPushButton(PB_PATTLEN_UP); - showPushButton(PB_PATTLEN_DOWN); - - showPushButton(PB_EXIT_EXT_PATT); - - textOutShadow(116, 5, PAL_FORGRND, PAL_DSKTOP2, "Sng.len."); - textOutShadow(116, 19, PAL_FORGRND, PAL_DSKTOP2, "Repst."); - textOutShadow(222, 40, PAL_FORGRND, PAL_DSKTOP2, "Ptn."); - textOutShadow(305, 40, PAL_FORGRND, PAL_DSKTOP2, "Ln."); - - editor.ui.instrSwitcherShown = true; - showInstrumentSwitcher(); - - drawSongLength(); - drawSongRepS(); - drawEditPattern(editor.editPattern); - drawPatternLength(editor.editPattern); - drawPosEdNums(editor.songPos); - editor.ui.updatePosSections = true; - - // kludge to fix scrollbar thumb when the scrollbar height changes during playback - if (songPlaying) - setScrollBarPos(SB_POS_ED, editor.songPos, false); -} - -void exitPatternEditorExtended(void) -{ - editor.ui.extended = false; - updatePatternEditorGUI(); - hidePushButton(PB_EXIT_EXT_PATT); - - // set back top screen button maps - - // set back old screen flags - editor.ui.aboutScreenShown = editor.ui._aboutScreenShown; - editor.ui.helpScreenShown = editor.ui._helpScreenShown; - editor.ui.configScreenShown = editor.ui._configScreenShown; - editor.ui.diskOpShown = editor.ui._diskOpShown; - editor.ui.nibblesShown = editor.ui._nibblesShown; - editor.ui.transposeShown = editor.ui._transposeShown; - editor.ui.instEditorShown = editor.ui._instEditorShown; - editor.ui.instEditorExtShown = editor.ui._instEditorExtShown; - editor.ui.sampleEditorExtShown = editor.ui._sampleEditorExtShown; - editor.ui.patternEditorShown = editor.ui._patternEditorShown; - editor.ui.sampleEditorShown = editor.ui._sampleEditorShown; - editor.ui.advEditShown = editor.ui._advEditShown; - editor.ui.wavRendererShown = editor.ui._wavRendererShown; - editor.ui.trimScreenShown = editor.ui.trimScreenShown; - - showTopScreen(true); - showBottomScreen(); - - // kludge to fix scrollbar thumb when the scrollbar height changes during playback - if (songPlaying) - setScrollBarPos(SB_POS_ED, editor.songPos, false); -} - -void togglePatternEditorExtended(void) -{ - if (editor.ui.extended) - exitPatternEditorExtended(); - else - patternEditorExtended(); -} - -void clearPattMark(void) -{ - memset(&pattMark, 0, sizeof (pattMark)); - - lastMarkX1 = -1; - lastMarkX2 = -1; - lastMarkY1 = -1; - lastMarkY2 = -1; -} - -void checkMarkLimits(void) -{ - uint16_t limit; - - limit = pattLens[editor.editPattern]; - pattMark.markY1 = CLAMP(pattMark.markY1, 0, limit); - pattMark.markY2 = CLAMP(pattMark.markY2, 0, limit); - - limit = song.antChn - 1; - pattMark.markX1 = CLAMP(pattMark.markX1, 0, limit); - pattMark.markX2 = CLAMP(pattMark.markX2, 0, limit); - - // will probably never happen? FT2 has this in CheckMarkLimits() though... - if (pattMark.markX1 > pattMark.markX2) - pattMark.markX1 = pattMark.markX2; -} - -static int8_t mouseXToCh(void) // used to get channel num from mouse x (for pattern marking) -{ - int8_t ch, chEnd; - int32_t mouseX; - - assert(editor.ui.patternChannelWidth > 0); - if (editor.ui.patternChannelWidth == 0) - return 0; - - mouseX = mouse.x - 29; - mouseX = CLAMP(mouseX, 0, 573); - - chEnd = (editor.ui.channelOffset + editor.ui.numChannelsShown) - 1; - - ch = editor.ui.channelOffset + (int8_t)(mouseX / editor.ui.patternChannelWidth); - ch = CLAMP(ch, 0, chEnd); - - // in some setups there can be non-used channels to the right, do clamping - if (ch >= song.antChn) - ch = song.antChn - 1; - - return ch; -} - -static int16_t mouseYToRow(void) // used to get row num from mouse y (for pattern marking) -{ - uint8_t charHeight, mode; - int16_t row, patternLen, my, maxY, maxRow; - const pattCoordsMouse_t *pattCoordsMouse; - - pattCoordsMouse = &pattCoordMouseTable[config.ptnUnpressed][editor.ui.pattChanScrollShown][editor.ui.extended]; - - // clamp mouse y to boundaries - maxY = editor.ui.pattChanScrollShown ? 382 : 396; - my = (int16_t)(CLAMP(mouse.y, pattCoordsMouse->upperRowsY, maxY)); - - charHeight = config.ptnUnpressed ? 11 : 8; - - // test top/middle/bottom rows - if (my < pattCoordsMouse->midRowY) - { - // top rows - row = editor.pattPos - (pattCoordsMouse->numUpperRows - ((my - pattCoordsMouse->upperRowsY) / charHeight)); - if (row < 0) - row = 0; - - return row; - } - else if (my >= pattCoordsMouse->midRowY && my <= pattCoordsMouse->midRowY+10) - { - // current row (middle) - return editor.pattPos; - } - else - { - // bottom rows - row = (editor.pattPos + 1) + ((my - pattCoordsMouse->lowerRowsY) / charHeight); - - // prevent being able to mark the next unseen row on the bottom (in some configurations) - mode = (editor.ui.extended * 4) + (config.ptnUnpressed * 2) + editor.ui.pattChanScrollShown; - - maxRow = (ptnAntLine[mode] + (editor.pattPos - ptnLineSub[mode])) - 1; - if (row > maxRow) - row = maxRow; - - // clamp to pattern length - patternLen = pattLens[editor.editPattern]; - if (row >= patternLen) - row = patternLen - 1; - - return row; - } -} - -void handlePatternDataMouseDown(bool mouseButtonHeld) -{ - bool forceMarking; - int8_t chTmp; - int16_t y1, y2, rowTmp, pattLen; - - // non-FT2 feature: Use right mouse button to remove pattern marking - if (mouse.rightButtonPressed) - { - clearPattMark(); - editor.ui.updatePatternEditor = true; - return; - } - - if (!mouseButtonHeld) - { - // we clicked inside the pattern data area for the first time, set initial vars - - mouse.lastUsedObjectType = OBJECT_PATTERNMARK; - - lastMouseX = mouse.x; - lastMouseY = mouse.y; - - lastChMark = mouseXToCh(); - lastRowMark = mouseYToRow(); - - pattMark.markX1 = lastChMark; - pattMark.markX2 = lastChMark; - pattMark.markY1 = lastRowMark; - pattMark.markY2 = lastRowMark + 1; - - checkMarkLimits(); - - editor.ui.updatePatternEditor = true; - return; - } - - // we're holding down the mouse button inside the pattern data area - - forceMarking = songPlaying; - - // scroll left/right with mouse - if (editor.ui.pattChanScrollShown) - { - if (mouse.x < 29) - { - scrollBarScrollUp(SB_CHAN_SCROLL, 1); - forceMarking = true; - } - else if (mouse.x > 604) - { - scrollBarScrollDown(SB_CHAN_SCROLL, 1); - forceMarking = true; - } - } - - // mark channels - if (forceMarking || lastMouseX != mouse.x) - { - lastMouseX = mouse.x; - - chTmp = mouseXToCh(); - if (chTmp < lastChMark) - { - pattMark.markX1 = chTmp; - pattMark.markX2 = lastChMark; - } - else - { - pattMark.markX2 = chTmp; - pattMark.markX1 = lastChMark; - } - - if (lastMarkX1 != pattMark.markX1 || lastMarkX2 != pattMark.markX2) - { - checkMarkLimits(); - editor.ui.updatePatternEditor = true; - - lastMarkX1 = pattMark.markX1; - lastMarkX2 = pattMark.markX2; - } - } - - // scroll down/up with mouse (if song is not playing) - if (!songPlaying) - { - y1 = editor.ui.extended ? 56 : 176; - y2 = editor.ui.pattChanScrollShown ? 382 : 396; - - if (mouse.y < y1) - { - pattLen = pattLens[editor.editPattern]; - if (editor.pattPos > 0) - setPos(-1, editor.pattPos - 1); - - forceMarking = true; - editor.ui.updatePatternEditor = true; - } - else if (mouse.y > y2) - { - pattLen = pattLens[editor.editPattern]; - if (editor.pattPos < (pattLen - 1)) - setPos(-1, editor.pattPos + 1); - - forceMarking = true; - editor.ui.updatePatternEditor = true; - } - } - - // mark rows - if (forceMarking || lastMouseY != mouse.y) - { - lastMouseY = mouse.y; - - rowTmp = mouseYToRow(); - if (rowTmp < lastRowMark) - { - pattMark.markY1 = rowTmp; - pattMark.markY2 = lastRowMark + 1; - } - else - { - pattMark.markY2 = rowTmp + 1; - pattMark.markY1 = lastRowMark; - } - - if (lastMarkY1 != pattMark.markY1 || lastMarkY2 != pattMark.markY2) - { - checkMarkLimits(); - editor.ui.updatePatternEditor = true; - - lastMarkY1 = pattMark.markY1; - lastMarkY2 = pattMark.markY2; - } - } -} - -void rowOneUpWrap(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - song.pattPos = (song.pattPos - 1 + song.pattLen) % song.pattLen; - if (!songPlaying) - { - editor.pattPos = (uint8_t)song.pattPos; - editor.ui.updatePatternEditor = true; - } - - if (audioWasntLocked) - unlockAudio(); -} - -void rowOneDownWrap(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (songPlaying) - { - song.timer = 2; - } - else - { - song.pattPos = (song.pattPos + 1 + song.pattLen) % song.pattLen; - editor.pattPos = (uint8_t)song.pattPos; - editor.ui.updatePatternEditor = true; - } - - if (audioWasntLocked) - unlockAudio(); -} - -void rowUp(uint16_t amount) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - song.pattPos -= amount; - if (song.pattPos < 0) - song.pattPos = 0; - - if (!songPlaying) - { - editor.pattPos = (uint8_t)song.pattPos; - editor.ui.updatePatternEditor = true; - } - - if (audioWasntLocked) - unlockAudio(); -} - -void rowDown(uint16_t amount) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - song.pattPos += amount; - if (song.pattPos >= song.pattLen) - song.pattPos = song.pattLen - 1; - - if (!songPlaying) - { - editor.pattPos = (uint8_t)song.pattPos; - editor.ui.updatePatternEditor = true; - } - - if (audioWasntLocked) - unlockAudio(); -} - -void keybPattMarkUp(void) -{ - int8_t xPos; - int16_t pattPos; - - xPos = editor.cursor.ch; - pattPos = editor.pattPos; - - if (xPos != pattMark.markX1 && xPos != pattMark.markX2) - { - pattMark.markX1 = xPos; - pattMark.markX2 = xPos; - pattMark.markY1 = pattPos; - pattMark.markY2 = pattPos + 1; - } - - if (pattPos == pattMark.markY1-1) - { - pattMark.markY1 = pattPos; - } - else if (pattPos == pattMark.markY2) - { - pattMark.markY2 = pattPos - 1; - } - else if (pattPos != pattMark.markY1 && pattPos != pattMark.markY2) - { - pattMark.markX1 = xPos; - pattMark.markX2 = xPos; - pattMark.markY1 = pattPos; - pattMark.markY2 = pattPos + 1; - - } - - checkMarkLimits(); - rowOneUpWrap(); -} - -void keybPattMarkDown(void) -{ - int8_t xPos; - int16_t pattPos; - - xPos = editor.cursor.ch; - pattPos = editor.pattPos; - - if (xPos != pattMark.markX1 && xPos != pattMark.markX2) - { - pattMark.markX1 = xPos; - pattMark.markX2 = xPos; - pattMark.markY1 = pattPos; - pattMark.markY2 = pattPos + 1; - } - - if (pattPos == pattMark.markY2) - { - pattMark.markY2 = pattPos + 1; - } - else if (pattPos == pattMark.markY1-1) - { - pattMark.markY1 = pattPos + 2; - } - else if (pattPos != pattMark.markY1 && pattPos != pattMark.markY2) - { - pattMark.markX1 = xPos; - pattMark.markX2 = xPos; - pattMark.markY1 = pattPos; - pattMark.markY2 = pattPos + 1; - } - - checkMarkLimits(); - rowOneDownWrap(); -} - -void keybPattMarkLeft(void) -{ - int8_t xPos; - int16_t pattPos; - - xPos = editor.cursor.ch; - pattPos = editor.pattPos; - - if (pattPos != pattMark.markY1-1 && pattPos != pattMark.markY2) - { - pattMark.markY1 = pattPos - 1; - pattMark.markY2 = pattPos; - } - - if (xPos == pattMark.markX1) - { - pattMark.markX1 = xPos - 1; - } - else if (xPos == pattMark.markX2) - { - pattMark.markX2 = xPos - 1; - } - else if (xPos != pattMark.markX1 && xPos != pattMark.markX2) - { - pattMark.markX1 = xPos - 1; - pattMark.markX2 = xPos; - pattMark.markY1 = pattPos - 1; - pattMark.markY2 = pattPos; - } - - checkMarkLimits(); - chanLeft(); -} - -void keybPattMarkRight(void) -{ - int8_t xPos; - int16_t pattPos; - - xPos = editor.cursor.ch; - pattPos = editor.pattPos; - - if (pattPos != pattMark.markY1-1 && pattPos != pattMark.markY2) - { - pattMark.markY1 = pattPos - 1; - pattMark.markY2 = pattPos; - } - - if (xPos == pattMark.markX2) - { - pattMark.markX2 = xPos + 1; - } - else if (xPos == pattMark.markX1) - { - pattMark.markX1 = xPos + 1; - } - else if (xPos != pattMark.markX1 && xPos != pattMark.markX2) - { - pattMark.markX1 = xPos; - pattMark.markX2 = xPos + 1; - pattMark.markY1 = pattPos - 1; - pattMark.markY2 = pattPos; - } - - checkMarkLimits(); - chanRight(); -} - -bool loadTrack(UNICHAR *filenameU) -{ - FILE *f; - uint16_t nr, pattLen; - tonTyp *pattPtr, loadBuff[MAX_PATT_LEN]; - trackHeaderType th; - - f = UNICHAR_FOPEN(filenameU, "rb"); - if (f == NULL) - { - okBox(0, "System message", "General I/O error during loading! Is the file in use?"); - return false; - } - - nr = editor.editPattern; - pattLen = pattLens[nr]; - - if (fread(&th, 1, sizeof (th), f) != sizeof (th)) - { - okBox(0, "System message", "General I/O error during loading! Is the file in use?"); - goto trackLoadError; - } - - if (th.ver != 1) - { - okBox(0, "System message", "Incompatible format version!"); - goto trackLoadError; - } - - if (th.len > MAX_PATT_LEN) - th.len = MAX_PATT_LEN; - - if (pattLen > th.len) - pattLen = th.len; - - if (fread(loadBuff, pattLen * sizeof (tonTyp), 1, f) != 1) - { - okBox(0, "System message", "General I/O error during loading! Is the file in use?"); - goto trackLoadError; - } - - if (!allocatePattern(nr)) - { - okBox(0, "System message", "Not enough memory!"); - goto trackLoadError; - } - - pattPtr = patt[nr]; - - lockMixerCallback(); - for (uint16_t i = 0; i < pattLen; i++) - { - pattPtr = &patt[nr][(i * MAX_VOICES) + editor.cursor.ch]; - *pattPtr = loadBuff[i]; - - // non-FT2 security fix: remove overflown (illegal) stuff - if (pattPtr->ton > 97) - pattPtr->ton = 0; - - if (pattPtr->effTyp > 35) - { - pattPtr->effTyp = 0; - pattPtr->eff = 0; - } - } - - unlockMixerCallback(); - - fclose(f); - - editor.ui.updatePatternEditor = true; - editor.ui.updatePosSections = true; - - diskOpSetFilename(DISKOP_ITEM_TRACK, filenameU); - setSongModifiedFlag(); - - return true; - -trackLoadError: - fclose(f); - return false; -} - -bool saveTrack(UNICHAR *filenameU) -{ - FILE *f; - uint16_t nr, pattLen, i; - tonTyp *pattPtr, saveBuff[MAX_PATT_LEN]; - trackHeaderType th; - - nr = editor.editPattern; - pattPtr = patt[nr]; - - if (pattPtr == NULL) - { - okBox(0, "System message", "The current pattern is empty!"); - return false; - } - - f = UNICHAR_FOPEN(filenameU, "wb"); - if (f == NULL) - { - okBox(0, "System message", "General I/O error during saving! Is the file in use?"); - return false; - } - - pattLen = pattLens[nr]; - for (i = 0; i < pattLen; i++) - saveBuff[i] = pattPtr[(i * MAX_VOICES) + editor.cursor.ch]; - - th.len = pattLen; - th.ver = 1; - - if (fwrite(&th, sizeof (th), 1, f) != 1) - { - fclose(f); - okBox(0, "System message", "General I/O error during saving! Is the file in use?"); - return false; - } - - if (fwrite(saveBuff, pattLen * sizeof (tonTyp), 1, f) != 1) - { - fclose(f); - okBox(0, "System message", "General I/O error during saving! Is the file in use?"); - return false; - } - - fclose(f); - return true; -} - -bool loadPattern(UNICHAR *filenameU) -{ - FILE *f; - uint16_t nr, pattLen; - tonTyp *pattPtr; - patternHeaderType th; - - f = UNICHAR_FOPEN(filenameU, "rb"); - if (f == NULL) - { - okBox(0, "System message", "General I/O error during loading! Is the file in use?"); - return false; - } - - nr = editor.editPattern; - - if (!allocatePattern(nr)) - { - okBox(0, "System message", "Not enough memory!"); - goto loadPattError; - } - - pattPtr = patt[nr]; - pattLen = pattLens[nr]; - - if (fread(&th, 1, sizeof (th), f) != sizeof (th)) - { - okBox(0, "System message", "General I/O error during loading! Is the file in use?"); - goto loadPattError; - } - - if (th.ver != 1) - { - okBox(0, "System message", "Incompatible format version!"); - goto loadPattError; - } - - if (th.len > MAX_PATT_LEN) - th.len = MAX_PATT_LEN; - - if (pattLen > th.len) - pattLen = th.len; - - lockMixerCallback(); - - if (fread(pattPtr, pattLen * TRACK_WIDTH, 1, f) != 1) - { - unlockMixerCallback(); - okBox(0, "System message", "General I/O error during loading! Is the file in use?"); - goto loadPattError; - } - - // non-FT2 security fix: remove overflown (illegal) stuff - for (uint16_t i = 0; i < pattLen; i++) - { - for (uint16_t j = 0; j < MAX_VOICES; j++) - { - pattPtr = &patt[nr][(i * MAX_VOICES) + j]; - if (pattPtr->ton > 97) - pattPtr->ton = 0; - - if (pattPtr->effTyp > 35) - { - pattPtr->effTyp = 0; - pattPtr->eff = 0; - } - } - } - - unlockMixerCallback(); - - fclose(f); - - editor.ui.updatePatternEditor = true; - editor.ui.updatePosSections = true; - - diskOpSetFilename(DISKOP_ITEM_PATTERN, filenameU); - setSongModifiedFlag(); - - return true; - -loadPattError: - fclose(f); - return false; -} - -bool savePattern(UNICHAR *filenameU) -{ - FILE *f; - uint16_t nr, pattLen; - tonTyp *pattPtr; - patternHeaderType th; - - nr = editor.editPattern; - pattPtr = patt[nr]; - - if (pattPtr == NULL) - { - okBox(0, "System message", "The current pattern is empty!"); - return false; - } - - f = UNICHAR_FOPEN(filenameU, "wb"); - if (f == NULL) - { - okBox(0, "System message", "General I/O error during saving! Is the file in use?"); - return false; - } - - pattLen = pattLens[nr]; - - th.len = pattLen; - th.ver = 1; - - if (fwrite(&th, 1, sizeof (th), f) != sizeof (th)) - { - fclose(f); - okBox(0, "System message", "General I/O error during saving! Is the file in use?"); - return false; - } - - if (fwrite(pattPtr, pattLen * TRACK_WIDTH, 1, f) != 1) - { - fclose(f); - okBox(0, "System message", "General I/O error during saving! Is the file in use?"); - return false; - } - - fclose(f); - return true; -} - -void scrollChannelLeft(void) -{ - scrollBarScrollLeft(SB_CHAN_SCROLL, 1); -} - -void scrollChannelRight(void) -{ - scrollBarScrollRight(SB_CHAN_SCROLL, 1); -} - -void setChannelScrollPos(uint32_t pos) -{ - if (!editor.ui.pattChanScrollShown) - { - editor.ui.channelOffset = 0; - return; - } - - if (editor.ui.channelOffset == (uint8_t)pos) - return; - - editor.ui.channelOffset = (uint8_t)pos; - - assert(song.antChn > editor.ui.numChannelsShown); - if (editor.ui.channelOffset >= song.antChn-editor.ui.numChannelsShown) - editor.ui.channelOffset = song.antChn-editor.ui.numChannelsShown; - - if (editor.cursor.ch >= editor.ui.channelOffset+editor.ui.numChannelsShown) - { - editor.cursor.object = CURSOR_NOTE; - editor.cursor.ch = (editor.ui.channelOffset + editor.ui.numChannelsShown) - 1; - } - else if (editor.cursor.ch < editor.ui.channelOffset) - { - editor.cursor.object = CURSOR_NOTE; - editor.cursor.ch = editor.ui.channelOffset; - } - - editor.ui.updatePatternEditor = true; -} - -void jumpToChannel(uint8_t channel) // for ALT+q..i ALT+a..k -{ - if (editor.ui.sampleEditorShown || editor.ui.instEditorShown) - return; - - channel %= song.antChn; - if (editor.cursor.ch == channel) - return; - - if (editor.ui.pattChanScrollShown) - { - assert(song.antChn > editor.ui.numChannelsShown); - if (channel >= editor.ui.channelOffset+editor.ui.numChannelsShown) - scrollBarScrollDown(SB_CHAN_SCROLL, (channel - (editor.ui.channelOffset + editor.ui.numChannelsShown)) + 1); - else if (channel < editor.ui.channelOffset) - scrollBarScrollUp(SB_CHAN_SCROLL, editor.ui.channelOffset - channel); - } - - editor.cursor.ch = channel; // set it here since scrollBarScrollX() changes it... - editor.ui.updatePatternEditor = true; -} - -void sbPosEdPos(uint32_t pos) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (song.songPos != (int16_t)pos) - setPos((int16_t)pos, 0); - - if (audioWasntLocked) - unlockAudio(); -} - -void pbPosEdPosUp(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (song.songPos < song.len-1) - setPos(song.songPos + 1, 0); - - if (audioWasntLocked) - unlockAudio(); -} - -void pbPosEdPosDown(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (song.songPos > 0) - setPos(song.songPos - 1, 0); - - if (audioWasntLocked) - unlockAudio(); -} - -void pbPosEdIns(void) -{ - uint8_t oldPatt; - - if (song.len >= 255) - return; - - lockMixerCallback(); - - oldPatt = song.songTab[song.songPos]; - for (uint16_t i = 0; i < 255-song.songPos; i++) - song.songTab[255-i] = song.songTab[254-i]; - song.songTab[song.songPos] = oldPatt; - - song.len++; - setScrollBarEnd(SB_POS_ED, (song.len - 1) + 5); - - drawPosEdNums(song.songPos); - drawSongLength(); - - editor.ui.updatePosSections = true; - setSongModifiedFlag(); - - unlockMixerCallback(); -} - -void pbPosEdDel(void) -{ - if (song.len == 0) - return; - - lockMixerCallback(); - - for (uint16_t i = 0; i < 254-song.songPos; i++) - song.songTab[song.songPos+i] = song.songTab[song.songPos+1+i]; - song.len--; - - if (song.repS >= song.len) - { - song.repS = song.len - 1; - drawSongRepS(); - } - - if (song.songPos > song.len-1) - { - song.songPos = song.len-1; - setPos(song.songPos, -1); - - } - - setScrollBarEnd(SB_POS_ED, (song.len - 1) + 5); - - drawPosEdNums(song.songPos); - drawSongLength(); - - setPos(song.songPos, -1); - setSongModifiedFlag(); - - unlockMixerCallback(); -} - -void pbPosEdPattUp(void) -{ - lockMixerCallback(); - if (song.songTab[song.songPos] < 255) - { - song.songTab[song.songPos]++; - song.pattNr = song.songTab[song.songPos]; - editor.editPattern = (uint8_t)song.pattNr; - song.pattLen = pattLens[editor.editPattern]; - - drawPosEdNums(song.songPos); - drawEditPattern(editor.editPattern); - drawPatternLength(editor.editPattern); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); - } - unlockMixerCallback(); -} - -void pbPosEdPattDown(void) -{ - lockMixerCallback(); - if (song.songTab[song.songPos] > 0) - { - song.songTab[song.songPos]--; - song.pattNr = song.songTab[song.songPos]; - editor.editPattern = (uint8_t)song.pattNr; - song.pattLen = pattLens[editor.editPattern]; - - drawPosEdNums(song.songPos); - drawEditPattern(editor.editPattern); - drawPatternLength(editor.editPattern); - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); - } - unlockMixerCallback(); -} - -void pbPosEdLenUp(void) -{ - bool audioWasntLocked; - - if (song.len >= 255) - return; - - audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - song.len++; - - drawPosEdNums(song.songPos); - drawSongLength(); - - setScrollBarEnd(SB_POS_ED, (song.len - 1) + 5); - setSongModifiedFlag(); - - if (audioWasntLocked) - unlockAudio(); -} - -void pbPosEdLenDown(void) -{ - bool audioWasntLocked; - - if (song.len == 0) - return; - - audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - song.len--; - - if (song.repS >= song.len) - { - song.repS = song.len - 1; - drawSongRepS(); - } - - if (song.songPos >= song.len) - { - song.songPos = song.len - 1; - setScrollBarPos(SB_POS_ED, song.songPos, false); - setPos(song.songPos, -1); - } - - drawPosEdNums(song.songPos); - drawSongLength(); - - setScrollBarEnd(SB_POS_ED, (song.len - 1) + 5); - setSongModifiedFlag(); - - if (audioWasntLocked) - unlockAudio(); -} - -void pbPosEdRepSUp(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (song.repS < song.len-1) - { - song.repS++; - drawSongRepS(); - setSongModifiedFlag(); - } - - if (audioWasntLocked) - unlockAudio(); -} - -void pbPosEdRepSDown(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (song.repS > 0) - { - song.repS--; - drawSongRepS(); - setSongModifiedFlag(); - } - - if (audioWasntLocked) - unlockAudio(); -} - -void pbBPMUp(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (song.speed < 255) - { - song.speed++; - setSpeed(song.speed); - - // if song is playing, the update is handled in the audio/video sync queue - if (!songPlaying) - { - editor.speed = song.speed; - drawSongBPM(song.speed); - } - } - - if (audioWasntLocked) - unlockAudio(); -} - -void pbBPMDown(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (song.speed > 32) - { - song.speed--; - setSpeed(song.speed); - - // if song is playing, the update is handled in the audio/video sync queue - if (!songPlaying) - { - editor.speed = song.speed; - drawSongBPM(editor.speed); - } - } - - if (audioWasntLocked) - unlockAudio(); -} - -void pbSpeedUp(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (song.tempo < 31) - { - song.tempo++; - - // if song is playing, the update is handled in the audio/video sync queue - if (!songPlaying) - { - editor.tempo = song.tempo; - drawSongSpeed(editor.tempo); - } - } - - if (audioWasntLocked) - unlockAudio(); -} - -void pbSpeedDown(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (song.tempo > 0) - { - song.tempo--; - - // if song is playing, the update is handled in the audio/video sync queue - if (!songPlaying) - { - editor.tempo = song.tempo; - drawSongSpeed(editor.tempo); - } - } - - if (audioWasntLocked) - unlockAudio(); -} - -void pbIncAdd(void) -{ - if (editor.ID_Add == 16) - editor.ID_Add = 0; - else - editor.ID_Add++; - - drawIDAdd(); -} - -void pbDecAdd(void) -{ - if (editor.ID_Add == 0) - editor.ID_Add = 16; - else - editor.ID_Add--; - - drawIDAdd(); -} - -void pbAddChan(void) -{ - if (song.antChn > 30) - return; - - lockMixerCallback(); - song.antChn += 2; - - hideTopScreen(); - showTopLeftMainScreen(true); - showTopRightMainScreen(); - - if (editor.ui.patternEditorShown) - showPatternEditor(); - - setSongModifiedFlag(); - unlockMixerCallback(); -} - -void pbSubChan(void) -{ - if (song.antChn < 4) - return; - - lockMixerCallback(); - - song.antChn -= 2; - - checkMarkLimits(); - - hideTopScreen(); - showTopLeftMainScreen(true); - showTopRightMainScreen(); - - if (editor.ui.patternEditorShown) - showPatternEditor(); - - setSongModifiedFlag(); - unlockMixerCallback(); -} - -static void updatePtnLen(void) -{ - uint16_t len = pattLens[editor.editPattern]; - - song.pattLen = len; - editor.pattPos = song.pattPos = CLAMP(song.pattPos, 0, len - 1); - - checkMarkLimits(); -} - -void pbEditPattUp(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (editor.editPattern < 255) - { - editor.editPattern++; - - song.pattNr = editor.editPattern; - updatePtnLen(); - - if (!editor.ui.aboutScreenShown && !editor.ui.configScreenShown && - !editor.ui.diskOpShown && !editor.ui.helpScreenShown && - !editor.ui.nibblesShown) - { - drawEditPattern(editor.editPattern); - drawPatternLength(editor.editPattern); - } - - editor.ui.updatePatternEditor = true; - } - - if (audioWasntLocked) - unlockAudio(); -} - -void pbEditPattDown(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (editor.editPattern > 0) - { - editor.editPattern--; - - song.pattNr = editor.editPattern; - updatePtnLen(); - - if (!editor.ui.aboutScreenShown && !editor.ui.configScreenShown && - !editor.ui.diskOpShown && !editor.ui.helpScreenShown && - !editor.ui.nibblesShown) - { - drawEditPattern(editor.editPattern); - drawPatternLength(editor.editPattern); - } - - editor.ui.updatePatternEditor = true; - } - - if (audioWasntLocked) - unlockAudio(); -} - -void pbPattLenUp(void) -{ - bool audioWasntLocked; - uint16_t pattLen; - - audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - pattLen = pattLens[editor.editPattern]; - if (pattLen < 256) - { - setPatternLen(editor.editPattern, pattLen + 1); - checkMarkLimits(); - - drawPatternLength(editor.editPattern); - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); - } - - if (audioWasntLocked) - unlockAudio(); -} - -void pbPattLenDown(void) -{ - bool audioWasntLocked; - uint16_t pattLen; - - audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - pattLen = pattLens[editor.editPattern]; - if (pattLen > 1) - { - setPatternLen(editor.editPattern, pattLen - 1); - checkMarkLimits(); - - drawPatternLength(editor.editPattern); - - if (song.pattPos >= song.pattLen) - song.pattPos--; - - editor.ui.updatePatternEditor = true; - setSongModifiedFlag(); - } - - if (audioWasntLocked) - unlockAudio(); -} - -void drawPosEdNums(int16_t songPos) -{ - uint8_t y; - int16_t entry; - - if (songPos >= song.len) - songPos = song.len - 1; - - // clear - if (editor.ui.extended) - { - clearRect(8, 4, 39, 16); - fillRect(8, 23, 39, 7, PAL_DESKTOP); - clearRect(8, 33, 39, 16); - } - else - { - clearRect(8, 4, 39, 15); - fillRect(8, 22, 39, 7, PAL_DESKTOP); - clearRect(8, 32, 39, 15); - } - - // top two - for (y = 0; y < 2; y++) - { - entry = songPos - (2 - y); - if (entry < 0) - continue; - - assert(entry < 256); - - if (editor.ui.extended) - { - pattTwoHexOut(8, 4 + (y * 9), PAL_PATTEXT, (uint8_t)entry); - pattTwoHexOut(32, 4 + (y * 9), PAL_PATTEXT, song.songTab[entry]); - } - else - { - pattTwoHexOut(8, 4 + (y * 8), PAL_PATTEXT, (uint8_t)entry); - pattTwoHexOut(32, 4 + (y * 8), PAL_PATTEXT, song.songTab[entry]); - } - } - - assert(songPos < 256); - - // middle - if (editor.ui.extended) - { - pattTwoHexOut(8, 23, PAL_FORGRND, (uint8_t)songPos); - pattTwoHexOut(32, 23, PAL_FORGRND, song.songTab[songPos]); - } - else - { - pattTwoHexOut(8, 22, PAL_FORGRND, (uint8_t)songPos); - pattTwoHexOut(32, 22, PAL_FORGRND, song.songTab[songPos]); - } - - // bottom two - for (y = 0; y < 2; y++) - { - entry = songPos + (1 + y); - if (entry >= song.len) - break; - - if (editor.ui.extended) - { - pattTwoHexOut(8, 33 + (y * 9), PAL_PATTEXT, (uint8_t)entry); - pattTwoHexOut(32, 33 + (y * 9), PAL_PATTEXT, song.songTab[entry]); - } - else - { - pattTwoHexOut(8, 32 + (y * 8), PAL_PATTEXT, (uint8_t)entry); - pattTwoHexOut(32, 32 + (y * 8), PAL_PATTEXT, song.songTab[entry]); - } - } -} - -void drawSongLength(void) -{ - int16_t x, y; - - if (editor.ui.extended) - { - x = 165; - y = 6; - } - else - { - x = 59; - y = 53; - } - - hexOutBg(x, y, PAL_FORGRND, PAL_DESKTOP, (uint8_t)song.len, 2); -} - -void drawSongRepS(void) -{ - int16_t x, y; - - if (editor.ui.extended) - { - x = 165; - y = 20; - } - else - { - x = 59; - y = 65; - } - - hexOutBg(x, y, PAL_FORGRND, PAL_DESKTOP, (uint8_t)song.repS, 2); -} - -void drawSongBPM(uint16_t val) -{ - char str[8]; - - if (editor.ui.extended) - return; - - sprintf(str, "%03d", val); - textOutFixed(145, 36, PAL_FORGRND, PAL_DESKTOP, str); -} - -void drawSongSpeed(uint16_t val) -{ - char str[8]; - - if (editor.ui.extended) - return; - - sprintf(str, "%02d", val); - textOutFixed(152, 50, PAL_FORGRND, PAL_DESKTOP, str); -} - -void drawEditPattern(uint16_t editPattern) -{ - int16_t x, y; - - if (editor.ui.extended) - { - x = 251; - y = 40; - } - else - { - x = 237; - y = 36; - } - - hexOutBg(x, y, PAL_FORGRND, PAL_DESKTOP, editPattern, 2); -} - -void drawPatternLength(uint16_t editPattern) -{ - int16_t x, y; - - if (editor.ui.extended) - { - x = 326; - y = 40; - } - else - { - x = 230; - y = 50; - } - - hexOutBg(x, y, PAL_FORGRND, PAL_DESKTOP, pattLens[editPattern], 3); -} - -void drawGlobalVol(int16_t globalVol) -{ - char str[8]; - - if (editor.ui.extended) - return; - - assert(globalVol >= 0 && globalVol <= 64); - sprintf(str, "%02d", globalVol); - textOutFixed(87, 80, PAL_FORGRND, PAL_DESKTOP, str); -} - -void drawIDAdd(void) -{ - char str[8]; - - assert(editor.ID_Add <= 16); - sprintf(str, "%02d", editor.ID_Add); - textOutFixed(152, 64, PAL_FORGRND, PAL_DESKTOP, str); -} - -void drawPlaybackTime(void) -{ - char str[2 + 1]; - uint32_t a, MI_TimeH, MI_TimeM, MI_TimeS; - - a = ((song.musicTime / 256) * 5) / 512; - MI_TimeH = a / 3600; - a -= (MI_TimeH * 3600); - MI_TimeM = a / 60; - MI_TimeS = a - (MI_TimeM * 60); - - // hours - str[0] = '0' + (char)(MI_TimeH / 10); - str[1] = '0' + (char)(MI_TimeH % 10); - str[2] = '\0'; - textOutFixed(235, 80, PAL_FORGRND, PAL_DESKTOP, str); - - // minutes - str[0] = '0' + (char)(MI_TimeM / 10); - str[1] = '0' + (char)(MI_TimeM % 10); - str[2] = '\0'; - textOutFixed(255, 80, PAL_FORGRND, PAL_DESKTOP, str); - - // seconds - str[0] = '0' + (char)(MI_TimeS / 10); - str[1] = '0' + (char)(MI_TimeS % 10); - str[2] = '\0'; - textOutFixed(275, 80, PAL_FORGRND, PAL_DESKTOP, str); -} - -void drawSongName(void) -{ - drawFramework(421, 155, 166, 18, FRAMEWORK_TYPE1); - drawFramework(423, 157, 162, 14, FRAMEWORK_TYPE2); - drawTextBox(TB_SONG_NAME); -} - -void changeLogoType(uint8_t logoType) -{ - pushButtons[PB_LOGO].bitmapFlag = true; - - if (logoType == 0) - { - pushButtons[PB_LOGO].bitmapUnpressed = &ft2LogoBadges[(154 * 32) * 0]; - pushButtons[PB_LOGO].bitmapPressed = &ft2LogoBadges[(154 * 32) * 1]; - } - else - { - pushButtons[PB_LOGO].bitmapUnpressed = &ft2LogoBadges[(154 * 32) * 2]; - pushButtons[PB_LOGO].bitmapPressed = &ft2LogoBadges[(154 * 32) * 3]; - } - - drawPushButton(PB_LOGO); -} - -void changeBadgeType(uint8_t badgeType) -{ - pushButtons[PB_BADGE].bitmapFlag = true; - - if (badgeType == 0) - { - pushButtons[PB_BADGE].bitmapUnpressed = &ft2InfoBadges[(25 * 32) * 0]; - pushButtons[PB_BADGE].bitmapPressed = &ft2InfoBadges[(25 * 32) * 1]; - } - else - { - pushButtons[PB_BADGE].bitmapUnpressed = &ft2InfoBadges[(25 * 32) * 2]; - pushButtons[PB_BADGE].bitmapPressed = &ft2InfoBadges[(25 * 32) * 3]; - } - - drawPushButton(PB_BADGE); -} - -void updateInstrumentSwitcher(void) -{ - int8_t i; - int16_t y; - - if (editor.ui.extended) // extended pattern editor - { - //INSTRUMENTS - - clearRect(388, 5, 116, 43); // left box - clearRect(511, 5, 116, 43); // right box - - // draw source instrument selection - if (editor.srcInstr >= editor.instrBankOffset && editor.srcInstr <= editor.instrBankOffset+8) - { - y = 5 + ((editor.srcInstr - editor.instrBankOffset - 1) * 11); - if (y >= 5 && y <= 82) - { - if (y <= 47) - fillRect(388, y, 15, 10, PAL_BUTTONS); // left box - else - fillRect(511, y - 44, 15, 10, PAL_BUTTONS); // right box - } - } - - // draw destination instrument selection - if (editor.curInstr >= editor.instrBankOffset && editor.curInstr <= editor.instrBankOffset+8) - { - y = 5 + ((editor.curInstr - editor.instrBankOffset - 1) * 11); - y = 5 + ((editor.curInstr - editor.instrBankOffset - 1) * 11); - if (y >= 5 && y <= 82) - { - if (y <= 47) - fillRect(406, y, 98, 10, PAL_BUTTONS); // left box - else - fillRect(529, y - 44, 98, 10, PAL_BUTTONS); // right box - } - } - - // draw numbers and texts - for (i = 0; i < 4; i++) - { - hexOut(388, 5 + (i * 11), PAL_FORGRND, 1 + editor.instrBankOffset + i, 2); - hexOut(511, 5 + (i * 11), PAL_FORGRND, 5 + editor.instrBankOffset + i, 2); - drawTextBox(TB_INST1 + i); - drawTextBox(TB_INST5 + i); - } - } - else // normal pattern editor - { - // INSTRUMENTS - - clearRect(424, 5, 15, 87); // src instrument - clearRect(446, 5, 139, 87); // main instrument - - // draw source instrument selection - if (editor.srcInstr >= editor.instrBankOffset && editor.srcInstr <= editor.instrBankOffset+8) - { - y = 5 + ((editor.srcInstr - editor.instrBankOffset - 1) * 11); - if (y >= 5 && y <= 82) - fillRect(424, y, 15, 10, PAL_BUTTONS); - } - - // draw destination instrument selection - if (editor.curInstr >= editor.instrBankOffset && editor.curInstr <= editor.instrBankOffset+8) - { - y = 5 + ((editor.curInstr - editor.instrBankOffset - 1) * 11); - if (y >= 5 && y <= 82) - fillRect(446, y, 139, 10, PAL_BUTTONS); - } - - // draw numbers and texts - for (i = 0; i < 8; i++) - { - hexOut(424, 5 + (i * 11), PAL_FORGRND, 1 + editor.instrBankOffset + i, 2); - drawTextBox(TB_INST1 + i); - } - - // SAMPLES - - clearRect(424, 99, 15, 54); // src sample - clearRect(446, 99, 115, 54); // main sample - - // draw source sample selection - if (editor.srcSmp >= editor.sampleBankOffset && editor.srcSmp <= editor.sampleBankOffset+4) - { - y = 99 + ((editor.srcSmp - editor.sampleBankOffset) * 11); - if (y >= 36 && y <= 143) - fillRect(424, y, 15, 10, PAL_BUTTONS); - } - - // draw destination sample selection - if (editor.curSmp >= editor.sampleBankOffset && editor.curSmp <= editor.sampleBankOffset+4) - { - y = 99 + ((editor.curSmp - editor.sampleBankOffset) * 11); - if (y >= 36 && y <= 143) - fillRect(446, y, 115, 10, PAL_BUTTONS); - } - - // draw numbers and texts - for (i = 0; i < 5; i++) - { - hexOut(424, 99 + (i * 11), PAL_FORGRND, editor.sampleBankOffset + i, 2); - drawTextBox(TB_SAMP1 + i); - } - } -} - -void showInstrumentSwitcher(void) -{ - uint16_t i; - - if (!editor.ui.instrSwitcherShown) - return; - - for (i = 0; i < 8; i++) - showTextBox(TB_INST1 + i); - - if (editor.ui.extended) - { - hidePushButton(PB_SAMPLE_LIST_UP); - hidePushButton(PB_SAMPLE_LIST_DOWN); - hideScrollBar(SB_SAMPLE_LIST); - - drawFramework(386, 0, 246, 3, FRAMEWORK_TYPE1); - drawFramework(506, 3, 3, 47, FRAMEWORK_TYPE1); - drawFramework(386, 50, 246, 3, FRAMEWORK_TYPE1); - drawFramework(629, 3, 3, 47, FRAMEWORK_TYPE1); - - clearRect(386, 3, 120, 47); - clearRect(509, 3, 120, 47); - } - else - { - drawFramework(421, 0, 166, 3, FRAMEWORK_TYPE1); - drawFramework(442, 3, 3, 91, FRAMEWORK_TYPE1); - drawFramework(421, 94, 166, 3, FRAMEWORK_TYPE1); - drawFramework(442, 97, 3, 58, FRAMEWORK_TYPE1); - drawFramework(563, 97, 24, 58, FRAMEWORK_TYPE1); - drawFramework(587, 0, 45, 71, FRAMEWORK_TYPE1); - drawFramework(587, 71, 45, 71, FRAMEWORK_TYPE1); - drawFramework(587, 142, 45, 31, FRAMEWORK_TYPE1); - - fillRect(421, 3, 21, 91, PAL_BCKGRND); - fillRect(445, 3, 142, 91, PAL_BCKGRND); - fillRect(421, 97, 21, 58, PAL_BCKGRND); - fillRect(445, 97, 118, 58, PAL_BCKGRND); - - showPushButton(PB_SAMPLE_LIST_UP); - showPushButton(PB_SAMPLE_LIST_DOWN); - showScrollBar(SB_SAMPLE_LIST); - - for (i = 0; i < 5; i++) - showTextBox(TB_SAMP1 + i); - } - - updateInstrumentSwitcher(); - - for (i = 0; i < 8; i++) - showPushButton(PB_RANGE1 + i + (editor.instrBankSwapped * 8)); - - showPushButton(PB_SWAP_BANK); -} - -void hideInstrumentSwitcher(void) -{ - uint8_t i; - - for (i = 0; i < 16; i++) - hidePushButton(PB_RANGE1 + i); - - hidePushButton(PB_SWAP_BANK); - hidePushButton(PB_SAMPLE_LIST_UP); - hidePushButton(PB_SAMPLE_LIST_DOWN); - hideScrollBar(SB_SAMPLE_LIST); - - for (i = 0; i < 8; i++) - hideTextBox(TB_INST1 + i); - - for (i = 0; i < 5; i++) - hideTextBox(TB_SAMP1 + i); -} - -void pbSwapInstrBank(void) -{ - editor.instrBankSwapped ^= 1; - - if (editor.instrBankSwapped) - editor.instrBankOffset += (8 * 8); - else - editor.instrBankOffset -= (8 * 8); - - updateTextBoxPointers(); - - if (editor.ui.instrSwitcherShown) - { - updateInstrumentSwitcher(); - for (uint16_t i = 0; i < 8; i++) - { - hidePushButton(PB_RANGE1 + i + (!editor.instrBankSwapped * 8)); - showPushButton(PB_RANGE1 + i + ( editor.instrBankSwapped * 8)); - } - } -} - -void pbSetInstrBank1(void) -{ - editor.instrBankOffset = 0 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank2(void) -{ - editor.instrBankOffset = 1 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank3(void) -{ - editor.instrBankOffset = 2 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank4(void) -{ - editor.instrBankOffset = 3 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank5(void) -{ - editor.instrBankOffset = 4 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank6(void) -{ - editor.instrBankOffset = 5 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank7(void) -{ - editor.instrBankOffset = 6 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank8(void) -{ - editor.instrBankOffset = 7 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank9(void) -{ - editor.instrBankOffset = 8 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank10(void) -{ - editor.instrBankOffset = 9 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank11(void) -{ - editor.instrBankOffset = 10 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank12(void) -{ - editor.instrBankOffset = 11 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank13(void) -{ - editor.instrBankOffset = 12 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank14(void) -{ - editor.instrBankOffset = 13 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank15(void) -{ - editor.instrBankOffset = 14 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void pbSetInstrBank16(void) -{ - editor.instrBankOffset = 15 * 8; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); -} - -void setNewInstr(int16_t ins) -{ - if (ins <= MAX_INST) - { - editor.curInstr = (uint8_t)ins; - updateTextBoxPointers(); - updateInstrumentSwitcher(); - updateNewInstrument(); - } -} - -void sampleListScrollUp(void) -{ - scrollBarScrollUp(SB_SAMPLE_LIST, 1); -} - -void sampleListScrollDown(void) -{ - scrollBarScrollDown(SB_SAMPLE_LIST, 1); -} - -static void zapSong(void) -{ - lockMixerCallback(); - - song.len = 1; - song.repS = 0; // FT2 doesn't do this... - song.speed = 125; - song.tempo = 6; - song.songPos = 0; - song.globVol = 64; - - memset(song.name, 0, sizeof (song.name)); - memset(song.songTab, 0, sizeof (song.songTab)); - - // zero all pattern data and reset pattern lengths - - freeAllPatterns(); - for (uint16_t i = 0; i < MAX_PATTERNS; i++) - pattLens[i] = 64; - song.pattLen = pattLens[song.pattNr]; - - resetMusic(); - setSpeed(song.speed); - - editor.songPos = song.songPos; - editor.editPattern = song.pattNr; - editor.speed = song.speed; - editor.tempo = song.tempo; - editor.globalVol = song.globVol; - editor.timer = 1; - - if (songPlaying) - song.musicTime = 0; - - setFrqTab(true); - - clearPattMark(); - resetWavRenderer(); - resetChannels(); - unlockMixerCallback(); - - setScrollBarPos(SB_POS_ED, 0, false); - setScrollBarEnd(SB_POS_ED, (song.len - 1) + 5); - - updateWindowTitle(true); -} - -static void zapInstrs(void) -{ - lockMixerCallback(); - - for (int16_t i = 1; i <= MAX_INST; i++) - { - freeInstr(i); - memset(song.instrName[i], 0, 23); - } - - updateNewInstrument(); - - editor.currVolEnvPoint = 0; - editor.currPanEnvPoint = 0; - - updateSampleEditorSample(); - - if (editor.ui.sampleEditorShown) - updateSampleEditor(); - else if (editor.ui.instEditorShown || editor.ui.instEditorExtShown) - updateInstEditor(); - - unlockMixerCallback(); -} - -void pbZap(void) -{ - int16_t choice = okBox(4, "System request", "Total devastation of the..."); - - if (choice == 1) // zap all - { - zapSong(); - zapInstrs(); - } - else if (choice == 2) // zap song - { - zapSong(); - } - else if (choice == 3) // zap instruments - { - zapInstrs(); - } - - if (choice >= 1 && choice <= 3) - { - // redraw top screens - hideTopScreen(); - showTopScreen(true); - - setSongModifiedFlag(); - } -} - -void sbSmpBankPos(uint32_t pos) -{ - if (editor.sampleBankOffset != pos) - { - editor.sampleBankOffset = (uint8_t)pos; - - updateTextBoxPointers(); - updateInstrumentSwitcher(); - } -} - -void pbToggleLogo(void) -{ - config.id_FastLogo ^= 1; - changeLogoType(config.id_FastLogo); -} - -void pbToggleBadge(void) -{ - config.id_TritonProd ^= 1; - changeBadgeType(config.id_TritonProd); -} - -void resetChannelOffset(void) -{ - editor.cursor.object = CURSOR_NOTE; - editor.cursor.ch = 0; - setScrollBarPos(SB_CHAN_SCROLL, 0, true); - editor.ui.channelOffset = 0; -} - -void shrinkPattern(void) -{ - uint16_t nr, pattLen; - tonTyp *pattPtr; - - if (okBox(2, "System request", "Shrink pattern?") != 1) - return; - - nr = editor.editPattern; - - pattLen = pattLens[nr]; - if (pattLen > 1) - { - lockMixerCallback(); - - pattPtr = patt[nr]; - if (pattPtr != NULL) - { - for (uint16_t i = 0; i < pattLen/2; i++) - { - for (uint16_t j = 0; j < MAX_VOICES; j++) - pattPtr[(i * MAX_VOICES) + j] = pattPtr[((i * 2) * MAX_VOICES) + j]; - } - } - - pattLens[nr] /= 2; - - if (song.pattNr == nr) - song.pattLen = pattLens[nr]; - - song.pattPos /= 2; - if (song.pattPos >= pattLens[nr]) - song.pattPos = pattLens[nr] - 1; - - editor.pattPos = song.pattPos; - - editor.ui.updatePatternEditor = true; - editor.ui.updatePosSections = true; - - unlockMixerCallback(); - setSongModifiedFlag(); - } -} - -void expandPattern(void) -{ - uint16_t nr, pattLen; - tonTyp *tmpPtn; - - nr = editor.editPattern; - - pattLen = pattLens[nr]; - if (pattLen > 128) - { - okBox(0, "System message", "Pattern is too long to be expanded."); - } - else - { - lockMixerCallback(); - - if (patt[nr] != NULL) - { - tmpPtn = (tonTyp *)malloc((pattLen * 2) * TRACK_WIDTH); - if (tmpPtn == NULL) - { - unlockMixerCallback(); - okBox(0, "System message", "Not enough memory!"); - return; - } - - for (uint16_t i = 0; i < pattLen; i++) - { - for (uint16_t j = 0; j < MAX_VOICES; j++) - tmpPtn[((i * 2) * MAX_VOICES) + j] = patt[nr][(i * MAX_VOICES) + j]; - - memset(&tmpPtn[((i * 2) + 1) * MAX_VOICES], 0, TRACK_WIDTH); - } - - free(patt[nr]); - patt[nr] = tmpPtn; - } - - pattLens[nr] *= 2; - - if (song.pattNr == nr) - song.pattLen = pattLens[nr]; - - song.pattPos *= 2; - if (song.pattPos >= pattLens[nr]) - song.pattPos = pattLens[nr] - 1; - - editor.pattPos = song.pattPos; - - editor.ui.updatePatternEditor = true; - editor.ui.updatePosSections = true; - - unlockMixerCallback(); - setSongModifiedFlag(); - } -} - -const pattCoordsMouse_t pattCoordMouseTable[2][2][2] = -{ - /* - uint16_t upperRowsY, midRowY, lowerRowsY; - uint16_t numUpperRows; - */ - - // no pattern stretch - { - // no pattern channel scroll - { - { 177, 281, 293, 13 }, // normal pattern editor - { 57, 217, 229, 20 }, // extended pattern editor - }, - - // pattern channel scroll - { - { 177, 274, 286, 12 }, // normal pattern editor - { 57, 210, 222, 19 }, // extended pattern editor - } - }, - - // pattern stretch - { - // no pattern channel scroll - { - { 176, 275, 286, 9 }, // normal pattern editor - { 56, 221, 232, 15 }, // extended pattern editor - }, - - // pattern channel scroll - { - { 175, 274, 284, 9 }, // normal pattern editor - { 55, 209, 219, 14 }, // extended pattern editor - }, - } -}; +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include +#include "ft2_header.h" +#include "ft2_gfxdata.h" +#include "ft2_config.h" +#include "ft2_pattern_ed.h" +#include "ft2_gui.h" +#include "ft2_sample_ed.h" +#include "ft2_pattern_draw.h" +#include "ft2_inst_ed.h" +#include "ft2_scopes.h" +#include "ft2_diskop.h" +#include "ft2_audio.h" +#include "ft2_wav_renderer.h" +#include "ft2_mouse.h" +#include "ft2_video.h" +#include "ft2_tables.h" + +// for pattern marking w/ keyboard +static int8_t lastChMark; +static int16_t lastRowMark; + +// for pattern marking w/ mouse +static int32_t lastMarkX1 = -1, lastMarkX2 = -1, lastMarkY1 = -1, lastMarkY2 = -1; + +static const uint8_t ptnAntLine[8] = { 27, 25, 20, 19, 42, 40, 31, 30 }; +static const uint8_t ptnLineSub[8] = { 13, 12, 9, 9, 20, 19, 15, 14 }; +static const uint8_t iSwitchExtW[4] = { 40, 40, 40, 39 }; +static const uint8_t iSwitchExtY[8] = { 2, 2, 2, 2, 19, 19, 19, 19 }; +static const uint8_t iSwitchY[8] = { 2, 19, 36, 53, 73, 90, 107, 124 }; +static const uint16_t iSwitchExtX[4] = { 221, 262, 303, 344 }; + +static int32_t lastMouseX, lastMouseY; + +bool allocatePattern(uint16_t nr) // for tracker use only, not in loader! +{ + bool audioWasntLocked; + + if (patt[nr] == NULL) + { + audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + /* Original FT2 allocates only the amount of rows needed, but we don't + ** do that to avoid out of bondary row look-up between out-of-sync replayer + ** state and tracker state (yes it used to happen, rarely). We're not wasting + ** too much RAM for a modern computer anyway. Worst case: 256 allocated + ** patterns would be ~10MB. + **/ + + patt[nr] = (tonTyp *)calloc((MAX_PATT_LEN * TRACK_WIDTH) + 16, 1); + if (patt[nr] == NULL) + { + if (audioWasntLocked) + unlockAudio(); + + return false; + } + + // XXX: Do we really need this? Sounds redundant. + song.pattLen = pattLens[nr]; + + if (audioWasntLocked) + unlockAudio(); + } + + return true; +} + +void killPatternIfUnused(uint16_t nr) // for tracker use only, not in loader! +{ + bool audioWasntLocked; + + if (patternEmpty(nr)) + { + audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (patt[nr] != NULL) + { + free(patt[nr]); + patt[nr] = NULL; + } + + if (audioWasntLocked) + unlockAudio(); + } +} + +uint8_t getMaxVisibleChannels(void) +{ + if (config.ptnS3M) + { + if (config.ptnMaxChannels == 0) return 4; + else if (config.ptnMaxChannels == 1) return 6; + else if (config.ptnMaxChannels == 2) return 8; + else if (config.ptnMaxChannels == 3) return 8; + + } + else + { + if (config.ptnMaxChannels == 0) return 4; + else if (config.ptnMaxChannels == 1) return 6; + else if (config.ptnMaxChannels == 2) return 8; + else if (config.ptnMaxChannels == 3) return 12; + } + + return 8; +} + +void updatePatternWidth(void) +{ + if (editor.ui.numChannelsShown > editor.ui.maxVisibleChannels) + editor.ui.numChannelsShown = editor.ui.maxVisibleChannels; + + assert(editor.ui.numChannelsShown >= 2 && editor.ui.numChannelsShown <= 12); + + editor.ui.patternChannelWidth = chanWidths[(editor.ui.numChannelsShown / 2) - 1] + 3; +} + +void updateAdvEdit(void) +{ + hexOutBg(92, 113, PAL_FORGRND, PAL_DESKTOP, editor.srcInstr, 2); + hexOutBg(92, 126, PAL_FORGRND, PAL_DESKTOP, editor.curInstr, 2); +} + +void setAdvEditCheckBoxes(void) +{ + checkBoxes[CB_ENABLE_MASKING].checked = editor.copyMaskEnable; + checkBoxes[CB_COPY_MASK_0].checked = editor.copyMask[0]; + checkBoxes[CB_COPY_MASK_1].checked = editor.copyMask[1]; + checkBoxes[CB_COPY_MASK_2].checked = editor.copyMask[2]; + checkBoxes[CB_COPY_MASK_3].checked = editor.copyMask[3]; + checkBoxes[CB_COPY_MASK_4].checked = editor.copyMask[4]; + checkBoxes[CB_PASTE_MASK_0].checked = editor.pasteMask[0]; + checkBoxes[CB_PASTE_MASK_1].checked = editor.pasteMask[1]; + checkBoxes[CB_PASTE_MASK_2].checked = editor.pasteMask[2]; + checkBoxes[CB_PASTE_MASK_3].checked = editor.pasteMask[3]; + checkBoxes[CB_PASTE_MASK_4].checked = editor.pasteMask[4]; + checkBoxes[CB_TRANSP_MASK_0].checked = editor.transpMask[0]; + checkBoxes[CB_TRANSP_MASK_1].checked = editor.transpMask[1]; + checkBoxes[CB_TRANSP_MASK_2].checked = editor.transpMask[2]; + checkBoxes[CB_TRANSP_MASK_3].checked = editor.transpMask[3]; + checkBoxes[CB_TRANSP_MASK_4].checked = editor.transpMask[4]; + + showCheckBox(CB_ENABLE_MASKING); + showCheckBox(CB_COPY_MASK_0); + showCheckBox(CB_COPY_MASK_1); + showCheckBox(CB_COPY_MASK_2); + showCheckBox(CB_COPY_MASK_3); + showCheckBox(CB_COPY_MASK_4); + showCheckBox(CB_PASTE_MASK_0); + showCheckBox(CB_PASTE_MASK_1); + showCheckBox(CB_PASTE_MASK_2); + showCheckBox(CB_PASTE_MASK_3); + showCheckBox(CB_PASTE_MASK_4); + showCheckBox(CB_TRANSP_MASK_0); + showCheckBox(CB_TRANSP_MASK_1); + showCheckBox(CB_TRANSP_MASK_2); + showCheckBox(CB_TRANSP_MASK_3); + showCheckBox(CB_TRANSP_MASK_4); +} + +void drawAdvEdit(void) +{ + drawFramework( 0, 92, 110, 17, FRAMEWORK_TYPE1); + drawFramework( 0, 109, 110, 64, FRAMEWORK_TYPE1); + drawFramework(110, 92, 124, 81, FRAMEWORK_TYPE1); + drawFramework(234, 92, 19, 81, FRAMEWORK_TYPE1); + drawFramework(253, 92, 19, 81, FRAMEWORK_TYPE1); + drawFramework(272, 92, 19, 81, FRAMEWORK_TYPE1); + + textOutShadow( 4, 96, PAL_FORGRND, PAL_DSKTOP2, "Instr. remap:"); + textOutShadow( 4, 113, PAL_FORGRND, PAL_DSKTOP2, "Old number"); + textOutShadow( 4, 126, PAL_FORGRND, PAL_DSKTOP2, "New number"); + textOutShadow(129, 96, PAL_FORGRND, PAL_DSKTOP2, "Masking enable"); + textOutShadow(114, 109, PAL_FORGRND, PAL_DSKTOP2, "Note"); + textOutShadow(114, 121, PAL_FORGRND, PAL_DSKTOP2, "Instrument number"); + textOutShadow(114, 134, PAL_FORGRND, PAL_DSKTOP2, "Volume column"); + textOutShadow(114, 147, PAL_FORGRND, PAL_DSKTOP2, "Effect digit 1"); + textOutShadow(114, 160, PAL_FORGRND, PAL_DSKTOP2, "Effect digit 2,3"); + + charOutShadow(239, 95, PAL_FORGRND, PAL_DSKTOP2, 'C'); + charOutShadow(258, 95, PAL_FORGRND, PAL_DSKTOP2, 'P'); + charOutShadow(277, 95, PAL_FORGRND, PAL_DSKTOP2, 'T'); + + showPushButton(PB_REMAP_TRACK); + showPushButton(PB_REMAP_PATTERN); + showPushButton(PB_REMAP_SONG); + showPushButton(PB_REMAP_BLOCK); + + setAdvEditCheckBoxes(); + + updateAdvEdit(); +} + +void hideAdvEdit(void) +{ + editor.ui.advEditShown = false; + + hidePushButton(PB_REMAP_TRACK); + hidePushButton(PB_REMAP_PATTERN); + hidePushButton(PB_REMAP_SONG); + hidePushButton(PB_REMAP_BLOCK); + + hideCheckBox(CB_ENABLE_MASKING); + hideCheckBox(CB_COPY_MASK_0); + hideCheckBox(CB_COPY_MASK_1); + hideCheckBox(CB_COPY_MASK_2); + hideCheckBox(CB_COPY_MASK_3); + hideCheckBox(CB_COPY_MASK_4); + hideCheckBox(CB_PASTE_MASK_0); + hideCheckBox(CB_PASTE_MASK_1); + hideCheckBox(CB_PASTE_MASK_2); + hideCheckBox(CB_PASTE_MASK_3); + hideCheckBox(CB_PASTE_MASK_4); + hideCheckBox(CB_TRANSP_MASK_0); + hideCheckBox(CB_TRANSP_MASK_1); + hideCheckBox(CB_TRANSP_MASK_2); + hideCheckBox(CB_TRANSP_MASK_3); + hideCheckBox(CB_TRANSP_MASK_4); + + editor.ui.scopesShown = true; + drawScopeFramework(); +} + +void showAdvEdit(void) +{ + if (editor.ui.extended) + exitPatternEditorExtended(); + + hideTopScreen(); + showTopScreen(false); + + editor.ui.advEditShown = true; + editor.ui.scopesShown = false; + drawAdvEdit(); +} + +void toggleAdvEdit(void) +{ + if (editor.ui.advEditShown) + hideAdvEdit(); + else + showAdvEdit(); +} + +void drawTranspose(void) +{ + drawFramework(0, 92, 53, 16, FRAMEWORK_TYPE1); + drawFramework(53, 92, 119, 16, FRAMEWORK_TYPE1); + drawFramework(172, 92, 119, 16, FRAMEWORK_TYPE1); + drawFramework(0, 108, 53, 65, FRAMEWORK_TYPE1); + drawFramework(53, 108, 119, 65, FRAMEWORK_TYPE1); + drawFramework(172, 108, 119, 65, FRAMEWORK_TYPE1); + + textOutShadow(4, 95, PAL_FORGRND, PAL_DSKTOP2, "Transp."); + textOutShadow(58, 95, PAL_FORGRND, PAL_DSKTOP2, "Current instrument"); + textOutShadow(188, 95, PAL_FORGRND, PAL_DSKTOP2, "All instruments"); + textOutShadow(4, 114, PAL_FORGRND, PAL_DSKTOP2, "Track"); + textOutShadow(4, 129, PAL_FORGRND, PAL_DSKTOP2, "Pattern"); + textOutShadow(4, 144, PAL_FORGRND, PAL_DSKTOP2, "Song"); + textOutShadow(4, 159, PAL_FORGRND, PAL_DSKTOP2, "Block"); + + showPushButton(PB_TRANSP_CUR_INS_TRK_UP); + showPushButton(PB_TRANSP_CUR_INS_TRK_DN); + showPushButton(PB_TRANSP_CUR_INS_TRK_12UP); + showPushButton(PB_TRANSP_CUR_INS_TRK_12DN); + showPushButton(PB_TRANSP_ALL_INS_TRK_UP); + showPushButton(PB_TRANSP_ALL_INS_TRK_DN); + showPushButton(PB_TRANSP_ALL_INS_TRK_12UP); + showPushButton(PB_TRANSP_ALL_INS_TRK_12DN); + showPushButton(PB_TRANSP_CUR_INS_PAT_UP); + showPushButton(PB_TRANSP_CUR_INS_PAT_DN); + showPushButton(PB_TRANSP_CUR_INS_PAT_12UP); + showPushButton(PB_TRANSP_CUR_INS_PAT_12DN); + showPushButton(PB_TRANSP_ALL_INS_PAT_UP); + showPushButton(PB_TRANSP_ALL_INS_PAT_DN); + showPushButton(PB_TRANSP_ALL_INS_PAT_12UP); + showPushButton(PB_TRANSP_ALL_INS_PAT_12DN); + showPushButton(PB_TRANSP_CUR_INS_SNG_UP); + showPushButton(PB_TRANSP_CUR_INS_SNG_DN); + showPushButton(PB_TRANSP_CUR_INS_SNG_12UP); + showPushButton(PB_TRANSP_CUR_INS_SNG_12DN); + showPushButton(PB_TRANSP_ALL_INS_SNG_UP); + showPushButton(PB_TRANSP_ALL_INS_SNG_DN); + showPushButton(PB_TRANSP_ALL_INS_SNG_12UP); + showPushButton(PB_TRANSP_ALL_INS_SNG_12DN); + showPushButton(PB_TRANSP_CUR_INS_BLK_UP); + showPushButton(PB_TRANSP_CUR_INS_BLK_DN); + showPushButton(PB_TRANSP_CUR_INS_BLK_12UP); + showPushButton(PB_TRANSP_CUR_INS_BLK_12DN); + showPushButton(PB_TRANSP_ALL_INS_BLK_UP); + showPushButton(PB_TRANSP_ALL_INS_BLK_DN); + showPushButton(PB_TRANSP_ALL_INS_BLK_12UP); + showPushButton(PB_TRANSP_ALL_INS_BLK_12DN); +} + +void showTranspose(void) +{ + if (editor.ui.extended) + exitPatternEditorExtended(); + + hideTopScreen(); + showTopScreen(false); + + editor.ui.transposeShown = true; + editor.ui.scopesShown = false; + drawTranspose(); +} + +void hideTranspose(void) +{ + hidePushButton(PB_TRANSP_CUR_INS_TRK_UP); + hidePushButton(PB_TRANSP_CUR_INS_TRK_DN); + hidePushButton(PB_TRANSP_CUR_INS_TRK_12UP); + hidePushButton(PB_TRANSP_CUR_INS_TRK_12DN); + hidePushButton(PB_TRANSP_ALL_INS_TRK_UP); + hidePushButton(PB_TRANSP_ALL_INS_TRK_DN); + hidePushButton(PB_TRANSP_ALL_INS_TRK_12UP); + hidePushButton(PB_TRANSP_ALL_INS_TRK_12DN); + hidePushButton(PB_TRANSP_CUR_INS_PAT_UP); + hidePushButton(PB_TRANSP_CUR_INS_PAT_DN); + hidePushButton(PB_TRANSP_CUR_INS_PAT_12UP); + hidePushButton(PB_TRANSP_CUR_INS_PAT_12DN); + hidePushButton(PB_TRANSP_ALL_INS_PAT_UP); + hidePushButton(PB_TRANSP_ALL_INS_PAT_DN); + hidePushButton(PB_TRANSP_ALL_INS_PAT_12UP); + hidePushButton(PB_TRANSP_ALL_INS_PAT_12DN); + hidePushButton(PB_TRANSP_CUR_INS_SNG_UP); + hidePushButton(PB_TRANSP_CUR_INS_SNG_DN); + hidePushButton(PB_TRANSP_CUR_INS_SNG_12UP); + hidePushButton(PB_TRANSP_CUR_INS_SNG_12DN); + hidePushButton(PB_TRANSP_ALL_INS_SNG_UP); + hidePushButton(PB_TRANSP_ALL_INS_SNG_DN); + hidePushButton(PB_TRANSP_ALL_INS_SNG_12UP); + hidePushButton(PB_TRANSP_ALL_INS_SNG_12DN); + hidePushButton(PB_TRANSP_CUR_INS_BLK_UP); + hidePushButton(PB_TRANSP_CUR_INS_BLK_DN); + hidePushButton(PB_TRANSP_CUR_INS_BLK_12UP); + hidePushButton(PB_TRANSP_CUR_INS_BLK_12DN); + hidePushButton(PB_TRANSP_ALL_INS_BLK_UP); + hidePushButton(PB_TRANSP_ALL_INS_BLK_DN); + hidePushButton(PB_TRANSP_ALL_INS_BLK_12UP); + hidePushButton(PB_TRANSP_ALL_INS_BLK_12DN); + + editor.ui.transposeShown = false; + editor.ui.scopesShown = true; + drawScopeFramework(); +} + +void toggleTranspose(void) +{ + if (editor.ui.transposeShown) + hideTranspose(); + else + showTranspose(); +} + +// ----- PATTERN CURSOR FUNCTIONS ----- + +void cursorChannelLeft(void) +{ + editor.cursor.object = CURSOR_EFX2; + + if (editor.cursor.ch == 0) + { + editor.cursor.ch = song.antChn - 1; + if (editor.ui.pattChanScrollShown) + setScrollBarPos(SB_CHAN_SCROLL, song.antChn, true); + } + else + { + editor.cursor.ch--; + if (editor.ui.pattChanScrollShown) + { + if (editor.cursor.ch < editor.ui.channelOffset) + scrollBarScrollUp(SB_CHAN_SCROLL, 1); + } + } +} + +void cursorChannelRight(void) +{ + editor.cursor.object = CURSOR_NOTE; + + if (editor.cursor.ch >= song.antChn-1) + { + editor.cursor.ch = 0; + if (editor.ui.pattChanScrollShown) + setScrollBarPos(SB_CHAN_SCROLL, 0, true); + } + else + { + editor.cursor.ch++; + if (editor.ui.pattChanScrollShown && editor.cursor.ch >= editor.ui.channelOffset+editor.ui.numChannelsShown) + scrollBarScrollDown(SB_CHAN_SCROLL, 1); + } +} + +void cursorTabLeft(void) +{ + if (editor.cursor.object == CURSOR_NOTE) + cursorChannelLeft(); + + editor.cursor.object = CURSOR_NOTE; + editor.ui.updatePatternEditor = true; +} + +void cursorTabRight(void) +{ + cursorChannelRight(); + editor.cursor.object = CURSOR_NOTE; + editor.ui.updatePatternEditor = true; +} + +void chanLeft(void) +{ + cursorChannelLeft(); + editor.cursor.object = CURSOR_NOTE; + editor.ui.updatePatternEditor = true; +} + +void chanRight(void) +{ + cursorChannelRight(); + editor.cursor.object = CURSOR_NOTE; + editor.ui.updatePatternEditor = true; +} + +void cursorLeft(void) +{ + editor.cursor.object--; + + if (!config.ptnS3M) + { + while (editor.cursor.object == CURSOR_VOL1 || editor.cursor.object == CURSOR_VOL2) + editor.cursor.object--; + } + + if (editor.cursor.object == -1) + { + editor.cursor.object = CURSOR_EFX2; + cursorChannelLeft(); + } + + editor.ui.updatePatternEditor = true; +} + +void cursorRight(void) +{ + editor.cursor.object++; + + if (!config.ptnS3M) + { + while (editor.cursor.object == CURSOR_VOL1 || editor.cursor.object == CURSOR_VOL2) + editor.cursor.object++; + } + + if (editor.cursor.object == 8) + { + editor.cursor.object = CURSOR_NOTE; + cursorChannelRight(); + } + + editor.ui.updatePatternEditor = true; +} + +void showPatternEditor(void) +{ + editor.ui.patternEditorShown = true; + updateChanNums(); + drawPatternBorders(); + editor.ui.updatePatternEditor = true; +} + +void hidePatternEditor(void) +{ + hideScrollBar(SB_CHAN_SCROLL); + hidePushButton(PB_CHAN_SCROLL_LEFT); + hidePushButton(PB_CHAN_SCROLL_RIGHT); + + editor.ui.patternEditorShown = false; +} + +static void updatePatternEditorGUI(void) +{ + uint8_t i; + pushButton_t *p; + textBox_t *t; + + if (editor.ui.extended) + { + // extended pattern editor + + // instrument names + for (i = 0; i < 8; i++) + { + t = &textBoxes[TB_INST1+i]; + + if (i < 4) + { + t->x = 406; + t->y = 5 + (i * 11); + } + else + { + t->x = 529; + t->y = 5 + ((i - 4) * 11); + } + + t->w = 99; + t->renderW = t->w - (t->tx * 2); + } + + scrollBars[SB_POS_ED].h = 23; + + pushButtons[PB_POSED_POS_DOWN].y = 38; + pushButtons[PB_POSED_PATT_UP].y = 20; + pushButtons[PB_POSED_PATT_DOWN].y = 20; + pushButtons[PB_POSED_DEL].y = 35; + pushButtons[PB_SWAP_BANK].caption = "Swap b."; + pushButtons[PB_SWAP_BANK].caption2 = NULL; + pushButtons[PB_SWAP_BANK].x = 162; + pushButtons[PB_SWAP_BANK].y = 35; + pushButtons[PB_SWAP_BANK].w = 53; + pushButtons[PB_SWAP_BANK].h = 16; + pushButtons[PB_POSED_LEN_UP].x = 180; + pushButtons[PB_POSED_LEN_UP].y = 3; + pushButtons[PB_POSED_LEN_DOWN].x = 197; + pushButtons[PB_POSED_LEN_DOWN].y = 3; + pushButtons[PB_POSED_REP_UP].x = 180; + pushButtons[PB_POSED_REP_UP].y = 17; + pushButtons[PB_POSED_REP_DOWN].x = 197; + pushButtons[PB_POSED_REP_DOWN].y = 17; + pushButtons[PB_PATT_UP].x = 267; + pushButtons[PB_PATT_UP].y = 37; + pushButtons[PB_PATT_DOWN].x = 284; + pushButtons[PB_PATT_DOWN].y = 37; + pushButtons[PB_PATTLEN_UP].x = 348; + pushButtons[PB_PATTLEN_UP].y = 37; + pushButtons[PB_PATTLEN_DOWN].x = 365; + pushButtons[PB_PATTLEN_DOWN].y = 37; + + // instrument switcher + for (i = 0; i < 16; i++) + { + p = &pushButtons[PB_RANGE1+i]; + + p->w = iSwitchExtW[i & 3]; + p->x = iSwitchExtX[i & 3]; + p->y = iSwitchExtY[i & 7]; + } + } + else + { + // instrument names + for (i = 0; i < 8; i++) + { + t = &textBoxes[TB_INST1+i]; + + t->y = 5 + (i * 11); + t->x = 446; + t->w = 140; + t->renderW = t->w - (t->tx * 2); + } + + // normal pattern editor + + scrollBars[SB_POS_ED].h = 21; + + pushButtons[PB_POSED_POS_DOWN].y = 36; + pushButtons[PB_POSED_PATT_UP].y = 19; + pushButtons[PB_POSED_PATT_DOWN].y = 19; + pushButtons[PB_POSED_DEL].y = 33; + pushButtons[PB_SWAP_BANK].caption = "Swap"; + pushButtons[PB_SWAP_BANK].caption2 = "bank"; + pushButtons[PB_SWAP_BANK].x = 590; + pushButtons[PB_SWAP_BANK].y = 144; + pushButtons[PB_SWAP_BANK].w = 39; + pushButtons[PB_SWAP_BANK].h = 27; + pushButtons[PB_POSED_LEN_UP].x = 74; + pushButtons[PB_POSED_LEN_UP].y = 50; + pushButtons[PB_POSED_LEN_DOWN].x = 91; + pushButtons[PB_POSED_LEN_DOWN].y = 50; + pushButtons[PB_POSED_REP_UP].x = 74; + pushButtons[PB_POSED_REP_UP].y = 62; + pushButtons[PB_POSED_REP_DOWN].x = 91; + pushButtons[PB_POSED_REP_DOWN].y = 62; + pushButtons[PB_PATT_UP].x = 253; + pushButtons[PB_PATT_UP].y = 34; + pushButtons[PB_PATT_DOWN].x = 270; + pushButtons[PB_PATT_DOWN].y = 34; + pushButtons[PB_PATTLEN_UP].x = 253; + pushButtons[PB_PATTLEN_UP].y = 48; + pushButtons[PB_PATTLEN_DOWN].x = 270; + pushButtons[PB_PATTLEN_DOWN].y = 48; + + // instrument switcher + for (i = 0; i < 16; i++) + { + p = &pushButtons[PB_RANGE1+i]; + + p->w = 39; + p->x = 590; + p->y = iSwitchY[i & 7]; + } + } +} + +void patternEditorExtended(void) +{ + // backup old screen flags + editor.ui._aboutScreenShown = editor.ui.aboutScreenShown; + editor.ui._helpScreenShown = editor.ui.helpScreenShown; + editor.ui._configScreenShown = editor.ui.configScreenShown; + editor.ui._diskOpShown = editor.ui.diskOpShown; + editor.ui._nibblesShown = editor.ui.nibblesShown; + editor.ui._transposeShown = editor.ui.transposeShown; + editor.ui._instEditorShown = editor.ui.instEditorShown; + editor.ui._instEditorExtShown = editor.ui.instEditorExtShown; + editor.ui._sampleEditorExtShown = editor.ui.sampleEditorExtShown; + editor.ui._patternEditorShown = editor.ui.patternEditorShown; + editor.ui._sampleEditorShown = editor.ui.sampleEditorShown; + editor.ui._advEditShown= editor.ui.advEditShown; + editor.ui._wavRendererShown = editor.ui.wavRendererShown; + editor.ui._trimScreenShown = editor.ui.trimScreenShown; + + hideTopScreen(); + hideSampleEditor(); + hideInstEditor(); + + editor.ui.extended = true; + editor.ui.patternEditorShown = true; + updatePatternEditorGUI(); // change pattern editor layout (based on ui.extended flag) + editor.ui.updatePatternEditor = true; // redraw pattern editor + + drawFramework(0, 0, 112, 53, FRAMEWORK_TYPE1); + drawFramework(112, 0, 106, 33, FRAMEWORK_TYPE1); + drawFramework(112, 33, 106, 20, FRAMEWORK_TYPE1); + drawFramework(218, 0, 168, 53, FRAMEWORK_TYPE1); + + // pos ed. stuff + + drawFramework(2, 2, 51, 20, FRAMEWORK_TYPE2); + drawFramework(2, 31, 51, 20, FRAMEWORK_TYPE2); + + // force updating of end/page/length when showing scrollbar + scrollBars[SB_POS_ED].oldEnd = 0xFFFFFFFF; + scrollBars[SB_POS_ED].oldPage = 0xFFFFFFFF; + scrollBars[SB_POS_ED].oldPos = 0xFFFFFFFF; + + showScrollBar(SB_POS_ED); + + showPushButton(PB_POSED_POS_UP); + showPushButton(PB_POSED_POS_DOWN); + showPushButton(PB_POSED_INS); + showPushButton(PB_POSED_PATT_UP); + showPushButton(PB_POSED_PATT_DOWN); + showPushButton(PB_POSED_DEL); + showPushButton(PB_POSED_LEN_UP); + showPushButton(PB_POSED_LEN_DOWN); + showPushButton(PB_POSED_REP_UP); + showPushButton(PB_POSED_REP_DOWN); + showPushButton(PB_SWAP_BANK); + showPushButton(PB_PATT_UP); + showPushButton(PB_PATT_DOWN); + showPushButton(PB_PATTLEN_UP); + showPushButton(PB_PATTLEN_DOWN); + + showPushButton(PB_EXIT_EXT_PATT); + + textOutShadow(116, 5, PAL_FORGRND, PAL_DSKTOP2, "Sng.len."); + textOutShadow(116, 19, PAL_FORGRND, PAL_DSKTOP2, "Repst."); + textOutShadow(222, 40, PAL_FORGRND, PAL_DSKTOP2, "Ptn."); + textOutShadow(305, 40, PAL_FORGRND, PAL_DSKTOP2, "Ln."); + + editor.ui.instrSwitcherShown = true; + showInstrumentSwitcher(); + + drawSongLength(); + drawSongRepS(); + drawEditPattern(editor.editPattern); + drawPatternLength(editor.editPattern); + drawPosEdNums(editor.songPos); + editor.ui.updatePosSections = true; + + // kludge to fix scrollbar thumb when the scrollbar height changes during playback + if (songPlaying) + setScrollBarPos(SB_POS_ED, editor.songPos, false); +} + +void exitPatternEditorExtended(void) +{ + editor.ui.extended = false; + updatePatternEditorGUI(); + hidePushButton(PB_EXIT_EXT_PATT); + + // set back top screen button maps + + // set back old screen flags + editor.ui.aboutScreenShown = editor.ui._aboutScreenShown; + editor.ui.helpScreenShown = editor.ui._helpScreenShown; + editor.ui.configScreenShown = editor.ui._configScreenShown; + editor.ui.diskOpShown = editor.ui._diskOpShown; + editor.ui.nibblesShown = editor.ui._nibblesShown; + editor.ui.transposeShown = editor.ui._transposeShown; + editor.ui.instEditorShown = editor.ui._instEditorShown; + editor.ui.instEditorExtShown = editor.ui._instEditorExtShown; + editor.ui.sampleEditorExtShown = editor.ui._sampleEditorExtShown; + editor.ui.patternEditorShown = editor.ui._patternEditorShown; + editor.ui.sampleEditorShown = editor.ui._sampleEditorShown; + editor.ui.advEditShown = editor.ui._advEditShown; + editor.ui.wavRendererShown = editor.ui._wavRendererShown; + editor.ui.trimScreenShown = editor.ui.trimScreenShown; + + showTopScreen(true); + showBottomScreen(); + + // kludge to fix scrollbar thumb when the scrollbar height changes during playback + if (songPlaying) + setScrollBarPos(SB_POS_ED, editor.songPos, false); +} + +void togglePatternEditorExtended(void) +{ + if (editor.ui.extended) + exitPatternEditorExtended(); + else + patternEditorExtended(); +} + +void clearPattMark(void) +{ + memset(&pattMark, 0, sizeof (pattMark)); + + lastMarkX1 = -1; + lastMarkX2 = -1; + lastMarkY1 = -1; + lastMarkY2 = -1; +} + +void checkMarkLimits(void) +{ + uint16_t limit; + + limit = pattLens[editor.editPattern]; + pattMark.markY1 = CLAMP(pattMark.markY1, 0, limit); + pattMark.markY2 = CLAMP(pattMark.markY2, 0, limit); + + limit = song.antChn - 1; + pattMark.markX1 = CLAMP(pattMark.markX1, 0, limit); + pattMark.markX2 = CLAMP(pattMark.markX2, 0, limit); + + // will probably never happen? FT2 has this in CheckMarkLimits() though... + if (pattMark.markX1 > pattMark.markX2) + pattMark.markX1 = pattMark.markX2; +} + +static int8_t mouseXToCh(void) // used to get channel num from mouse x (for pattern marking) +{ + int8_t ch, chEnd; + int32_t mouseX; + + assert(editor.ui.patternChannelWidth > 0); + if (editor.ui.patternChannelWidth == 0) + return 0; + + mouseX = mouse.x - 29; + mouseX = CLAMP(mouseX, 0, 573); + + chEnd = (editor.ui.channelOffset + editor.ui.numChannelsShown) - 1; + + ch = editor.ui.channelOffset + (int8_t)(mouseX / editor.ui.patternChannelWidth); + ch = CLAMP(ch, 0, chEnd); + + // in some setups there can be non-used channels to the right, do clamping + if (ch >= song.antChn) + ch = song.antChn - 1; + + return ch; +} + +static int16_t mouseYToRow(void) // used to get row num from mouse y (for pattern marking) +{ + uint8_t charHeight, mode; + int16_t row, patternLen, my, maxY, maxRow; + const pattCoordsMouse_t *pattCoordsMouse; + + pattCoordsMouse = &pattCoordMouseTable[config.ptnUnpressed][editor.ui.pattChanScrollShown][editor.ui.extended]; + + // clamp mouse y to boundaries + maxY = editor.ui.pattChanScrollShown ? 382 : 396; + my = (int16_t)(CLAMP(mouse.y, pattCoordsMouse->upperRowsY, maxY)); + + charHeight = config.ptnUnpressed ? 11 : 8; + + // test top/middle/bottom rows + if (my < pattCoordsMouse->midRowY) + { + // top rows + row = editor.pattPos - (pattCoordsMouse->numUpperRows - ((my - pattCoordsMouse->upperRowsY) / charHeight)); + if (row < 0) + row = 0; + + return row; + } + else if (my >= pattCoordsMouse->midRowY && my <= pattCoordsMouse->midRowY+10) + { + // current row (middle) + return editor.pattPos; + } + else + { + // bottom rows + row = (editor.pattPos + 1) + ((my - pattCoordsMouse->lowerRowsY) / charHeight); + + // prevent being able to mark the next unseen row on the bottom (in some configurations) + mode = (editor.ui.extended * 4) + (config.ptnUnpressed * 2) + editor.ui.pattChanScrollShown; + + maxRow = (ptnAntLine[mode] + (editor.pattPos - ptnLineSub[mode])) - 1; + if (row > maxRow) + row = maxRow; + + // clamp to pattern length + patternLen = pattLens[editor.editPattern]; + if (row >= patternLen) + row = patternLen - 1; + + return row; + } +} + +void handlePatternDataMouseDown(bool mouseButtonHeld) +{ + bool forceMarking; + int8_t chTmp; + int16_t y1, y2, rowTmp, pattLen; + + // non-FT2 feature: Use right mouse button to remove pattern marking + if (mouse.rightButtonPressed) + { + clearPattMark(); + editor.ui.updatePatternEditor = true; + return; + } + + if (!mouseButtonHeld) + { + // we clicked inside the pattern data area for the first time, set initial vars + + mouse.lastUsedObjectType = OBJECT_PATTERNMARK; + + lastMouseX = mouse.x; + lastMouseY = mouse.y; + + lastChMark = mouseXToCh(); + lastRowMark = mouseYToRow(); + + pattMark.markX1 = lastChMark; + pattMark.markX2 = lastChMark; + pattMark.markY1 = lastRowMark; + pattMark.markY2 = lastRowMark + 1; + + checkMarkLimits(); + + editor.ui.updatePatternEditor = true; + return; + } + + // we're holding down the mouse button inside the pattern data area + + forceMarking = songPlaying; + + // scroll left/right with mouse + if (editor.ui.pattChanScrollShown) + { + if (mouse.x < 29) + { + scrollBarScrollUp(SB_CHAN_SCROLL, 1); + forceMarking = true; + } + else if (mouse.x > 604) + { + scrollBarScrollDown(SB_CHAN_SCROLL, 1); + forceMarking = true; + } + } + + // mark channels + if (forceMarking || lastMouseX != mouse.x) + { + lastMouseX = mouse.x; + + chTmp = mouseXToCh(); + if (chTmp < lastChMark) + { + pattMark.markX1 = chTmp; + pattMark.markX2 = lastChMark; + } + else + { + pattMark.markX2 = chTmp; + pattMark.markX1 = lastChMark; + } + + if (lastMarkX1 != pattMark.markX1 || lastMarkX2 != pattMark.markX2) + { + checkMarkLimits(); + editor.ui.updatePatternEditor = true; + + lastMarkX1 = pattMark.markX1; + lastMarkX2 = pattMark.markX2; + } + } + + // scroll down/up with mouse (if song is not playing) + if (!songPlaying) + { + y1 = editor.ui.extended ? 56 : 176; + y2 = editor.ui.pattChanScrollShown ? 382 : 396; + + if (mouse.y < y1) + { + pattLen = pattLens[editor.editPattern]; + if (editor.pattPos > 0) + setPos(-1, editor.pattPos - 1, true); + + forceMarking = true; + editor.ui.updatePatternEditor = true; + } + else if (mouse.y > y2) + { + pattLen = pattLens[editor.editPattern]; + if (editor.pattPos < (pattLen - 1)) + setPos(-1, editor.pattPos + 1, true); + + forceMarking = true; + editor.ui.updatePatternEditor = true; + } + } + + // mark rows + if (forceMarking || lastMouseY != mouse.y) + { + lastMouseY = mouse.y; + + rowTmp = mouseYToRow(); + if (rowTmp < lastRowMark) + { + pattMark.markY1 = rowTmp; + pattMark.markY2 = lastRowMark + 1; + } + else + { + pattMark.markY2 = rowTmp + 1; + pattMark.markY1 = lastRowMark; + } + + if (lastMarkY1 != pattMark.markY1 || lastMarkY2 != pattMark.markY2) + { + checkMarkLimits(); + editor.ui.updatePatternEditor = true; + + lastMarkY1 = pattMark.markY1; + lastMarkY2 = pattMark.markY2; + } + } +} + +void rowOneUpWrap(void) +{ + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + song.pattPos = (song.pattPos - 1 + song.pattLen) % song.pattLen; + if (!songPlaying) + { + editor.pattPos = (uint8_t)song.pattPos; + editor.ui.updatePatternEditor = true; + } + + if (audioWasntLocked) + unlockAudio(); +} + +void rowOneDownWrap(void) +{ + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (songPlaying) + { + song.timer = 2; + } + else + { + song.pattPos = (song.pattPos + 1 + song.pattLen) % song.pattLen; + editor.pattPos = (uint8_t)song.pattPos; + editor.ui.updatePatternEditor = true; + } + + if (audioWasntLocked) + unlockAudio(); +} + +void rowUp(uint16_t amount) +{ + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + song.pattPos -= amount; + if (song.pattPos < 0) + song.pattPos = 0; + + if (!songPlaying) + { + editor.pattPos = (uint8_t)song.pattPos; + editor.ui.updatePatternEditor = true; + } + + if (audioWasntLocked) + unlockAudio(); +} + +void rowDown(uint16_t amount) +{ + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + song.pattPos += amount; + if (song.pattPos >= song.pattLen) + song.pattPos = song.pattLen - 1; + + if (!songPlaying) + { + editor.pattPos = (uint8_t)song.pattPos; + editor.ui.updatePatternEditor = true; + } + + if (audioWasntLocked) + unlockAudio(); +} + +void keybPattMarkUp(void) +{ + int8_t xPos; + int16_t pattPos; + + xPos = editor.cursor.ch; + pattPos = editor.pattPos; + + if (xPos != pattMark.markX1 && xPos != pattMark.markX2) + { + pattMark.markX1 = xPos; + pattMark.markX2 = xPos; + pattMark.markY1 = pattPos; + pattMark.markY2 = pattPos + 1; + } + + if (pattPos == pattMark.markY1-1) + { + pattMark.markY1 = pattPos; + } + else if (pattPos == pattMark.markY2) + { + pattMark.markY2 = pattPos - 1; + } + else if (pattPos != pattMark.markY1 && pattPos != pattMark.markY2) + { + pattMark.markX1 = xPos; + pattMark.markX2 = xPos; + pattMark.markY1 = pattPos; + pattMark.markY2 = pattPos + 1; + + } + + checkMarkLimits(); + rowOneUpWrap(); +} + +void keybPattMarkDown(void) +{ + int8_t xPos; + int16_t pattPos; + + xPos = editor.cursor.ch; + pattPos = editor.pattPos; + + if (xPos != pattMark.markX1 && xPos != pattMark.markX2) + { + pattMark.markX1 = xPos; + pattMark.markX2 = xPos; + pattMark.markY1 = pattPos; + pattMark.markY2 = pattPos + 1; + } + + if (pattPos == pattMark.markY2) + { + pattMark.markY2 = pattPos + 1; + } + else if (pattPos == pattMark.markY1-1) + { + pattMark.markY1 = pattPos + 2; + } + else if (pattPos != pattMark.markY1 && pattPos != pattMark.markY2) + { + pattMark.markX1 = xPos; + pattMark.markX2 = xPos; + pattMark.markY1 = pattPos; + pattMark.markY2 = pattPos + 1; + } + + checkMarkLimits(); + rowOneDownWrap(); +} + +void keybPattMarkLeft(void) +{ + int8_t xPos; + int16_t pattPos; + + xPos = editor.cursor.ch; + pattPos = editor.pattPos; + + if (pattPos != pattMark.markY1-1 && pattPos != pattMark.markY2) + { + pattMark.markY1 = pattPos - 1; + pattMark.markY2 = pattPos; + } + + if (xPos == pattMark.markX1) + { + pattMark.markX1 = xPos - 1; + } + else if (xPos == pattMark.markX2) + { + pattMark.markX2 = xPos - 1; + } + else if (xPos != pattMark.markX1 && xPos != pattMark.markX2) + { + pattMark.markX1 = xPos - 1; + pattMark.markX2 = xPos; + pattMark.markY1 = pattPos - 1; + pattMark.markY2 = pattPos; + } + + checkMarkLimits(); + chanLeft(); +} + +void keybPattMarkRight(void) +{ + int8_t xPos; + int16_t pattPos; + + xPos = editor.cursor.ch; + pattPos = editor.pattPos; + + if (pattPos != pattMark.markY1-1 && pattPos != pattMark.markY2) + { + pattMark.markY1 = pattPos - 1; + pattMark.markY2 = pattPos; + } + + if (xPos == pattMark.markX2) + { + pattMark.markX2 = xPos + 1; + } + else if (xPos == pattMark.markX1) + { + pattMark.markX1 = xPos + 1; + } + else if (xPos != pattMark.markX1 && xPos != pattMark.markX2) + { + pattMark.markX1 = xPos; + pattMark.markX2 = xPos + 1; + pattMark.markY1 = pattPos - 1; + pattMark.markY2 = pattPos; + } + + checkMarkLimits(); + chanRight(); +} + +bool loadTrack(UNICHAR *filenameU) +{ + FILE *f; + uint16_t nr, pattLen; + tonTyp *pattPtr, loadBuff[MAX_PATT_LEN]; + trackHeaderType th; + + f = UNICHAR_FOPEN(filenameU, "rb"); + if (f == NULL) + { + okBox(0, "System message", "General I/O error during loading! Is the file in use?"); + return false; + } + + nr = editor.editPattern; + pattLen = pattLens[nr]; + + if (fread(&th, 1, sizeof (th), f) != sizeof (th)) + { + okBox(0, "System message", "General I/O error during loading! Is the file in use?"); + goto trackLoadError; + } + + if (th.ver != 1) + { + okBox(0, "System message", "Incompatible format version!"); + goto trackLoadError; + } + + if (th.len > MAX_PATT_LEN) + th.len = MAX_PATT_LEN; + + if (pattLen > th.len) + pattLen = th.len; + + if (fread(loadBuff, pattLen * sizeof (tonTyp), 1, f) != 1) + { + okBox(0, "System message", "General I/O error during loading! Is the file in use?"); + goto trackLoadError; + } + + if (!allocatePattern(nr)) + { + okBox(0, "System message", "Not enough memory!"); + goto trackLoadError; + } + + pattPtr = patt[nr]; + + lockMixerCallback(); + for (uint16_t i = 0; i < pattLen; i++) + { + pattPtr = &patt[nr][(i * MAX_VOICES) + editor.cursor.ch]; + *pattPtr = loadBuff[i]; + + // non-FT2 security fix: remove overflown (illegal) stuff + if (pattPtr->ton > 97) + pattPtr->ton = 0; + + if (pattPtr->effTyp > 35) + { + pattPtr->effTyp = 0; + pattPtr->eff = 0; + } + } + + unlockMixerCallback(); + + fclose(f); + + editor.ui.updatePatternEditor = true; + editor.ui.updatePosSections = true; + + diskOpSetFilename(DISKOP_ITEM_TRACK, filenameU); + setSongModifiedFlag(); + + return true; + +trackLoadError: + fclose(f); + return false; +} + +bool saveTrack(UNICHAR *filenameU) +{ + FILE *f; + uint16_t nr, pattLen, i; + tonTyp *pattPtr, saveBuff[MAX_PATT_LEN]; + trackHeaderType th; + + nr = editor.editPattern; + pattPtr = patt[nr]; + + if (pattPtr == NULL) + { + okBox(0, "System message", "The current pattern is empty!"); + return false; + } + + f = UNICHAR_FOPEN(filenameU, "wb"); + if (f == NULL) + { + okBox(0, "System message", "General I/O error during saving! Is the file in use?"); + return false; + } + + pattLen = pattLens[nr]; + for (i = 0; i < pattLen; i++) + saveBuff[i] = pattPtr[(i * MAX_VOICES) + editor.cursor.ch]; + + th.len = pattLen; + th.ver = 1; + + if (fwrite(&th, sizeof (th), 1, f) != 1) + { + fclose(f); + okBox(0, "System message", "General I/O error during saving! Is the file in use?"); + return false; + } + + if (fwrite(saveBuff, pattLen * sizeof (tonTyp), 1, f) != 1) + { + fclose(f); + okBox(0, "System message", "General I/O error during saving! Is the file in use?"); + return false; + } + + fclose(f); + return true; +} + +bool loadPattern(UNICHAR *filenameU) +{ + FILE *f; + uint16_t nr, pattLen; + tonTyp *pattPtr; + patternHeaderType th; + + f = UNICHAR_FOPEN(filenameU, "rb"); + if (f == NULL) + { + okBox(0, "System message", "General I/O error during loading! Is the file in use?"); + return false; + } + + nr = editor.editPattern; + + if (!allocatePattern(nr)) + { + okBox(0, "System message", "Not enough memory!"); + goto loadPattError; + } + + pattPtr = patt[nr]; + pattLen = pattLens[nr]; + + if (fread(&th, 1, sizeof (th), f) != sizeof (th)) + { + okBox(0, "System message", "General I/O error during loading! Is the file in use?"); + goto loadPattError; + } + + if (th.ver != 1) + { + okBox(0, "System message", "Incompatible format version!"); + goto loadPattError; + } + + if (th.len > MAX_PATT_LEN) + th.len = MAX_PATT_LEN; + + if (pattLen > th.len) + pattLen = th.len; + + lockMixerCallback(); + + if (fread(pattPtr, pattLen * TRACK_WIDTH, 1, f) != 1) + { + unlockMixerCallback(); + okBox(0, "System message", "General I/O error during loading! Is the file in use?"); + goto loadPattError; + } + + // non-FT2 security fix: remove overflown (illegal) stuff + for (uint16_t i = 0; i < pattLen; i++) + { + for (uint16_t j = 0; j < MAX_VOICES; j++) + { + pattPtr = &patt[nr][(i * MAX_VOICES) + j]; + if (pattPtr->ton > 97) + pattPtr->ton = 0; + + if (pattPtr->effTyp > 35) + { + pattPtr->effTyp = 0; + pattPtr->eff = 0; + } + } + } + + unlockMixerCallback(); + + fclose(f); + + editor.ui.updatePatternEditor = true; + editor.ui.updatePosSections = true; + + diskOpSetFilename(DISKOP_ITEM_PATTERN, filenameU); + setSongModifiedFlag(); + + return true; + +loadPattError: + fclose(f); + return false; +} + +bool savePattern(UNICHAR *filenameU) +{ + FILE *f; + uint16_t nr, pattLen; + tonTyp *pattPtr; + patternHeaderType th; + + nr = editor.editPattern; + pattPtr = patt[nr]; + + if (pattPtr == NULL) + { + okBox(0, "System message", "The current pattern is empty!"); + return false; + } + + f = UNICHAR_FOPEN(filenameU, "wb"); + if (f == NULL) + { + okBox(0, "System message", "General I/O error during saving! Is the file in use?"); + return false; + } + + pattLen = pattLens[nr]; + + th.len = pattLen; + th.ver = 1; + + if (fwrite(&th, 1, sizeof (th), f) != sizeof (th)) + { + fclose(f); + okBox(0, "System message", "General I/O error during saving! Is the file in use?"); + return false; + } + + if (fwrite(pattPtr, pattLen * TRACK_WIDTH, 1, f) != 1) + { + fclose(f); + okBox(0, "System message", "General I/O error during saving! Is the file in use?"); + return false; + } + + fclose(f); + return true; +} + +void scrollChannelLeft(void) +{ + scrollBarScrollLeft(SB_CHAN_SCROLL, 1); +} + +void scrollChannelRight(void) +{ + scrollBarScrollRight(SB_CHAN_SCROLL, 1); +} + +void setChannelScrollPos(uint32_t pos) +{ + if (!editor.ui.pattChanScrollShown) + { + editor.ui.channelOffset = 0; + return; + } + + if (editor.ui.channelOffset == (uint8_t)pos) + return; + + editor.ui.channelOffset = (uint8_t)pos; + + assert(song.antChn > editor.ui.numChannelsShown); + if (editor.ui.channelOffset >= song.antChn-editor.ui.numChannelsShown) + editor.ui.channelOffset = song.antChn-editor.ui.numChannelsShown; + + if (editor.cursor.ch >= editor.ui.channelOffset+editor.ui.numChannelsShown) + { + editor.cursor.object = CURSOR_NOTE; + editor.cursor.ch = (editor.ui.channelOffset + editor.ui.numChannelsShown) - 1; + } + else if (editor.cursor.ch < editor.ui.channelOffset) + { + editor.cursor.object = CURSOR_NOTE; + editor.cursor.ch = editor.ui.channelOffset; + } + + editor.ui.updatePatternEditor = true; +} + +void jumpToChannel(uint8_t channel) // for ALT+q..i ALT+a..k +{ + if (editor.ui.sampleEditorShown || editor.ui.instEditorShown) + return; + + channel %= song.antChn; + if (editor.cursor.ch == channel) + return; + + if (editor.ui.pattChanScrollShown) + { + assert(song.antChn > editor.ui.numChannelsShown); + + if (channel >= editor.ui.channelOffset+editor.ui.numChannelsShown) + scrollBarScrollDown(SB_CHAN_SCROLL, (channel - (editor.ui.channelOffset + editor.ui.numChannelsShown)) + 1); + else if (channel < editor.ui.channelOffset) + scrollBarScrollUp(SB_CHAN_SCROLL, editor.ui.channelOffset - channel); + } + + editor.cursor.ch = channel; // set it here since scrollBarScrollX() changes it... + editor.ui.updatePatternEditor = true; +} + +void sbPosEdPos(uint32_t pos) +{ + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (song.songPos != (int16_t)pos) + setPos((int16_t)pos, 0, true); + + if (audioWasntLocked) + unlockAudio(); +} + +void pbPosEdPosUp(void) +{ + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (song.songPos < song.len-1) + setPos(song.songPos + 1, 0, true); + + if (audioWasntLocked) + unlockAudio(); +} + +void pbPosEdPosDown(void) +{ + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (song.songPos > 0) + setPos(song.songPos - 1, 0, true); + + if (audioWasntLocked) + unlockAudio(); +} + +void pbPosEdIns(void) +{ + uint8_t oldPatt; + + if (song.len >= 255) + return; + + lockMixerCallback(); + + oldPatt = song.songTab[song.songPos]; + for (uint16_t i = 0; i < 255-song.songPos; i++) + song.songTab[255-i] = song.songTab[254-i]; + song.songTab[song.songPos] = oldPatt; + + song.len++; + + editor.ui.updatePosSections = true; + editor.ui.updatePosEdScrollBar = true; + setSongModifiedFlag(); + + unlockMixerCallback(); +} + +void pbPosEdDel(void) +{ + if (song.len <= 1) + return; + + lockMixerCallback(); + + if (song.songPos < 254) + { + for (uint16_t i = 0; i < 254-song.songPos; i++) + song.songTab[song.songPos+i] = song.songTab[song.songPos+1+i]; + } + + song.len--; + if (song.repS >= song.len) + song.repS = song.len - 1; + + if (song.songPos > song.len-1) + { + editor.songPos = song.songPos = song.len-1; + setPos(song.songPos, -1, false); + } + + editor.ui.updatePosSections = true; + editor.ui.updatePosEdScrollBar = true; + setSongModifiedFlag(); + + unlockMixerCallback(); +} + +void pbPosEdPattUp(void) +{ + if (song.songTab[song.songPos] == 255) + return; + + lockMixerCallback(); + if (song.songTab[song.songPos] < 255) + { + song.songTab[song.songPos]++; + song.pattNr = song.songTab[song.songPos]; + editor.editPattern = (uint8_t)song.pattNr; + song.pattLen = pattLens[editor.editPattern]; + + editor.ui.updatePatternEditor = true; + editor.ui.updatePosSections = true; + setSongModifiedFlag(); + } + unlockMixerCallback(); +} + +void pbPosEdPattDown(void) +{ + if (song.songTab[song.songPos] == 0) + return; + + lockMixerCallback(); + if (song.songTab[song.songPos] > 0) + { + song.songTab[song.songPos]--; + song.pattNr = song.songTab[song.songPos]; + editor.editPattern = (uint8_t)song.pattNr; + song.pattLen = pattLens[editor.editPattern]; + + editor.ui.updatePatternEditor = true; + editor.ui.updatePosSections = true; + setSongModifiedFlag(); + } + unlockMixerCallback(); +} + +void pbPosEdLenUp(void) +{ + bool audioWasntLocked; + + if (song.len >= 255) + return; + + audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + song.len++; + + editor.ui.updatePosSections = true; + editor.ui.updatePosEdScrollBar = true; + setSongModifiedFlag(); + + if (audioWasntLocked) + unlockAudio(); +} + +void pbPosEdLenDown(void) +{ + bool audioWasntLocked; + + if (song.len == 0) + return; + + audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + song.len--; + + if (song.repS >= song.len) + song.repS = song.len - 1; + + if (song.songPos >= song.len) + { + song.songPos = song.len - 1; + setPos(song.songPos, -1, false); + } + + editor.ui.updatePosSections = true; + editor.ui.updatePosEdScrollBar = true; + setSongModifiedFlag(); + + if (audioWasntLocked) + unlockAudio(); +} + +void pbPosEdRepSUp(void) +{ + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (song.repS < song.len-1) + { + song.repS++; + editor.ui.updatePosSections = true; + setSongModifiedFlag(); + } + + if (audioWasntLocked) + unlockAudio(); +} + +void pbPosEdRepSDown(void) +{ + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (song.repS > 0) + { + song.repS--; + editor.ui.updatePosSections = true; + setSongModifiedFlag(); + } + + if (audioWasntLocked) + unlockAudio(); +} + +void pbBPMUp(void) +{ + if (song.speed == 255) + return; + + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (song.speed < 255) + { + song.speed++; + setSpeed(song.speed); + + // if song is playing, the update is handled in the audio/video sync queue + if (!songPlaying) + { + editor.speed = song.speed; + drawSongBPM(song.speed); + } + } + + if (audioWasntLocked) + unlockAudio(); +} + +void pbBPMDown(void) +{ + if (song.speed == 32) + return; + + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (song.speed > 32) + { + song.speed--; + setSpeed(song.speed); + + // if song is playing, the update is handled in the audio/video sync queue + if (!songPlaying) + { + editor.speed = song.speed; + drawSongBPM(editor.speed); + } + } + + if (audioWasntLocked) + unlockAudio(); +} + +void pbSpeedUp(void) +{ + if (song.tempo == 31) + return; + + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (song.tempo < 31) + { + song.tempo++; + + // if song is playing, the update is handled in the audio/video sync queue + if (!songPlaying) + { + editor.tempo = song.tempo; + drawSongSpeed(editor.tempo); + } + } + + if (audioWasntLocked) + unlockAudio(); +} + +void pbSpeedDown(void) +{ + if (song.tempo == 0) + return; + + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (song.tempo > 0) + { + song.tempo--; + + // if song is playing, the update is handled in the audio/video sync queue + if (!songPlaying) + { + editor.tempo = song.tempo; + drawSongSpeed(editor.tempo); + } + } + + if (audioWasntLocked) + unlockAudio(); +} + +void pbIncAdd(void) +{ + if (editor.ID_Add == 16) + editor.ID_Add = 0; + else + editor.ID_Add++; + + drawIDAdd(); +} + +void pbDecAdd(void) +{ + if (editor.ID_Add == 0) + editor.ID_Add = 16; + else + editor.ID_Add--; + + drawIDAdd(); +} + +void pbAddChan(void) +{ + if (song.antChn > 30) + return; + + lockMixerCallback(); + song.antChn += 2; + + hideTopScreen(); + showTopLeftMainScreen(true); + showTopRightMainScreen(); + + if (editor.ui.patternEditorShown) + showPatternEditor(); + + setSongModifiedFlag(); + unlockMixerCallback(); +} + +void pbSubChan(void) +{ + if (song.antChn < 4) + return; + + lockMixerCallback(); + + song.antChn -= 2; + + checkMarkLimits(); + + hideTopScreen(); + showTopLeftMainScreen(true); + showTopRightMainScreen(); + + if (editor.ui.patternEditorShown) + showPatternEditor(); + + setSongModifiedFlag(); + unlockMixerCallback(); +} + +static void updatePtnLen(void) +{ + uint16_t len = pattLens[editor.editPattern]; + + song.pattLen = len; + if (song.pattPos >= len) + { + song.pattPos = len - 1; + editor.pattPos = song.pattPos; + } + + checkMarkLimits(); +} + +void pbEditPattUp(void) +{ + if (songPlaying) + { + if (song.pattNr == 255) + return; + } + else + { + if (editor.editPattern == 255) + return; + } + + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (songPlaying) + { + if (song.pattNr < 255) + { + song.pattNr++; + updatePtnLen(); + + editor.ui.updatePatternEditor = true; + editor.ui.updatePosSections = true; + } + } + else + { + if (editor.editPattern < 255) + { + editor.editPattern++; + + song.pattNr = editor.editPattern; + updatePtnLen(); + + editor.ui.updatePatternEditor = true; + editor.ui.updatePosSections = true; + } + } + + if (audioWasntLocked) + unlockAudio(); +} + +void pbEditPattDown(void) +{ + if (songPlaying) + { + if (song.pattNr == 0) + return; + } + else + { + if (editor.editPattern == 0) + return; + } + + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (songPlaying) + { + if (song.pattNr > 0) + { + song.pattNr--; + updatePtnLen(); + + editor.ui.updatePatternEditor = true; + editor.ui.updatePosSections = true; + } + } + else + { + if (editor.editPattern > 0) + { + editor.editPattern--; + + song.pattNr = editor.editPattern; + updatePtnLen(); + + editor.ui.updatePatternEditor = true; + editor.ui.updatePosSections = true; + } + } + + if (audioWasntLocked) + unlockAudio(); +} + +void pbPattLenUp(void) +{ + bool audioWasntLocked; + uint16_t pattLen; + + if (pattLens[editor.editPattern] >= 256) + return; + + audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + pattLen = pattLens[editor.editPattern]; + if (pattLen < 256) + { + setPatternLen(editor.editPattern, pattLen + 1); + checkMarkLimits(); + + editor.ui.updatePatternEditor = true; + editor.ui.updatePosSections = true; + setSongModifiedFlag(); + } + + if (audioWasntLocked) + unlockAudio(); +} + +void pbPattLenDown(void) +{ + bool audioWasntLocked; + uint16_t pattLen; + + if (pattLens[editor.editPattern] <= 1) + return; + + audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + pattLen = pattLens[editor.editPattern]; + if (pattLen > 1) + { + setPatternLen(editor.editPattern, pattLen - 1); + checkMarkLimits(); + + editor.ui.updatePatternEditor = true; + editor.ui.updatePosSections = true; + setSongModifiedFlag(); + } + + if (audioWasntLocked) + unlockAudio(); +} + +void drawPosEdNums(int16_t songPos) +{ + uint8_t y; + int16_t entry; + uint32_t color1, color2; + + color1 = video.palette[PAL_PATTEXT]; + color2 = video.palette[PAL_FORGRND]; + + if (songPos >= song.len) + songPos = song.len - 1; + + // clear + if (editor.ui.extended) + { + clearRect(8, 4, 39, 16); + fillRect(8, 23, 39, 7, PAL_DESKTOP); + clearRect(8, 33, 39, 16); + } + else + { + clearRect(8, 4, 39, 15); + fillRect(8, 22, 39, 7, PAL_DESKTOP); + clearRect(8, 32, 39, 15); + } + + // top two + for (y = 0; y < 2; y++) + { + entry = songPos - (2 - y); + if (entry < 0) + continue; + + assert(entry < 256); + + if (editor.ui.extended) + { + pattTwoHexOut(8, 4 + (y * 9), (uint8_t)entry, color1); + pattTwoHexOut(32, 4 + (y * 9), song.songTab[entry], color1); + } + else + { + pattTwoHexOut(8, 4 + (y * 8), (uint8_t)entry, color1); + pattTwoHexOut(32, 4 + (y * 8), song.songTab[entry], color1); + } + } + + assert(songPos < 256); + + // middle + if (editor.ui.extended) + { + pattTwoHexOut(8, 23, (uint8_t)songPos, color2); + pattTwoHexOut(32, 23, song.songTab[songPos], color2); + } + else + { + pattTwoHexOut(8, 22, (uint8_t)songPos, color2); + pattTwoHexOut(32, 22, song.songTab[songPos], color2); + } + + // bottom two + for (y = 0; y < 2; y++) + { + entry = songPos + (1 + y); + if (entry >= song.len) + break; + + if (editor.ui.extended) + { + pattTwoHexOut(8, 33 + (y * 9), (uint8_t)entry, color1); + pattTwoHexOut(32, 33 + (y * 9), song.songTab[entry], color1); + } + else + { + pattTwoHexOut(8, 32 + (y * 8), (uint8_t)entry, color1); + pattTwoHexOut(32, 32 + (y * 8), song.songTab[entry], color1); + } + } +} + +void drawSongLength(void) +{ + int16_t x, y; + + if (editor.ui.extended) + { + x = 165; + y = 6; + } + else + { + x = 59; + y = 53; + } + + hexOutBg(x, y, PAL_FORGRND, PAL_DESKTOP, (uint8_t)song.len, 2); +} + +void drawSongRepS(void) +{ + int16_t x, y; + + if (editor.ui.extended) + { + x = 165; + y = 20; + } + else + { + x = 59; + y = 65; + } + + hexOutBg(x, y, PAL_FORGRND, PAL_DESKTOP, (uint8_t)song.repS, 2); +} + +void drawSongBPM(uint16_t val) +{ + char str[8]; + + if (editor.ui.extended) + return; + + sprintf(str, "%03d", val); + textOutFixed(145, 36, PAL_FORGRND, PAL_DESKTOP, str); +} + +void drawSongSpeed(uint16_t val) +{ + char str[8]; + + if (editor.ui.extended) + return; + + sprintf(str, "%02d", val); + textOutFixed(152, 50, PAL_FORGRND, PAL_DESKTOP, str); +} + +void drawEditPattern(uint16_t editPattern) +{ + int16_t x, y; + + if (editor.ui.extended) + { + x = 251; + y = 40; + } + else + { + x = 237; + y = 36; + } + + hexOutBg(x, y, PAL_FORGRND, PAL_DESKTOP, editPattern, 2); +} + +void drawPatternLength(uint16_t editPattern) +{ + int16_t x, y; + + if (editor.ui.extended) + { + x = 326; + y = 40; + } + else + { + x = 230; + y = 50; + } + + hexOutBg(x, y, PAL_FORGRND, PAL_DESKTOP, pattLens[editPattern], 3); +} + +void drawGlobalVol(int16_t globalVol) +{ + char str[8]; + + if (editor.ui.extended) + return; + + assert(globalVol >= 0 && globalVol <= 64); + sprintf(str, "%02d", globalVol); + textOutFixed(87, 80, PAL_FORGRND, PAL_DESKTOP, str); +} + +void drawIDAdd(void) +{ + char str[8]; + + assert(editor.ID_Add <= 16); + sprintf(str, "%02d", editor.ID_Add); + textOutFixed(152, 64, PAL_FORGRND, PAL_DESKTOP, str); +} + +void drawPlaybackTime(void) +{ + char str[2 + 1]; + uint32_t a, MI_TimeH, MI_TimeM, MI_TimeS; + + a = ((song.musicTime >> 8) * 5) >> 9; + MI_TimeH = a / 3600; + a -= (MI_TimeH * 3600); + MI_TimeM = a / 60; + MI_TimeS = a - (MI_TimeM * 60); + + // hours + str[0] = '0' + (char)(MI_TimeH / 10); + str[1] = '0' + (char)(MI_TimeH % 10); + str[2] = '\0'; + textOutFixed(235, 80, PAL_FORGRND, PAL_DESKTOP, str); + + // minutes + str[0] = '0' + (char)(MI_TimeM / 10); + str[1] = '0' + (char)(MI_TimeM % 10); + str[2] = '\0'; + textOutFixed(255, 80, PAL_FORGRND, PAL_DESKTOP, str); + + // seconds + str[0] = '0' + (char)(MI_TimeS / 10); + str[1] = '0' + (char)(MI_TimeS % 10); + str[2] = '\0'; + textOutFixed(275, 80, PAL_FORGRND, PAL_DESKTOP, str); +} + +void drawSongName(void) +{ + drawFramework(421, 155, 166, 18, FRAMEWORK_TYPE1); + drawFramework(423, 157, 162, 14, FRAMEWORK_TYPE2); + drawTextBox(TB_SONG_NAME); +} + +void changeLogoType(uint8_t logoType) +{ + pushButtons[PB_LOGO].bitmapFlag = true; + + if (logoType == 0) + { + pushButtons[PB_LOGO].bitmapUnpressed = &ft2LogoBadges[(154 * 32) * 0]; + pushButtons[PB_LOGO].bitmapPressed = &ft2LogoBadges[(154 * 32) * 1]; + } + else + { + pushButtons[PB_LOGO].bitmapUnpressed = &ft2LogoBadges[(154 * 32) * 2]; + pushButtons[PB_LOGO].bitmapPressed = &ft2LogoBadges[(154 * 32) * 3]; + } + + drawPushButton(PB_LOGO); +} + +void changeBadgeType(uint8_t badgeType) +{ + pushButtons[PB_BADGE].bitmapFlag = true; + + if (badgeType == 0) + { + pushButtons[PB_BADGE].bitmapUnpressed = &ft2InfoBadges[(25 * 32) * 0]; + pushButtons[PB_BADGE].bitmapPressed = &ft2InfoBadges[(25 * 32) * 1]; + } + else + { + pushButtons[PB_BADGE].bitmapUnpressed = &ft2InfoBadges[(25 * 32) * 2]; + pushButtons[PB_BADGE].bitmapPressed = &ft2InfoBadges[(25 * 32) * 3]; + } + + drawPushButton(PB_BADGE); +} + +void updateInstrumentSwitcher(void) +{ + int8_t i; + int16_t y; + + if (editor.ui.extended) // extended pattern editor + { + //INSTRUMENTS + + clearRect(388, 5, 116, 43); // left box + clearRect(511, 5, 116, 43); // right box + + // draw source instrument selection + if (editor.srcInstr >= editor.instrBankOffset && editor.srcInstr <= editor.instrBankOffset+8) + { + y = 5 + ((editor.srcInstr - editor.instrBankOffset - 1) * 11); + if (y >= 5 && y <= 82) + { + if (y <= 47) + fillRect(388, y, 15, 10, PAL_BUTTONS); // left box + else + fillRect(511, y - 44, 15, 10, PAL_BUTTONS); // right box + } + } + + // draw destination instrument selection + if (editor.curInstr >= editor.instrBankOffset && editor.curInstr <= editor.instrBankOffset+8) + { + y = 5 + ((editor.curInstr - editor.instrBankOffset - 1) * 11); + y = 5 + ((editor.curInstr - editor.instrBankOffset - 1) * 11); + if (y >= 5 && y <= 82) + { + if (y <= 47) + fillRect(406, y, 98, 10, PAL_BUTTONS); // left box + else + fillRect(529, y - 44, 98, 10, PAL_BUTTONS); // right box + } + } + + // draw numbers and texts + for (i = 0; i < 4; i++) + { + hexOut(388, 5 + (i * 11), PAL_FORGRND, 1 + editor.instrBankOffset + i, 2); + hexOut(511, 5 + (i * 11), PAL_FORGRND, 5 + editor.instrBankOffset + i, 2); + drawTextBox(TB_INST1 + i); + drawTextBox(TB_INST5 + i); + } + } + else // normal pattern editor + { + // INSTRUMENTS + + clearRect(424, 5, 15, 87); // src instrument + clearRect(446, 5, 139, 87); // main instrument + + // draw source instrument selection + if (editor.srcInstr >= editor.instrBankOffset && editor.srcInstr <= editor.instrBankOffset+8) + { + y = 5 + ((editor.srcInstr - editor.instrBankOffset - 1) * 11); + if (y >= 5 && y <= 82) + fillRect(424, y, 15, 10, PAL_BUTTONS); + } + + // draw destination instrument selection + if (editor.curInstr >= editor.instrBankOffset && editor.curInstr <= editor.instrBankOffset+8) + { + y = 5 + ((editor.curInstr - editor.instrBankOffset - 1) * 11); + if (y >= 5 && y <= 82) + fillRect(446, y, 139, 10, PAL_BUTTONS); + } + + // draw numbers and texts + for (i = 0; i < 8; i++) + { + hexOut(424, 5 + (i * 11), PAL_FORGRND, 1 + editor.instrBankOffset + i, 2); + drawTextBox(TB_INST1 + i); + } + + // SAMPLES + + clearRect(424, 99, 15, 54); // src sample + clearRect(446, 99, 115, 54); // main sample + + // draw source sample selection + if (editor.srcSmp >= editor.sampleBankOffset && editor.srcSmp <= editor.sampleBankOffset+4) + { + y = 99 + ((editor.srcSmp - editor.sampleBankOffset) * 11); + if (y >= 36 && y <= 143) + fillRect(424, y, 15, 10, PAL_BUTTONS); + } + + // draw destination sample selection + if (editor.curSmp >= editor.sampleBankOffset && editor.curSmp <= editor.sampleBankOffset+4) + { + y = 99 + ((editor.curSmp - editor.sampleBankOffset) * 11); + if (y >= 36 && y <= 143) + fillRect(446, y, 115, 10, PAL_BUTTONS); + } + + // draw numbers and texts + for (i = 0; i < 5; i++) + { + hexOut(424, 99 + (i * 11), PAL_FORGRND, editor.sampleBankOffset + i, 2); + drawTextBox(TB_SAMP1 + i); + } + } +} + +void showInstrumentSwitcher(void) +{ + uint16_t i; + + if (!editor.ui.instrSwitcherShown) + return; + + for (i = 0; i < 8; i++) + showTextBox(TB_INST1 + i); + + if (editor.ui.extended) + { + hidePushButton(PB_SAMPLE_LIST_UP); + hidePushButton(PB_SAMPLE_LIST_DOWN); + hideScrollBar(SB_SAMPLE_LIST); + + drawFramework(386, 0, 246, 3, FRAMEWORK_TYPE1); + drawFramework(506, 3, 3, 47, FRAMEWORK_TYPE1); + drawFramework(386, 50, 246, 3, FRAMEWORK_TYPE1); + drawFramework(629, 3, 3, 47, FRAMEWORK_TYPE1); + + clearRect(386, 3, 120, 47); + clearRect(509, 3, 120, 47); + } + else + { + drawFramework(421, 0, 166, 3, FRAMEWORK_TYPE1); + drawFramework(442, 3, 3, 91, FRAMEWORK_TYPE1); + drawFramework(421, 94, 166, 3, FRAMEWORK_TYPE1); + drawFramework(442, 97, 3, 58, FRAMEWORK_TYPE1); + drawFramework(563, 97, 24, 58, FRAMEWORK_TYPE1); + drawFramework(587, 0, 45, 71, FRAMEWORK_TYPE1); + drawFramework(587, 71, 45, 71, FRAMEWORK_TYPE1); + drawFramework(587, 142, 45, 31, FRAMEWORK_TYPE1); + + fillRect(421, 3, 21, 91, PAL_BCKGRND); + fillRect(445, 3, 142, 91, PAL_BCKGRND); + fillRect(421, 97, 21, 58, PAL_BCKGRND); + fillRect(445, 97, 118, 58, PAL_BCKGRND); + + showPushButton(PB_SAMPLE_LIST_UP); + showPushButton(PB_SAMPLE_LIST_DOWN); + showScrollBar(SB_SAMPLE_LIST); + + for (i = 0; i < 5; i++) + showTextBox(TB_SAMP1 + i); + } + + updateInstrumentSwitcher(); + + for (i = 0; i < 8; i++) + showPushButton(PB_RANGE1 + i + (editor.instrBankSwapped * 8)); + + showPushButton(PB_SWAP_BANK); +} + +void hideInstrumentSwitcher(void) +{ + uint8_t i; + + for (i = 0; i < 16; i++) + hidePushButton(PB_RANGE1 + i); + + hidePushButton(PB_SWAP_BANK); + hidePushButton(PB_SAMPLE_LIST_UP); + hidePushButton(PB_SAMPLE_LIST_DOWN); + hideScrollBar(SB_SAMPLE_LIST); + + for (i = 0; i < 8; i++) + hideTextBox(TB_INST1 + i); + + for (i = 0; i < 5; i++) + hideTextBox(TB_SAMP1 + i); +} + +void pbSwapInstrBank(void) +{ + editor.instrBankSwapped ^= 1; + + if (editor.instrBankSwapped) + editor.instrBankOffset += (8 * 8); + else + editor.instrBankOffset -= (8 * 8); + + updateTextBoxPointers(); + + if (editor.ui.instrSwitcherShown) + { + updateInstrumentSwitcher(); + for (uint16_t i = 0; i < 8; i++) + { + hidePushButton(PB_RANGE1 + i + (!editor.instrBankSwapped * 8)); + showPushButton(PB_RANGE1 + i + ( editor.instrBankSwapped * 8)); + } + } +} + +void pbSetInstrBank1(void) +{ + editor.instrBankOffset = 0 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank2(void) +{ + editor.instrBankOffset = 1 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank3(void) +{ + editor.instrBankOffset = 2 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank4(void) +{ + editor.instrBankOffset = 3 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank5(void) +{ + editor.instrBankOffset = 4 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank6(void) +{ + editor.instrBankOffset = 5 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank7(void) +{ + editor.instrBankOffset = 6 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank8(void) +{ + editor.instrBankOffset = 7 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank9(void) +{ + editor.instrBankOffset = 8 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank10(void) +{ + editor.instrBankOffset = 9 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank11(void) +{ + editor.instrBankOffset = 10 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank12(void) +{ + editor.instrBankOffset = 11 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank13(void) +{ + editor.instrBankOffset = 12 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank14(void) +{ + editor.instrBankOffset = 13 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank15(void) +{ + editor.instrBankOffset = 14 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void pbSetInstrBank16(void) +{ + editor.instrBankOffset = 15 * 8; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); +} + +void setNewInstr(int16_t ins) +{ + if (ins <= MAX_INST) + { + editor.curInstr = (uint8_t)ins; + updateTextBoxPointers(); + updateInstrumentSwitcher(); + updateNewInstrument(); + } +} + +void sampleListScrollUp(void) +{ + scrollBarScrollUp(SB_SAMPLE_LIST, 1); +} + +void sampleListScrollDown(void) +{ + scrollBarScrollDown(SB_SAMPLE_LIST, 1); +} + +static void zapSong(void) +{ + lockMixerCallback(); + + song.len = 1; + song.repS = 0; // Silly: FT2 doesn't do this! + song.speed = 125; + song.tempo = 6; + song.songPos = 0; + song.globVol = 64; + + memset(song.name, 0, sizeof (song.name)); + memset(song.songTab, 0, sizeof (song.songTab)); + + // zero all pattern data and reset pattern lengths + + freeAllPatterns(); + for (uint16_t i = 0; i < MAX_PATTERNS; i++) + pattLens[i] = 64; + song.pattLen = pattLens[song.pattNr]; + + resetMusic(); + setSpeed(song.speed); + + editor.songPos = song.songPos; + editor.editPattern = song.pattNr; + editor.speed = song.speed; + editor.tempo = song.tempo; + editor.globalVol = song.globVol; + editor.timer = 1; + + if (songPlaying) + song.musicTime = 0; + + setFrqTab(true); + + clearPattMark(); + resetWavRenderer(); + resetChannels(); + unlockMixerCallback(); + + setScrollBarPos(SB_POS_ED, 0, false); + setScrollBarEnd(SB_POS_ED, (song.len - 1) + 5); + + updateWindowTitle(true); +} + +static void zapInstrs(void) +{ + lockMixerCallback(); + + for (int16_t i = 1; i <= MAX_INST; i++) + { + freeInstr(i); + memset(song.instrName[i], 0, 22 + 1); + } + + updateNewInstrument(); + + editor.currVolEnvPoint = 0; + editor.currPanEnvPoint = 0; + + updateSampleEditorSample(); + + if (editor.ui.sampleEditorShown) + updateSampleEditor(); + else if (editor.ui.instEditorShown || editor.ui.instEditorExtShown) + updateInstEditor(); + + unlockMixerCallback(); +} + +void pbZap(void) +{ + int16_t choice = okBox(4, "System request", "Total devastation of the..."); + + if (choice == 1) // zap all + { + zapSong(); + zapInstrs(); + } + else if (choice == 2) // zap song + { + zapSong(); + } + else if (choice == 3) // zap instruments + { + zapInstrs(); + } + + if (choice >= 1 && choice <= 3) + { + // redraw top screens + hideTopScreen(); + showTopScreen(true); + + setSongModifiedFlag(); + } +} + +void sbSmpBankPos(uint32_t pos) +{ + if (editor.sampleBankOffset != pos) + { + editor.sampleBankOffset = (uint8_t)pos; + + updateTextBoxPointers(); + updateInstrumentSwitcher(); + } +} + +void pbToggleLogo(void) +{ + config.id_FastLogo ^= 1; + changeLogoType(config.id_FastLogo); +} + +void pbToggleBadge(void) +{ + config.id_TritonProd ^= 1; + changeBadgeType(config.id_TritonProd); +} + +void resetChannelOffset(void) +{ + editor.ui.pattChanScrollShown = song.antChn > getMaxVisibleChannels(); + editor.cursor.object = CURSOR_NOTE; + editor.cursor.ch = 0; + setScrollBarPos(SB_CHAN_SCROLL, 0, true); + editor.ui.channelOffset = 0; +} + +void shrinkPattern(void) +{ + uint16_t nr, pattLen; + tonTyp *pattPtr; + + if (okBox(2, "System request", "Shrink pattern?") != 1) + return; + + nr = editor.editPattern; + + pattLen = pattLens[nr]; + if (pattLen > 1) + { + lockMixerCallback(); + + pattPtr = patt[nr]; + if (pattPtr != NULL) + { + for (uint16_t i = 0; i < pattLen/2; i++) + { + for (uint16_t j = 0; j < MAX_VOICES; j++) + pattPtr[(i * MAX_VOICES) + j] = pattPtr[((i * 2) * MAX_VOICES) + j]; + } + } + + pattLens[nr] /= 2; + + if (song.pattNr == nr) + song.pattLen = pattLens[nr]; + + song.pattPos /= 2; + if (song.pattPos >= pattLens[nr]) + song.pattPos = pattLens[nr] - 1; + + editor.pattPos = song.pattPos; + + editor.ui.updatePatternEditor = true; + editor.ui.updatePosSections = true; + + unlockMixerCallback(); + setSongModifiedFlag(); + } +} + +void expandPattern(void) +{ + uint16_t nr, pattLen; + tonTyp *tmpPtn; + + nr = editor.editPattern; + + pattLen = pattLens[nr]; + if (pattLen > 128) + { + okBox(0, "System message", "Pattern is too long to be expanded."); + } + else + { + lockMixerCallback(); + + if (patt[nr] != NULL) + { + tmpPtn = (tonTyp *)malloc((pattLen * 2) * TRACK_WIDTH); + if (tmpPtn == NULL) + { + unlockMixerCallback(); + okBox(0, "System message", "Not enough memory!"); + return; + } + + for (uint16_t i = 0; i < pattLen; i++) + { + for (uint16_t j = 0; j < MAX_VOICES; j++) + tmpPtn[((i * 2) * MAX_VOICES) + j] = patt[nr][(i * MAX_VOICES) + j]; + + memset(&tmpPtn[((i * 2) + 1) * MAX_VOICES], 0, TRACK_WIDTH); + } + + free(patt[nr]); + patt[nr] = tmpPtn; + } + + pattLens[nr] *= 2; + + if (song.pattNr == nr) + song.pattLen = pattLens[nr]; + + song.pattPos *= 2; + if (song.pattPos >= pattLens[nr]) + song.pattPos = pattLens[nr] - 1; + + editor.pattPos = song.pattPos; + + editor.ui.updatePatternEditor = true; + editor.ui.updatePosSections = true; + + unlockMixerCallback(); + setSongModifiedFlag(); + } +} diff --git a/src/ft2_pattern_ed.h b/src/ft2_pattern_ed.h index 411ad90..4584cfc 100644 --- a/src/ft2_pattern_ed.h +++ b/src/ft2_pattern_ed.h @@ -1,171 +1,170 @@ -#pragma once - -#include -#include -#include "ft2_unicode.h" - -enum -{ - VOLUME_COLUMN_HIDDEN = 0, - VOLUME_COLUMN_SHOWN = 1, - - TRANSP_ALL_INST = 0, - TRANSP_CUR_INST = 1, - - TRANSP_TRACK = 0, - TRANSP_PATT = 1, - TRANSP_SONG = 2, - TRANSP_BLOCK = 3 -}; - -typedef struct trackHeaderType_t -{ - uint16_t ver, len; -} trackHeaderType; - -typedef struct patternHeaderType_t -{ - uint16_t ver, len; -} patternHeaderType; - -typedef struct pattCoord_t -{ - uint16_t upperRowsY, lowerRowsY; - uint16_t upperRowsTextY, midRowTextY, lowerRowsTextY; - uint16_t numUpperRows, numLowerRows; -} pattCoord_t; - -typedef struct pattCoord2_t -{ - uint16_t upperRowsY, lowerRowsY; - uint16_t upperRowsH, lowerRowsH; -} pattCoord2_t; - -typedef struct pattCoordsMouse_t -{ - uint16_t upperRowsY, midRowY, lowerRowsY; - uint16_t numUpperRows; -} pattCoordsMouse_t; - -typedef struct markCoord_t -{ - uint16_t upperRowsY, midRowY, lowerRowsY; -} markCoord_t; - -struct pattMark_t -{ - int16_t markX1, markX2, markY1, markY2; -} pattMark; - -bool allocatePattern(uint16_t nr); -void killPatternIfUnused(uint16_t nr); -uint8_t getMaxVisibleChannels(void); -void updatePatternWidth(void); -void updateAdvEdit(void); -void drawAdvEdit(void); -void hideAdvEdit(void); -void showAdvEdit(void); -void toggleAdvEdit(void); -void cursorTabLeft(void); -void cursorTabRight(void); -void cursorChannelLeft(void); -void cursorChannelRight(void); -void cursorLeft(void); -void cursorRight(void); -void chanLeft(void); -void chanRight(void); -void writePattern(int16_t currRow, int16_t pattern); -void showPatternEditor(void); -void updateInstrumentSwitcher(void); -void hidePatternEditor(void); -void patternEditorExtended(void); -void exitPatternEditorExtended(void); -void clearPattMark(void); -void checkMarkLimits(void); -void handlePatternDataMouseDown(bool mouseButtonHeld); -void togglePatternEditorExtended(void); -void rowOneUpWrap(void); -void rowOneDownWrap(void); -void rowUp(uint16_t amount); -void rowDown(uint16_t amount); -void keybPattMarkUp(void); -void keybPattMarkDown(void); -void keybPattMarkLeft(void); -void keybPattMarkRight(void); -void drawTranspose(void); -void showTranspose(void); -void hideTranspose(void); -void toggleTranspose(void); -bool loadTrack(UNICHAR *filenameU); -bool saveTrack(UNICHAR *filenameU); -bool loadPattern(UNICHAR *filenameU); -bool savePattern(UNICHAR *filenameU); -void scrollChannelLeft(void); -void scrollChannelRight(void); -void setChannelScrollPos(uint32_t pos); -void jumpToChannel(uint8_t channel); // for ALT+q..i ALT+a..k -void sbPosEdPos(uint32_t pos); -void pbPosEdPosUp(void); -void pbPosEdPosDown(void); -void pbPosEdIns(void); -void pbPosEdDel(void); -void pbPosEdPattUp(void); -void pbPosEdPattDown(void); -void pbPosEdLenUp(void); -void pbPosEdLenDown(void); -void pbPosEdRepSUp(void); -void pbPosEdRepSDown(void); -void pbBPMUp(void); -void pbBPMDown(void); -void pbSpeedUp(void); -void pbSpeedDown(void); -void pbIncAdd(void); -void pbDecAdd(void); -void pbAddChan(void); -void pbSubChan(void); -void pbEditPattUp(void); -void pbEditPattDown(void); -void pbPattLenUp(void); -void pbPattLenDown(void); -void drawPosEdNums(int16_t songPos); -void drawSongLength(void); -void drawSongRepS(void); -void drawSongBPM(uint16_t val); -void drawSongSpeed(uint16_t val); -void drawEditPattern(uint16_t editPattern); -void drawPatternLength(uint16_t editPattern); -void drawGlobalVol(int16_t globalVol); -void drawIDAdd(void); -void drawPlaybackTime(void); -void drawSongName(void); -void showInstrumentSwitcher(void); -void hideInstrumentSwitcher(void); -void changeLogoType(uint8_t logoType); -void changeBadgeType(uint8_t badgeType); -void resetChannelOffset(void); -void shrinkPattern(void); -void expandPattern(void); -void pbSwapInstrBank(void); -void pbSetInstrBank1(void); -void pbSetInstrBank2(void); -void pbSetInstrBank3(void); -void pbSetInstrBank4(void); -void pbSetInstrBank5(void); -void pbSetInstrBank6(void); -void pbSetInstrBank7(void); -void pbSetInstrBank8(void); -void pbSetInstrBank9(void); -void pbSetInstrBank10(void); -void pbSetInstrBank11(void); -void pbSetInstrBank12(void); -void pbSetInstrBank13(void); -void pbSetInstrBank14(void); -void pbSetInstrBank15(void); -void pbSetInstrBank16(void); -void setNewInstr(int16_t ins); -void sampleListScrollUp(void); -void sampleListScrollDown(void); -void pbZap(void); -void sbSmpBankPos(uint32_t pos); -void pbToggleLogo(void); -void pbToggleBadge(void); +#pragma once + +#include +#include +#include "ft2_unicode.h" + +enum +{ + VOLUME_COLUMN_HIDDEN = 0, + VOLUME_COLUMN_SHOWN = 1, + + TRANSP_ALL_INST = 0, + TRANSP_CUR_INST = 1, + + TRANSP_TRACK = 0, + TRANSP_PATT = 1, + TRANSP_SONG = 2, + TRANSP_BLOCK = 3 +}; + +typedef struct trackHeaderType_t +{ + uint16_t ver, len; +} trackHeaderType; + +typedef struct patternHeaderType_t +{ + uint16_t ver, len; +} patternHeaderType; + +typedef struct pattCoord_t +{ + uint16_t upperRowsY, lowerRowsY; + uint16_t upperRowsTextY, midRowTextY, lowerRowsTextY; + uint16_t numUpperRows, numLowerRows; +} pattCoord_t; + +typedef struct pattCoord2_t +{ + uint16_t upperRowsY, lowerRowsY; + uint16_t upperRowsH, lowerRowsH; +} pattCoord2_t; + +typedef struct pattCoordsMouse_t +{ + uint16_t upperRowsY, midRowY, lowerRowsY; + uint16_t numUpperRows; +} pattCoordsMouse_t; + +typedef struct markCoord_t +{ + uint16_t upperRowsY, midRowY, lowerRowsY; +} markCoord_t; + +struct pattMark_t +{ + int16_t markX1, markX2, markY1, markY2; +} pattMark; + +bool allocatePattern(uint16_t nr); +void killPatternIfUnused(uint16_t nr); +uint8_t getMaxVisibleChannels(void); +void updatePatternWidth(void); +void updateAdvEdit(void); +void drawAdvEdit(void); +void hideAdvEdit(void); +void showAdvEdit(void); +void toggleAdvEdit(void); +void cursorTabLeft(void); +void cursorTabRight(void); +void cursorChannelLeft(void); +void cursorChannelRight(void); +void cursorLeft(void); +void cursorRight(void); +void chanLeft(void); +void chanRight(void); +void showPatternEditor(void); +void updateInstrumentSwitcher(void); +void hidePatternEditor(void); +void patternEditorExtended(void); +void exitPatternEditorExtended(void); +void clearPattMark(void); +void checkMarkLimits(void); +void handlePatternDataMouseDown(bool mouseButtonHeld); +void togglePatternEditorExtended(void); +void rowOneUpWrap(void); +void rowOneDownWrap(void); +void rowUp(uint16_t amount); +void rowDown(uint16_t amount); +void keybPattMarkUp(void); +void keybPattMarkDown(void); +void keybPattMarkLeft(void); +void keybPattMarkRight(void); +void drawTranspose(void); +void showTranspose(void); +void hideTranspose(void); +void toggleTranspose(void); +bool loadTrack(UNICHAR *filenameU); +bool saveTrack(UNICHAR *filenameU); +bool loadPattern(UNICHAR *filenameU); +bool savePattern(UNICHAR *filenameU); +void scrollChannelLeft(void); +void scrollChannelRight(void); +void setChannelScrollPos(uint32_t pos); +void jumpToChannel(uint8_t channel); // for ALT+q..i ALT+a..k +void sbPosEdPos(uint32_t pos); +void pbPosEdPosUp(void); +void pbPosEdPosDown(void); +void pbPosEdIns(void); +void pbPosEdDel(void); +void pbPosEdPattUp(void); +void pbPosEdPattDown(void); +void pbPosEdLenUp(void); +void pbPosEdLenDown(void); +void pbPosEdRepSUp(void); +void pbPosEdRepSDown(void); +void pbBPMUp(void); +void pbBPMDown(void); +void pbSpeedUp(void); +void pbSpeedDown(void); +void pbIncAdd(void); +void pbDecAdd(void); +void pbAddChan(void); +void pbSubChan(void); +void pbEditPattUp(void); +void pbEditPattDown(void); +void pbPattLenUp(void); +void pbPattLenDown(void); +void drawPosEdNums(int16_t songPos); +void drawSongLength(void); +void drawSongRepS(void); +void drawSongBPM(uint16_t val); +void drawSongSpeed(uint16_t val); +void drawEditPattern(uint16_t editPattern); +void drawPatternLength(uint16_t editPattern); +void drawGlobalVol(int16_t globalVol); +void drawIDAdd(void); +void drawPlaybackTime(void); +void drawSongName(void); +void showInstrumentSwitcher(void); +void hideInstrumentSwitcher(void); +void changeLogoType(uint8_t logoType); +void changeBadgeType(uint8_t badgeType); +void resetChannelOffset(void); +void shrinkPattern(void); +void expandPattern(void); +void pbSwapInstrBank(void); +void pbSetInstrBank1(void); +void pbSetInstrBank2(void); +void pbSetInstrBank3(void); +void pbSetInstrBank4(void); +void pbSetInstrBank5(void); +void pbSetInstrBank6(void); +void pbSetInstrBank7(void); +void pbSetInstrBank8(void); +void pbSetInstrBank9(void); +void pbSetInstrBank10(void); +void pbSetInstrBank11(void); +void pbSetInstrBank12(void); +void pbSetInstrBank13(void); +void pbSetInstrBank14(void); +void pbSetInstrBank15(void); +void pbSetInstrBank16(void); +void setNewInstr(int16_t ins); +void sampleListScrollUp(void); +void sampleListScrollDown(void); +void pbZap(void); +void sbSmpBankPos(uint32_t pos); +void pbToggleLogo(void); +void pbToggleBadge(void); diff --git a/src/ft2_pushbuttons.c b/src/ft2_pushbuttons.c index b860ce7..5b999cd 100644 --- a/src/ft2_pushbuttons.c +++ b/src/ft2_pushbuttons.c @@ -1,632 +1,634 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include "ft2_header.h" -#include "ft2_gui.h" -#include "ft2_about.h" -#include "ft2_video.h" -#include "ft2_config.h" -#include "ft2_audioselector.h" -#include "ft2_audio.h" -#include "ft2_help.h" -#include "ft2_sample_ed.h" -#include "ft2_nibbles.h" -#include "ft2_inst_ed.h" -#include "ft2_pattern_ed.h" -#include "ft2_sample_loader.h" -#include "ft2_diskop.h" -#include "ft2_wav_renderer.h" -#include "ft2_trim.h" -#include "ft2_sampling.h" -#include "ft2_module_loader.h" -#include "ft2_midi.h" -#include "ft2_midi.h" -#include "ft2_mouse.h" -#include "ft2_edit.h" -#include "ft2_sample_ed_features.h" -#include "ft2_palette.h" - -pushButton_t pushButtons[NUM_PUSHBUTTONS] = -{ - // ------ RESERVED PUSHBUTTONS ------ - { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, - - /* - ** -- STRUCT INFO: -- - ** x = x position - ** y = y position - ** w = width - ** h = height - ** p (0,1,2) = button delay after the first trigger (f.ex. used on scrollbar buttons) - ** 0 = no delay, 1 = normal delay, 2 = two-phase delay - ** d = function call repeat delay while button is being held down (number of frames) - ** text #1 = text line #1 - ** text #2 = text line #2 (if present, it will be rendered below text #1) - ** funcOnDown = function to call when pressed - ** funcOnUp = function to call when released - */ - - // ------ POSITION EDITOR PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 55, 2, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbPosEdPosDown, NULL }, - { 55, 36, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbPosEdPosUp, NULL }, - { 74, 2, 35, 16, 1, 6, "Ins.", NULL, pbPosEdIns, NULL }, - { 74, 19, 18, 13, 1, 6, ARROW_UP_STRING, NULL, pbPosEdPattUp, NULL }, - { 91, 19, 18, 13, 1, 6, ARROW_DOWN_STRING, NULL, pbPosEdPattDown, NULL }, - { 74, 33, 35, 16, 1, 6, "Del.", NULL, pbPosEdDel, NULL }, - { 74, 50, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbPosEdLenUp, NULL }, - { 91, 50, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbPosEdLenDown, NULL }, - { 74, 62, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbPosEdRepSUp, NULL }, - { 91, 62, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbPosEdRepSDown, NULL }, - - // ------ SONG/PATTERN PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 168, 34, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbBPMUp, NULL }, - { 185, 34, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbBPMDown, NULL }, - { 168, 48, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbSpeedUp, NULL }, - { 185, 48, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbSpeedDown, NULL }, - { 168, 62, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbIncAdd, NULL }, - { 185, 62, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbDecAdd, NULL }, - { 253, 34, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbEditPattUp, NULL }, - { 270, 34, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbEditPattDown, NULL }, - { 253, 48, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbPattLenUp, NULL }, - { 270, 48, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbPattLenDown, NULL }, - { 209, 62, 40, 13, 0, 0, "Expd.", NULL, NULL, expandPattern }, - { 248, 62, 40, 13, 0, 0, "Srnk.", NULL, NULL, shrinkPattern }, - - // ------ LOGO PUSHBUTTON ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 112, 0, 154, 32, 0, 0, NULL, NULL, NULL, pbToggleLogo }, - { 266, 0, 25, 32, 0, 0, NULL, NULL, NULL, pbToggleBadge }, - - // ------ MAIN SCREEN PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 294, 2, 59, 16, 0, 0, "About", NULL, NULL, showAboutScreen }, - { 294, 19, 59, 16, 0, 0, "Nibbles", NULL, NULL, pbNibbles }, - { 294, 36, 59, 16, 0, 0, "Zap", NULL, NULL, pbZap }, - { 294, 53, 59, 16, 0, 0, "Trim", NULL, NULL, toggleTrimScreen }, - { 294, 70, 59, 16, 0, 0, "Extend", NULL, NULL, patternEditorExtended }, - { 294, 87, 59, 16, 0, 0, "Transps.", NULL, NULL, toggleTranspose }, - { 294, 104, 59, 16, 0, 0, "I.E.Ext.", NULL, NULL, toggleInstEditorExt }, - { 294, 121, 59, 16, 0, 0, "S.E.Ext.", NULL, NULL, toggleSampleEditorExt }, - { 294, 138, 59, 16, 0, 0, "Adv. Edit", NULL, NULL, toggleAdvEdit }, - { 294, 155, 30, 16, 0, 0, "Add", NULL, NULL, pbAddChan }, - { 323, 155, 30, 16, 0, 0, "Sub", NULL, NULL, pbSubChan }, - { 359, 2, 59, 16, 0, 0, "Play sng.", NULL, NULL, pbPlaySong }, - { 359, 19, 59, 16, 0, 0, "Play ptn.", NULL, NULL, pbPlayPtn }, - { 359, 36, 59, 16, 0, 0, "Stop", NULL, NULL, stopPlaying }, - { 359, 53, 59, 16, 0, 0, "Rec. sng.", NULL, NULL, pbRecSng }, - { 359, 70, 59, 16, 0, 0, "Rec. ptn.", NULL, NULL, pbRecPtn }, - { 359, 87, 59, 16, 0, 0, "Disk op.", NULL, NULL, toggleDiskOpScreen }, - { 359, 104, 59, 16, 0, 0, "Instr. Ed.", NULL, NULL, toggleInstEditor }, - { 359, 121, 59, 16, 0, 0, "Smp. Ed.", NULL, NULL, toggleSampleEditor }, - { 359, 138, 59, 16, 0, 0, "Config", NULL, NULL, showConfigScreen }, - { 359, 155, 59, 16, 0, 0, "Help", NULL, NULL, showHelpScreen }, - { 115, 35, 46, 16, 0, 0, "Exit", NULL, NULL, exitPatternEditorExtended }, - - // ------ INSTRUMENT SWITCHER PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 590, 2, 39, 16, 0, 0, "01-08", NULL, NULL, pbSetInstrBank1 }, - { 590, 19, 39, 16, 0, 0, "09-10", NULL, NULL, pbSetInstrBank2 }, - { 590, 36, 39, 16, 0, 0, "11-18", NULL, NULL, pbSetInstrBank3 }, - { 590, 53, 39, 16, 0, 0, "19-20", NULL, NULL, pbSetInstrBank4 }, - { 590, 73, 39, 16, 0, 0, "21-28", NULL, NULL, pbSetInstrBank5 }, - { 590, 90, 39, 16, 0, 0, "29-30", NULL, NULL, pbSetInstrBank6 }, - { 590, 107, 39, 16, 0, 0, "31-38", NULL, NULL, pbSetInstrBank7 }, - { 590, 124, 39, 16, 0, 0, "39-40", NULL, NULL, pbSetInstrBank8 }, - { 590, 2, 39, 16, 0, 0, "41-48", NULL, NULL, pbSetInstrBank9 }, - { 590, 19, 39, 16, 0, 0, "49-50", NULL, NULL, pbSetInstrBank10 }, - { 590, 36, 39, 16, 0, 0, "51-58", NULL, NULL, pbSetInstrBank11 }, - { 590, 53, 39, 16, 0, 0, "59-60", NULL, NULL, pbSetInstrBank12 }, - { 590, 73, 39, 16, 0, 0, "61-68", NULL, NULL, pbSetInstrBank13,}, - { 590, 90, 39, 16, 0, 0, "69-70", NULL, NULL, pbSetInstrBank14 }, - { 590, 107, 39, 16, 0, 0, "71-78", NULL, NULL, pbSetInstrBank15 }, - { 590, 124, 39, 16, 0, 0, "79-80", NULL, NULL, pbSetInstrBank16 }, - { 590, 144, 39, 27, 0, 0, "Swap", "Bank", NULL, pbSwapInstrBank }, - { 566, 99, 18, 13, 1, 4, ARROW_UP_STRING, NULL, sampleListScrollUp, NULL }, - { 566, 140, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, sampleListScrollDown, NULL }, - - // ------ NIBBLES SCREEN PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 568, 104, 61, 16, 0, 0, "Play", NULL, NULL, nibblesPlay }, - { 568, 121, 61, 16, 0, 0, "Help", NULL, NULL, nibblesHelp }, - { 568, 138, 61, 16, 0, 0, "Highs", NULL, NULL, nibblesHighScore }, - { 568, 155, 61, 16, 0, 0, "Exit", NULL, NULL, nibblesExit }, - - // ------ ADVANCED EDIT PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 3, 138, 51, 16, 0, 0, "Track", NULL, NULL, remapTrack }, - { 55, 138, 52, 16, 0, 0, "Pattern", NULL, NULL, remapPattern }, - { 3, 155, 51, 16, 0, 0, "Song", NULL, NULL, remapSong }, - { 55, 155, 52, 16, 0, 0, "Block", NULL, NULL, remapBlock }, - - // ------ ABOUT SCREEN PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 5, 153, 59, 16, 0, 0, "Exit", NULL, NULL, exitAboutScreen }, - - // ------ HELP SCREEN PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 3, 155, 59, 16, 0, 0, "Exit", NULL, NULL, exitHelpScreen }, - { 611, 2, 18, 13, 0, 0, ARROW_UP_STRING, NULL, helpScrollUp, NULL }, - { 611, 158, 18, 13, 0, 0, ARROW_DOWN_STRING, NULL, helpScrollDown, NULL }, - - // ------ PATTERN EDITOR PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 3, 385, 25, 13, 1, 4, ARROW_LEFT_STRING, NULL, scrollChannelLeft, NULL }, - { 604, 385, 25, 13, 1, 4, ARROW_RIGHT_STRING, NULL, scrollChannelRight, NULL }, - - // ------ TRANSPOSE PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1,text #2, funcOnDown, funcOnUp - { 56, 110, 21, 16, 0, 0, "up", NULL, NULL, trackTranspCurInsUp }, - { 76, 110, 21, 16, 0, 0, "dn", NULL, NULL, trackTranspCurInsDn }, - { 98, 110, 36, 16, 0, 0, "12up", NULL, NULL, trackTranspCurIns12Up }, - { 133, 110, 36, 16, 0, 0, "12dn", NULL, NULL, trackTranspCurIns12Dn }, - { 175, 110, 21, 16, 0, 0, "up", NULL, NULL, trackTranspAllInsUp }, - { 195, 110, 21, 16, 0, 0, "dn", NULL, NULL, trackTranspAllInsDn }, - { 217, 110, 36, 16, 0, 0, "12up", NULL, NULL, trackTranspAllIns12Up }, - { 252, 110, 36, 16, 0, 0, "12dn", NULL, NULL, trackTranspAllIns12Dn }, - { 56, 125, 21, 16, 0, 0, "up", NULL, NULL, pattTranspCurInsUp }, - { 76, 125, 21, 16, 0, 0, "dn", NULL, NULL, pattTranspCurInsDn }, - { 98, 125, 36, 16, 0, 0, "12up", NULL, NULL, pattTranspCurIns12Up }, - { 133, 125, 36, 16, 0, 0, "12dn", NULL, NULL, pattTranspCurIns12Dn }, - { 175, 125, 21, 16, 0, 0, "up", NULL, NULL, pattTranspAllInsUp }, - { 195, 125, 21, 16, 0, 0, "dn", NULL, NULL, pattTranspAllInsDn }, - { 217, 125, 36, 16, 0, 0, "12up", NULL, NULL, pattTranspAllIns12Up }, - { 252, 125, 36, 16, 0, 0, "12dn", NULL, NULL, pattTranspAllIns12Dn }, - { 56, 140, 21, 16, 0, 0, "up", NULL, NULL, songTranspCurInsUp }, - { 76, 140, 21, 16, 0, 0, "dn", NULL, NULL, songTranspCurInsDn }, - { 98, 140, 36, 16, 0, 0, "12up", NULL, NULL, songTranspCurIns12Up }, - { 133, 140, 36, 16, 0, 0, "12dn", NULL, NULL, songTranspCurIns12Dn }, - { 175, 140, 21, 16, 0, 0, "up", NULL, NULL, songTranspAllInsUp }, - { 195, 140, 21, 16, 0, 0, "dn", NULL, NULL, songTranspAllInsDn }, - { 217, 140, 36, 16, 0, 0, "12up", NULL, NULL, songTranspAllIns12Up }, - { 252, 140, 36, 16, 0, 0, "12dn", NULL, NULL, songTranspAllIns12Dn }, - { 56, 155, 21, 16, 0, 0, "up", NULL, NULL, blockTranspCurInsUp }, - { 76, 155, 21, 16, 0, 0, "dn", NULL, NULL, blockTranspCurInsDn }, - { 98, 155, 36, 16, 0, 0, "12up", NULL, NULL, blockTranspCurIns12Up }, - { 133, 155, 36, 16, 0, 0, "12dn", NULL, NULL, blockTranspCurIns12Dn }, - { 175, 155, 21, 16, 0, 0, "up", NULL, NULL, blockTranspAllInsUp }, - { 195, 155, 21, 16, 0, 0, "dn", NULL, NULL, blockTranspAllInsDn }, - { 217, 155, 36, 16, 0, 0, "12up", NULL, NULL, blockTranspAllIns12Up }, - { 252, 155, 36, 16, 0, 0, "12dn", NULL, NULL, blockTranspAllIns12Dn }, - - // ------ SAMPLE EDITOR PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 3, 331, 23, 13, 0, 0, ARROW_LEFT_STRING, NULL, scrollSampleDataLeft, NULL }, - { 606, 331, 23, 13, 0, 0, ARROW_RIGHT_STRING, NULL, scrollSampleDataRight, NULL }, - { 38, 356, 18, 13, 1, 4, ARROW_UP_STRING, NULL, sampPlayNoteUp, NULL }, - { 38, 368, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, sampPlayNoteDown, NULL }, - { 3, 382, 53, 16, 0, 0, "Stop", NULL, NULL, smpEdStop}, - { 57, 348, 55, 16, 0, 0, "Wave", NULL, NULL, sampPlayWave }, - { 57, 365, 55, 16, 0, 0, "Range", NULL, NULL, sampPlayRange }, - { 57, 382, 55, 16, 0, 0, "Display", NULL, NULL, sampPlayDisplay }, - { 118, 348, 63, 16, 0, 0, "Show r.", NULL, NULL, showRange }, - { 118, 365, 63, 16, 0, 0, "Range all", NULL, NULL, rangeAll }, - { 118, 382, 63, 16, 0, 0, "Sample", NULL, NULL, startSampling }, - { 182, 348, 63, 16, 0, 0, "Zoom out", NULL, NULL, zoomOut }, - { 182, 365, 63, 16, 0, 0, "Show all", NULL, NULL, showAll }, - { 182, 382, 63, 16, 0, 0, "Save rng.", NULL, NULL, saveRange }, - { 251, 348, 43, 16, 0, 0, "Cut", NULL, NULL, sampCut }, - { 251, 365, 43, 16, 0, 0, "Copy", NULL, NULL, sampCopy }, - { 251, 382, 43, 16, 0, 0, "Paste", NULL, NULL, sampPaste }, - { 300, 348, 50, 16, 0, 0, "Crop", NULL, NULL, sampCrop }, - { 300, 365, 50, 16, 0, 0, "Volume", NULL, NULL, pbSampleVolume }, - { 300, 382, 50, 16, 0, 0, "X-Fade", NULL, NULL, sampXFade }, - { 430, 348, 54, 16, 0, 0, "Exit", NULL, NULL, exitSampleEditor }, - { 594, 348, 35, 13, 0, 0, "Clr S.", NULL, NULL, clearSample }, - { 594, 360, 35, 13, 0, 0, "Min.", NULL, NULL, sampMin }, - { 594, 373, 18, 13, 2, 4, ARROW_UP_STRING, NULL, sampRepeatUp, NULL }, - { 611, 373, 18, 13, 2, 4, ARROW_DOWN_STRING, NULL, sampRepeatDown, NULL }, - { 594, 385, 18, 13, 2, 4, ARROW_UP_STRING, NULL, sampReplenUp, NULL }, - { 611, 385, 18, 13, 2, 4, ARROW_DOWN_STRING, NULL, sampReplenDown, NULL }, - - // ------ SAMPLE EDITOR EXTENSION PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 3, 138, 52, 16, 0, 0, "Clr. c.bf", NULL, NULL, clearCopyBuffer }, - { 56, 138, 49, 16, 0, 0, "Conv", NULL, NULL, sampleConv }, - { 106, 138, 49, 16, 0, 0, "Echo", NULL, NULL, pbSampleEcho }, - { 3, 155, 52, 16, 0, 0, "Backw.", NULL, NULL, sampleBackwards }, - { 56, 155, 49, 16, 0, 0, "Conv W", NULL, NULL, sampleConvW }, - { 106, 155, 49, 16, 0, 0, "Fix DC", NULL, NULL, fixDC }, - { 161, 121, 60, 16, 0, 0, "Copy ins.", NULL, NULL, copyInstr }, - { 222, 121, 66, 16, 0, 0, "Copy smp.", NULL, NULL, copySmp }, - { 161, 138, 60, 16, 0, 0, "Xchg ins.", NULL, NULL, xchgInstr }, - { 222, 138, 66, 16, 0, 0, "Xchg smp.", NULL, NULL, xchgSmp }, - { 161, 155, 60, 16, 0, 0, "Resample", NULL, NULL, pbSampleResample }, - { 222, 155, 66, 16, 0, 0, "Mix smp.", NULL, NULL, pbSampleMix }, - - // ------ INSTRUMENT EDITOR PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 200, 175, 23, 12, 0, 0, SMALL_1_STRING, NULL, NULL, volPreDef1 }, - { 222, 175, 24, 12, 0, 0, SMALL_2_STRING, NULL, NULL, volPreDef2 }, - { 245, 175, 24, 12, 0, 0, SMALL_3_STRING, NULL, NULL, volPreDef3 }, - { 268, 175, 24, 12, 0, 0, SMALL_4_STRING, NULL, NULL, volPreDef4 }, - { 291, 175, 24, 12, 0, 0, SMALL_5_STRING, NULL, NULL, volPreDef5 }, - { 314, 175, 24, 12, 0, 0, SMALL_6_STRING, NULL, NULL, volPreDef6 }, - { 200, 262, 23, 12, 0, 0, SMALL_1_STRING, NULL, NULL, panPreDef1 }, - { 222, 262, 24, 12, 0, 0, SMALL_2_STRING, NULL, NULL, panPreDef2 }, - { 245, 262, 24, 12, 0, 0, SMALL_3_STRING, NULL, NULL, panPreDef3 }, - { 268, 262, 24, 12, 0, 0, SMALL_4_STRING, NULL, NULL, panPreDef4 }, - { 291, 262, 24, 12, 0, 0, SMALL_5_STRING, NULL, NULL, panPreDef5 }, - { 314, 262, 24, 12, 0, 0, SMALL_6_STRING, NULL, NULL, panPreDef6 }, - { 570, 276, 59, 16, 0, 0, "Exit", NULL, NULL, exitInstEditor }, - { 341, 175, 47, 16, 1, 4, "Add", NULL, volEnvAdd, NULL }, - { 389, 175, 46, 16, 1, 4, "Del", NULL, volEnvDel, NULL }, - { 398, 204, 19, 13, 1, 4, ARROW_UP_STRING, NULL, volEnvSusUp, NULL }, - { 416, 204, 19, 13, 1, 4, ARROW_DOWN_STRING, NULL, volEnvSusDown, NULL }, - { 398, 231, 19, 13, 1, 4, ARROW_UP_STRING, NULL, volEnvRepSUp, NULL }, - { 416, 231, 19, 13, 1, 4, ARROW_DOWN_STRING, NULL, volEnvRepSDown, NULL }, - { 398, 245, 19, 13, 1, 4, ARROW_UP_STRING, NULL, volEnvRepEUp, NULL }, - { 416, 245, 19, 13, 1, 4, ARROW_DOWN_STRING, NULL, volEnvRepEDown, NULL }, - { 341, 262, 47, 16, 1, 4, "Add", NULL, panEnvAdd, NULL }, - { 389, 262, 46, 16, 1, 4, "Del", NULL, panEnvDel, NULL }, - { 398, 291, 19, 13, 1, 4, ARROW_UP_STRING, NULL, panEnvSusUp, NULL }, - { 416, 291, 19, 13, 1, 4, ARROW_DOWN_STRING, NULL, panEnvSusDown, NULL }, - { 398, 318, 19, 13, 1, 4, ARROW_UP_STRING, NULL, panEnvRepSUp, NULL }, - { 416, 318, 19, 13, 1, 4, ARROW_DOWN_STRING, NULL, panEnvRepSDown, NULL }, - { 398, 332, 19, 13, 1, 4, ARROW_UP_STRING, NULL, panEnvRepEUp, NULL }, - { 416, 332, 19, 13, 1, 4, ARROW_DOWN_STRING, NULL, panEnvRepEDown, NULL }, - { 521, 175, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, volDown, NULL }, - { 606, 175, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, volUp, NULL }, - { 521, 189, 23, 13, 2, 4, ARROW_LEFT_STRING, NULL, panDown, NULL }, - { 606, 189, 23, 13, 2, 4, ARROW_RIGHT_STRING, NULL, panUp, NULL }, - { 521, 203, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, ftuneDown, NULL }, - { 606, 203, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, ftuneUp, NULL }, - { 521, 220, 23, 13, 2, 4, ARROW_LEFT_STRING, NULL, fadeoutDown, NULL }, - { 606, 220, 23, 13, 2, 4, ARROW_RIGHT_STRING, NULL, fadeoutUp, NULL }, - { 521, 234, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, vibSpeedDown, NULL }, - { 606, 234, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, vibSpeedUp, NULL }, - { 521, 248, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, vibDepthDown, NULL }, - { 606, 248, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, vibDepthUp, NULL }, - { 521, 262, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, vibSweepDown, NULL }, - { 606, 262, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, vibSweepUp, NULL }, - { 441, 312, 94, 16, 1, 4, "Octave up", NULL, relToneOctUp, NULL }, - { 536, 312, 93, 16, 1, 4, "Halftone up", NULL, relToneUp, NULL }, - { 441, 329, 94, 16, 1, 4, "Octave down", NULL, relToneOctDown, NULL }, - { 536, 329, 93, 16, 1, 4, "Halftone down", NULL, relToneDown, NULL }, - - // ------ INSTRUMENT EDITOR EXTENSION PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 172, 130, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, midiChDown, NULL }, - { 265, 130, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, midiChUp, NULL }, - { 172, 144, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, midiPrgDown, NULL }, - { 265, 144, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, midiPrgUp, NULL }, - { 172, 158, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, midiBendDown, NULL }, - { 265, 158, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, midiBendUp, NULL }, - - // ------ TRIM SCREEN PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 139, 155, 74, 16, 0, 0, "Calculate", NULL, NULL, pbTrimCalc }, - { 214, 155, 74, 16, 0, 0, "Trim", NULL, NULL, pbTrimDoTrim }, - - // ------ CONFIG LEFT PANEL PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 3, 104, 104, 16, 0, 0, "Reset config.", NULL, NULL, resetConfig }, - { 3, 121, 104, 16, 0, 0, "Load config.", NULL, NULL, loadConfig2 }, - { 3, 138, 104, 16, 0, 0, "Save config.", NULL, NULL, saveConfig2 }, - { 3, 155, 104, 16, 0, 0, "Exit", NULL, NULL, exitConfigScreen }, - - // ------ CONFIG AUDIO PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 326, 2, 57, 13, 0, 0, "Re-scan", NULL, NULL, rescanAudioDevices }, - { 365, 16, 18, 13, 1, 4, ARROW_UP_STRING, NULL, scrollAudOutputDevListUp, NULL }, - { 365, 72, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, scrollAudOutputDevListDown, NULL }, - { 365, 103, 18, 13, 1, 4, ARROW_UP_STRING, NULL, scrollAudInputDevListUp, NULL }, - { 365, 158, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, scrollAudInputDevListDown, NULL }, - { 508, 132, 21, 13, 1, 4, ARROW_LEFT_STRING, NULL, configAmpDown, NULL }, - { 608, 132, 21, 13, 1, 4, ARROW_RIGHT_STRING, NULL, configAmpUp, NULL }, - { 508, 158, 21, 13, 1, 0, ARROW_LEFT_STRING, NULL, configMasterVolDown, NULL }, - { 608, 158, 21, 13, 1, 0, ARROW_RIGHT_STRING, NULL, configMasterVolUp, NULL }, - - // ------ CONFIG LAYOUT PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 513, 15, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, configPalRDown, NULL }, - { 606, 15, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, configPalRUp, NULL }, - { 513, 29, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, configPalGDown, NULL }, - { 606, 29, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, configPalGUp, NULL }, - { 513, 43, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, configPalBDown, NULL }, - { 606, 43, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, configPalBUp, NULL }, - { 513, 71, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, configPalContDown, NULL }, - { 606, 71, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, configPalContUp, NULL }, - - // ------ CONFIG MISCELLANEOUS PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 113, 155, 93, 16, 0, 0, editor.ui.fullscreenButtonText, NULL, NULL, toggleFullScreen }, - { 370, 121, 18, 13, 1, 4, ARROW_UP_STRING, NULL, configQuantizeUp, NULL }, - { 387, 121, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, configQuantizeDown, NULL }, - { 594, 107, 18, 13, 1, 4, ARROW_UP_STRING, NULL, configMIDIChnUp, NULL }, - { 611, 107, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, configMIDIChnDown, NULL }, - { 594, 121, 18, 13, 1, 4, ARROW_UP_STRING, NULL, configMIDITransUp, NULL }, - { 611, 121, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, configMIDITransDown, NULL }, - { 556, 158, 22, 13, 1, 4, ARROW_LEFT_STRING, NULL, configMIDISensDown, NULL }, - { 607, 158, 22, 13, 1, 4, ARROW_RIGHT_STRING, NULL, configMIDISensUp, NULL }, - - // ------ CONFIG MIDI PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 483, 2, 18, 13, 1, 4, ARROW_UP_STRING, NULL, scrollMidiInputDevListUp, NULL }, - { 483, 158, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, scrollMidiInputDevListDown, NULL }, - - // ------ DISK OP. PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 70, 2, 58, 16, 0, 0, "Save", NULL, NULL, pbDiskOpSave }, - { 70, 19, 58, 16, 0, 0, "Delete", NULL, NULL, pbDiskOpDelete }, - { 70, 36, 58, 16, 0, 0, "Rename", NULL, NULL, pbDiskOpRename }, - { 70, 53, 58, 16, 0, 0, "Makedir", NULL, NULL, pbDiskOpMakeDir }, - { 70, 70, 58, 16, 0, 0, "Refresh", NULL, NULL, pbDiskOpRefresh }, - { 70, 87, 58, 16, 0, 0, "Set path", NULL, NULL, pbDiskOpSetPath }, - { 70, 104, 58, 16, 0, 0, "Show all", NULL, NULL, pbDiskOpShowAll }, - { 70, 121, 58, 19, 0, 0, "Exit", NULL, NULL, pbDiskOpExit }, -#ifdef _WIN32 - { 134, 2, 31, 13, 0, 0, ".\001", NULL, NULL, pbDiskOpParent }, - { 134, 16, 31, 12, 0, 0, "\\", NULL, NULL, pbDiskOpRoot }, - { 134, 29, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive1 }, - { 134, 43, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive2 }, - { 134, 57, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive3 }, - { 134, 71, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive4 }, - { 134, 85, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive5 }, - { 134, 99, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive6 }, - { 134, 113, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive7 }, - { 134, 127, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive8 }, -#else - { 134, 2, 31, 13, 0, 0, "../", NULL, NULL, pbDiskOpParent }, - { 134, 16, 31, 12, 0, 0, "/", NULL, NULL, pbDiskOpRoot }, -#endif - { 335, 2, 18, 13, 0, 0, ARROW_UP_STRING, NULL, pbDiskOpListUp, NULL }, - { 335, 158, 18, 13, 0, 0, ARROW_DOWN_STRING, NULL, pbDiskOpListDown, NULL }, - - // ------ WAV RENDERER PUSHBUTTONS ------ - //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp - { 3, 111, 73, 43, 0, 0, "RECORD", NULL, NULL, pbWavRender }, - { 3, 155, 73, 16, 0, 0, "Exit", NULL, NULL, pbWavExit }, - { 253, 114, 18, 13, 1, 6, ARROW_UP_STRING, NULL, pbWavFreqUp, NULL }, - { 270, 114, 18, 13, 1, 6, ARROW_DOWN_STRING, NULL, pbWavFreqDown, NULL }, - { 253, 128, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbWavAmpUp, NULL }, - { 270, 128, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbWavAmpDown, NULL }, - { 253, 142, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbWavSongStartUp, NULL }, - { 270, 142, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbWavSongStartDown, NULL }, - { 253, 156, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbWavSongEndUp, NULL }, - { 270, 156, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbWavSongEndDown, NULL } -}; - -static uint32_t tmpCounter; - -void drawPushButton(uint16_t pushButtonID) -{ - uint8_t state; - uint16_t x, y, w, h, textX, textY, textW; - pushButton_t *b; - - assert(pushButtonID < NUM_PUSHBUTTONS); - - b = &pushButtons[pushButtonID]; - if (!b->visible) - return; - - state = b->state; - - x = b->x; - y = b->y; - w = b->w; - h = b->h; - - assert(x < SCREEN_W && y < SCREEN_H && w >= 4 && h >= 4); - - if (b->bitmapFlag) - { - blitFast(x, y, (state == PUSHBUTTON_UNPRESSED) ? b->bitmapUnpressed : b->bitmapPressed, w, h); - return; - } - - // fill button background - fillRect(x + 1, y + 1, w - 2, h - 2, PAL_BUTTONS); - - // draw outer border - hLine(x, y, w, PAL_BCKGRND); - hLine(x, y + h - 1, w, PAL_BCKGRND); - vLine(x, y, h, PAL_BCKGRND); - vLine(x + w - 1, y, h, PAL_BCKGRND); - - //draw inner borders - if (state == PUSHBUTTON_UNPRESSED) - { - // top left corner inner border - hLine(x + 1, y + 1, w - 3, PAL_BUTTON1); - vLine(x + 1, y + 2, h - 4, PAL_BUTTON1); - - // bottom right corner inner border - hLine(x + 1 - 0, y + h - 2, w - 2, PAL_BUTTON2); - vLine(x + w - 2, y + 1 - 0, h - 3, PAL_BUTTON2); - } - else - { - // top left corner inner border - hLine(x + 1, y + 1, w - 2, PAL_BUTTON2); - vLine(x + 1, y + 2, h - 3, PAL_BUTTON2); - } - - // render button text(s) - if (b->caption != NULL && *b->caption != '\0') - { - // button text #2 - if (b->caption2 != NULL && *b->caption2 != '\0') - { - textW = textWidth(b->caption2); - textX = x + ((w - textW) / 2); - textY = y + 6 + ((h - (FONT1_CHAR_H - 2)) / 2); - - if (state == PUSHBUTTON_PRESSED) - textOut(textX + 1, textY + 1, PAL_BTNTEXT, b->caption2); - else - textOut(textX, textY, PAL_BTNTEXT, b->caption2); - - y -= 5; // if two text lines, bias y position of first (upper) text - } - - // button text #1 - textW = textWidth(b->caption); - textX = x + ((w - textW) / 2); - textY = y + ((h - (FONT1_CHAR_H - 2)) / 2); - - if (state == PUSHBUTTON_PRESSED) - textOut(textX + 1, textY + 1, PAL_BTNTEXT, b->caption); - else - textOut(textX, textY, PAL_BTNTEXT, b->caption); - } -} - -void showPushButton(uint16_t pushButtonID) -{ - assert(pushButtonID < NUM_PUSHBUTTONS); - pushButtons[pushButtonID].visible = true; - drawPushButton(pushButtonID); -} - -void hidePushButton(uint16_t pushButtonID) -{ - assert(pushButtonID < NUM_PUSHBUTTONS); - pushButtons[pushButtonID].state = 0; - pushButtons[pushButtonID].visible = false; -} - -void handlePushButtonsWhileMouseDown(void) -{ - int8_t buttonDelay; - pushButton_t *pushButton; - - assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_PUSHBUTTONS); - pushButton = &pushButtons[mouse.lastUsedObjectID]; - if (!pushButton->visible) - return; - - pushButton->state = PUSHBUTTON_UNPRESSED; - if (mouse.x >= pushButton->x && mouse.x < pushButton->x+pushButton->w && - mouse.y >= pushButton->y && mouse.y < pushButton->y+pushButton->h) - { - pushButton->state = PUSHBUTTON_PRESSED; - } - - if (mouse.lastX != mouse.x || mouse.lastY != mouse.y) - { - mouse.lastX = mouse.x; - mouse.lastY = mouse.y; - - drawPushButton(mouse.lastUsedObjectID); - } - - // long delay before repeat - if (pushButton->preDelay && mouse.firstTimePressingButton) - { - tmpCounter = 0; - - if (++mouse.buttonCounter >= BUTTON_DOWN_DELAY) - { - mouse.buttonCounter = 0; - mouse.firstTimePressingButton = false; - } - else - { - return; // we're delaying - } - } - - if (pushButton->state == PUSHBUTTON_PRESSED) - { - // button delay stuff - if (mouse.rightButtonPressed) - buttonDelay = pushButton->delayFrames / 2; - else if (pushButton->preDelay == 2 && (!mouse.firstTimePressingButton && ++tmpCounter >= 20)) // special mode - buttonDelay = 0; - else - buttonDelay = pushButton->delayFrames; - - // main repeat delay - if (++mouse.buttonCounter >= buttonDelay) - { - mouse.buttonCounter = 0; - if (pushButton->callbackFuncOnDown != NULL) - pushButton->callbackFuncOnDown(); - } - } -} - -bool testPushButtonMouseDown(void) -{ - uint16_t start, end; - pushButton_t *pushButton; - - if (editor.ui.sysReqShown) - { - // if a system request is open, only test the first eight pushbuttons (reserved) - start = 0; - end = 8; - } - else - { - start = 8; - end = NUM_PUSHBUTTONS; - } - - for (uint16_t i = start; i < end; i++) - { - pushButton = &pushButtons[i]; - if (!pushButton->visible) - continue; - - if (mouse.x >= pushButton->x && mouse.x < pushButton->x+pushButton->w && - mouse.y >= pushButton->y && mouse.y < pushButton->y+pushButton->h) - { - mouse.lastUsedObjectID = i; - mouse.lastUsedObjectType = OBJECT_PUSHBUTTON; - - if (!mouse.rightButtonPressed) - { - mouse.firstTimePressingButton = true; - mouse.buttonCounter = 0; - - pushButton->state = PUSHBUTTON_PRESSED; - drawPushButton(i); - - if (pushButton->callbackFuncOnDown != NULL) - pushButton->callbackFuncOnDown(); - } - - return true; - } - } - - return false; -} - -int16_t testPushButtonMouseRelease(bool runCallback) -{ - pushButton_t *pushButton; - - if (mouse.lastUsedObjectType != OBJECT_PUSHBUTTON || mouse.lastUsedObjectID == OBJECT_ID_NONE) - return -1; - - assert(mouse.lastUsedObjectID < NUM_PUSHBUTTONS); - pushButton = &pushButtons[mouse.lastUsedObjectID]; - if (!pushButton->visible) - return -1; - - if (mouse.x >= pushButton->x && mouse.x < pushButton->x+pushButton->w && - mouse.y >= pushButton->y && mouse.y < pushButton->y+pushButton->h) - { - pushButton->state = PUSHBUTTON_UNPRESSED; - drawPushButton(mouse.lastUsedObjectID); - - if (runCallback) - { - if (pushButton->callbackFuncOnUp != NULL) - pushButton->callbackFuncOnUp(); - } - - return mouse.lastUsedObjectID; - } - - return -1; -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include "ft2_header.h" +#include "ft2_gui.h" +#include "ft2_about.h" +#include "ft2_video.h" +#include "ft2_config.h" +#include "ft2_audioselector.h" +#include "ft2_audio.h" +#include "ft2_help.h" +#include "ft2_sample_ed.h" +#include "ft2_nibbles.h" +#include "ft2_inst_ed.h" +#include "ft2_pattern_ed.h" +#include "ft2_sample_loader.h" +#include "ft2_diskop.h" +#include "ft2_wav_renderer.h" +#include "ft2_trim.h" +#include "ft2_sampling.h" +#include "ft2_module_loader.h" +#include "ft2_midi.h" +#include "ft2_midi.h" +#include "ft2_mouse.h" +#include "ft2_edit.h" +#include "ft2_sample_ed_features.h" +#include "ft2_palette.h" + +pushButton_t pushButtons[NUM_PUSHBUTTONS] = +{ + // ------ RESERVED PUSHBUTTONS ------ + { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, + + /* + ** -- STRUCT INFO: -- + ** x = x position + ** y = y position + ** w = width + ** h = height + ** p (0,1,2) = button delay after the first trigger (f.ex. used on scrollbar buttons) + ** 0 = no delay, 1 = normal delay, 2 = two-phase delay + ** d = function call repeat delay while button is being held down (number of frames) + ** text #1 = text line #1 + ** text #2 = text line #2 (if present, it will be rendered below text #1) + ** funcOnDown = function to call when pressed + ** funcOnUp = function to call when released + */ + + // ------ POSITION EDITOR PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 55, 2, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbPosEdPosDown, NULL }, + { 55, 36, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbPosEdPosUp, NULL }, + { 74, 2, 35, 16, 1, 6, "Ins.", NULL, pbPosEdIns, NULL }, + { 74, 19, 18, 13, 1, 6, ARROW_UP_STRING, NULL, pbPosEdPattUp, NULL }, + { 91, 19, 18, 13, 1, 6, ARROW_DOWN_STRING, NULL, pbPosEdPattDown, NULL }, + { 74, 33, 35, 16, 1, 6, "Del.", NULL, pbPosEdDel, NULL }, + { 74, 50, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbPosEdLenUp, NULL }, + { 91, 50, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbPosEdLenDown, NULL }, + { 74, 62, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbPosEdRepSUp, NULL }, + { 91, 62, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbPosEdRepSDown, NULL }, + + // ------ SONG/PATTERN PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 168, 34, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbBPMUp, NULL }, + { 185, 34, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbBPMDown, NULL }, + { 168, 48, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbSpeedUp, NULL }, + { 185, 48, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbSpeedDown, NULL }, + { 168, 62, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbIncAdd, NULL }, + { 185, 62, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbDecAdd, NULL }, + { 253, 34, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbEditPattUp, NULL }, + { 270, 34, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbEditPattDown, NULL }, + { 253, 48, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbPattLenUp, NULL }, + { 270, 48, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbPattLenDown, NULL }, + { 209, 62, 40, 13, 0, 0, "Expd.", NULL, NULL, expandPattern }, + { 248, 62, 40, 13, 0, 0, "Srnk.", NULL, NULL, shrinkPattern }, + + // ------ LOGO PUSHBUTTON ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 112, 0, 154, 32, 0, 0, NULL, NULL, NULL, pbToggleLogo }, + { 266, 0, 25, 32, 0, 0, NULL, NULL, NULL, pbToggleBadge }, + + // ------ MAIN SCREEN PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 294, 2, 59, 16, 0, 0, "About", NULL, NULL, showAboutScreen }, + { 294, 19, 59, 16, 0, 0, "Nibbles", NULL, NULL, pbNibbles }, + { 294, 36, 59, 16, 0, 0, "Zap", NULL, NULL, pbZap }, + { 294, 53, 59, 16, 0, 0, "Trim", NULL, NULL, toggleTrimScreen }, + { 294, 70, 59, 16, 0, 0, "Extend", NULL, NULL, patternEditorExtended }, + { 294, 87, 59, 16, 0, 0, "Transps.", NULL, NULL, toggleTranspose }, + { 294, 104, 59, 16, 0, 0, "I.E.Ext.", NULL, NULL, toggleInstEditorExt }, + { 294, 121, 59, 16, 0, 0, "S.E.Ext.", NULL, NULL, toggleSampleEditorExt }, + { 294, 138, 59, 16, 0, 0, "Adv. Edit", NULL, NULL, toggleAdvEdit }, + { 294, 155, 30, 16, 0, 0, "Add", NULL, NULL, pbAddChan }, + { 323, 155, 30, 16, 0, 0, "Sub", NULL, NULL, pbSubChan }, + { 359, 2, 59, 16, 0, 0, "Play sng.", NULL, NULL, pbPlaySong }, + { 359, 19, 59, 16, 0, 0, "Play ptn.", NULL, NULL, pbPlayPtn }, + { 359, 36, 59, 16, 0, 0, "Stop", NULL, NULL, stopPlaying }, + { 359, 53, 59, 16, 0, 0, "Rec. sng.", NULL, NULL, pbRecSng }, + { 359, 70, 59, 16, 0, 0, "Rec. ptn.", NULL, NULL, pbRecPtn }, + { 359, 87, 59, 16, 0, 0, "Disk op.", NULL, NULL, toggleDiskOpScreen }, + { 359, 104, 59, 16, 0, 0, "Instr. Ed.", NULL, NULL, toggleInstEditor }, + { 359, 121, 59, 16, 0, 0, "Smp. Ed.", NULL, NULL, toggleSampleEditor }, + { 359, 138, 59, 16, 0, 0, "Config", NULL, NULL, showConfigScreen }, + { 359, 155, 59, 16, 0, 0, "Help", NULL, NULL, showHelpScreen }, + { 115, 35, 46, 16, 0, 0, "Exit", NULL, NULL, exitPatternEditorExtended }, + + // ------ INSTRUMENT SWITCHER PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 590, 2, 39, 16, 0, 0, "01-08", NULL, NULL, pbSetInstrBank1 }, + { 590, 19, 39, 16, 0, 0, "09-10", NULL, NULL, pbSetInstrBank2 }, + { 590, 36, 39, 16, 0, 0, "11-18", NULL, NULL, pbSetInstrBank3 }, + { 590, 53, 39, 16, 0, 0, "19-20", NULL, NULL, pbSetInstrBank4 }, + { 590, 73, 39, 16, 0, 0, "21-28", NULL, NULL, pbSetInstrBank5 }, + { 590, 90, 39, 16, 0, 0, "29-30", NULL, NULL, pbSetInstrBank6 }, + { 590, 107, 39, 16, 0, 0, "31-38", NULL, NULL, pbSetInstrBank7 }, + { 590, 124, 39, 16, 0, 0, "39-40", NULL, NULL, pbSetInstrBank8 }, + { 590, 2, 39, 16, 0, 0, "41-48", NULL, NULL, pbSetInstrBank9 }, + { 590, 19, 39, 16, 0, 0, "49-50", NULL, NULL, pbSetInstrBank10 }, + { 590, 36, 39, 16, 0, 0, "51-58", NULL, NULL, pbSetInstrBank11 }, + { 590, 53, 39, 16, 0, 0, "59-60", NULL, NULL, pbSetInstrBank12 }, + { 590, 73, 39, 16, 0, 0, "61-68", NULL, NULL, pbSetInstrBank13,}, + { 590, 90, 39, 16, 0, 0, "69-70", NULL, NULL, pbSetInstrBank14 }, + { 590, 107, 39, 16, 0, 0, "71-78", NULL, NULL, pbSetInstrBank15 }, + { 590, 124, 39, 16, 0, 0, "79-80", NULL, NULL, pbSetInstrBank16 }, + { 590, 144, 39, 27, 0, 0, "Swap", "bank", NULL, pbSwapInstrBank }, + { 566, 99, 18, 13, 1, 4, ARROW_UP_STRING, NULL, sampleListScrollUp, NULL }, + { 566, 140, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, sampleListScrollDown, NULL }, + + // ------ NIBBLES SCREEN PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 568, 104, 61, 16, 0, 0, "Play", NULL, NULL, nibblesPlay }, + { 568, 121, 61, 16, 0, 0, "Help", NULL, NULL, nibblesHelp }, + { 568, 138, 61, 16, 0, 0, "Highs", NULL, NULL, nibblesHighScore }, + { 568, 155, 61, 16, 0, 0, "Exit", NULL, NULL, nibblesExit }, + + // ------ ADVANCED EDIT PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 3, 138, 51, 16, 0, 0, "Track", NULL, NULL, remapTrack }, + { 55, 138, 52, 16, 0, 0, "Pattern", NULL, NULL, remapPattern }, + { 3, 155, 51, 16, 0, 0, "Song", NULL, NULL, remapSong }, + { 55, 155, 52, 16, 0, 0, "Block", NULL, NULL, remapBlock }, + + // ------ ABOUT SCREEN PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 5, 153, 59, 16, 0, 0, "Exit", NULL, NULL, exitAboutScreen }, + + // ------ HELP SCREEN PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 3, 155, 59, 16, 0, 0, "Exit", NULL, NULL, exitHelpScreen }, + { 611, 2, 18, 13, 0, 0, ARROW_UP_STRING, NULL, helpScrollUp, NULL }, + { 611, 158, 18, 13, 0, 0, ARROW_DOWN_STRING, NULL, helpScrollDown, NULL }, + + // ------ PATTERN EDITOR PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 3, 385, 25, 13, 1, 4, ARROW_LEFT_STRING, NULL, scrollChannelLeft, NULL }, + { 604, 385, 25, 13, 1, 4, ARROW_RIGHT_STRING, NULL, scrollChannelRight, NULL }, + + // ------ TRANSPOSE PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1,text #2, funcOnDown, funcOnUp + { 56, 110, 21, 16, 0, 0, "up", NULL, NULL, trackTranspCurInsUp }, + { 76, 110, 21, 16, 0, 0, "dn", NULL, NULL, trackTranspCurInsDn }, + { 98, 110, 36, 16, 0, 0, "12up", NULL, NULL, trackTranspCurIns12Up }, + { 133, 110, 36, 16, 0, 0, "12dn", NULL, NULL, trackTranspCurIns12Dn }, + { 175, 110, 21, 16, 0, 0, "up", NULL, NULL, trackTranspAllInsUp }, + { 195, 110, 21, 16, 0, 0, "dn", NULL, NULL, trackTranspAllInsDn }, + { 217, 110, 36, 16, 0, 0, "12up", NULL, NULL, trackTranspAllIns12Up }, + { 252, 110, 36, 16, 0, 0, "12dn", NULL, NULL, trackTranspAllIns12Dn }, + { 56, 125, 21, 16, 0, 0, "up", NULL, NULL, pattTranspCurInsUp }, + { 76, 125, 21, 16, 0, 0, "dn", NULL, NULL, pattTranspCurInsDn }, + { 98, 125, 36, 16, 0, 0, "12up", NULL, NULL, pattTranspCurIns12Up }, + { 133, 125, 36, 16, 0, 0, "12dn", NULL, NULL, pattTranspCurIns12Dn }, + { 175, 125, 21, 16, 0, 0, "up", NULL, NULL, pattTranspAllInsUp }, + { 195, 125, 21, 16, 0, 0, "dn", NULL, NULL, pattTranspAllInsDn }, + { 217, 125, 36, 16, 0, 0, "12up", NULL, NULL, pattTranspAllIns12Up }, + { 252, 125, 36, 16, 0, 0, "12dn", NULL, NULL, pattTranspAllIns12Dn }, + { 56, 140, 21, 16, 0, 0, "up", NULL, NULL, songTranspCurInsUp }, + { 76, 140, 21, 16, 0, 0, "dn", NULL, NULL, songTranspCurInsDn }, + { 98, 140, 36, 16, 0, 0, "12up", NULL, NULL, songTranspCurIns12Up }, + { 133, 140, 36, 16, 0, 0, "12dn", NULL, NULL, songTranspCurIns12Dn }, + { 175, 140, 21, 16, 0, 0, "up", NULL, NULL, songTranspAllInsUp }, + { 195, 140, 21, 16, 0, 0, "dn", NULL, NULL, songTranspAllInsDn }, + { 217, 140, 36, 16, 0, 0, "12up", NULL, NULL, songTranspAllIns12Up }, + { 252, 140, 36, 16, 0, 0, "12dn", NULL, NULL, songTranspAllIns12Dn }, + { 56, 155, 21, 16, 0, 0, "up", NULL, NULL, blockTranspCurInsUp }, + { 76, 155, 21, 16, 0, 0, "dn", NULL, NULL, blockTranspCurInsDn }, + { 98, 155, 36, 16, 0, 0, "12up", NULL, NULL, blockTranspCurIns12Up }, + { 133, 155, 36, 16, 0, 0, "12dn", NULL, NULL, blockTranspCurIns12Dn }, + { 175, 155, 21, 16, 0, 0, "up", NULL, NULL, blockTranspAllInsUp }, + { 195, 155, 21, 16, 0, 0, "dn", NULL, NULL, blockTranspAllInsDn }, + { 217, 155, 36, 16, 0, 0, "12up", NULL, NULL, blockTranspAllIns12Up }, + { 252, 155, 36, 16, 0, 0, "12dn", NULL, NULL, blockTranspAllIns12Dn }, + + // ------ SAMPLE EDITOR PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 3, 331, 23, 13, 0, 0, ARROW_LEFT_STRING, NULL, scrollSampleDataLeft, NULL }, + { 606, 331, 23, 13, 0, 0, ARROW_RIGHT_STRING, NULL, scrollSampleDataRight, NULL }, + { 38, 356, 18, 13, 1, 4, ARROW_UP_STRING, NULL, sampPlayNoteUp, NULL }, + { 38, 368, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, sampPlayNoteDown, NULL }, + { 3, 382, 53, 16, 0, 0, "Stop", NULL, NULL, smpEdStop}, + { 57, 348, 55, 16, 0, 0, "Wave", NULL, NULL, sampPlayWave }, + { 57, 365, 55, 16, 0, 0, "Range", NULL, NULL, sampPlayRange }, + { 57, 382, 55, 16, 0, 0, "Display", NULL, NULL, sampPlayDisplay }, + { 118, 348, 63, 16, 0, 0, "Show r.", NULL, NULL, showRange }, + { 118, 365, 63, 16, 0, 0, "Range all", NULL, NULL, rangeAll }, + { 118, 382, 63, 16, 0, 0, "Sample", NULL, NULL, startSampling }, + { 182, 348, 63, 16, 0, 0, "Zoom out", NULL, NULL, zoomOut }, + { 182, 365, 63, 16, 0, 0, "Show all", NULL, NULL, showAll }, + { 182, 382, 63, 16, 0, 0, "Save rng.", NULL, NULL, saveRange }, + { 251, 348, 43, 16, 0, 0, "Cut", NULL, NULL, sampCut }, + { 251, 365, 43, 16, 0, 0, "Copy", NULL, NULL, sampCopy }, + { 251, 382, 43, 16, 0, 0, "Paste", NULL, NULL, sampPaste }, + { 300, 348, 50, 16, 0, 0, "Crop", NULL, NULL, sampCrop }, + { 300, 365, 50, 16, 0, 0, "Volume", NULL, NULL, pbSampleVolume }, + { 300, 382, 50, 16, 0, 0, "X-Fade", NULL, NULL, sampXFade }, + { 430, 348, 54, 16, 0, 0, "Exit", NULL, NULL, exitSampleEditor }, + { 594, 348, 35, 13, 0, 0, "Clr S.", NULL, NULL, clearSample }, + { 594, 360, 35, 13, 0, 0, "Min.", NULL, NULL, sampMin }, + { 594, 373, 18, 13, 2, 4, ARROW_UP_STRING, NULL, sampRepeatUp, NULL }, + { 611, 373, 18, 13, 2, 4, ARROW_DOWN_STRING, NULL, sampRepeatDown, NULL }, + { 594, 385, 18, 13, 2, 4, ARROW_UP_STRING, NULL, sampReplenUp, NULL }, + { 611, 385, 18, 13, 2, 4, ARROW_DOWN_STRING, NULL, sampReplenDown, NULL }, + + // ------ SAMPLE EDITOR EXTENSION PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 3, 138, 52, 16, 0, 0, "Clr. c.bf", NULL, NULL, clearCopyBuffer }, + { 56, 138, 49, 16, 0, 0, "Conv", NULL, NULL, sampleConv }, + { 106, 138, 49, 16, 0, 0, "Echo", NULL, NULL, pbSampleEcho }, + { 3, 155, 52, 16, 0, 0, "Backw.", NULL, NULL, sampleBackwards }, + { 56, 155, 49, 16, 0, 0, "Conv W", NULL, NULL, sampleConvW }, + { 106, 155, 49, 16, 0, 0, "Fix DC", NULL, NULL, fixDC }, + { 161, 121, 60, 16, 0, 0, "Copy ins.", NULL, NULL, copyInstr }, + { 222, 121, 66, 16, 0, 0, "Copy smp.", NULL, NULL, copySmp }, + { 161, 138, 60, 16, 0, 0, "Xchg ins.", NULL, NULL, xchgInstr }, + { 222, 138, 66, 16, 0, 0, "Xchg smp.", NULL, NULL, xchgSmp }, + { 161, 155, 60, 16, 0, 0, "Resample", NULL, NULL, pbSampleResample }, + { 222, 155, 66, 16, 0, 0, "Mix smp.", NULL, NULL, pbSampleMix }, + + // ------ INSTRUMENT EDITOR PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 200, 175, 23, 12, 0, 0, SMALL_1_STRING, NULL, NULL, volPreDef1 }, + { 222, 175, 24, 12, 0, 0, SMALL_2_STRING, NULL, NULL, volPreDef2 }, + { 245, 175, 24, 12, 0, 0, SMALL_3_STRING, NULL, NULL, volPreDef3 }, + { 268, 175, 24, 12, 0, 0, SMALL_4_STRING, NULL, NULL, volPreDef4 }, + { 291, 175, 24, 12, 0, 0, SMALL_5_STRING, NULL, NULL, volPreDef5 }, + { 314, 175, 24, 12, 0, 0, SMALL_6_STRING, NULL, NULL, volPreDef6 }, + { 200, 262, 23, 12, 0, 0, SMALL_1_STRING, NULL, NULL, panPreDef1 }, + { 222, 262, 24, 12, 0, 0, SMALL_2_STRING, NULL, NULL, panPreDef2 }, + { 245, 262, 24, 12, 0, 0, SMALL_3_STRING, NULL, NULL, panPreDef3 }, + { 268, 262, 24, 12, 0, 0, SMALL_4_STRING, NULL, NULL, panPreDef4 }, + { 291, 262, 24, 12, 0, 0, SMALL_5_STRING, NULL, NULL, panPreDef5 }, + { 314, 262, 24, 12, 0, 0, SMALL_6_STRING, NULL, NULL, panPreDef6 }, + { 570, 276, 59, 16, 0, 0, "Exit", NULL, NULL, exitInstEditor }, + { 341, 175, 47, 16, 1, 4, "Add", NULL, volEnvAdd, NULL }, + { 389, 175, 46, 16, 1, 4, "Del", NULL, volEnvDel, NULL }, + { 398, 204, 19, 13, 1, 4, ARROW_UP_STRING, NULL, volEnvSusUp, NULL }, + { 416, 204, 19, 13, 1, 4, ARROW_DOWN_STRING, NULL, volEnvSusDown, NULL }, + { 398, 231, 19, 13, 1, 4, ARROW_UP_STRING, NULL, volEnvRepSUp, NULL }, + { 416, 231, 19, 13, 1, 4, ARROW_DOWN_STRING, NULL, volEnvRepSDown, NULL }, + { 398, 245, 19, 13, 1, 4, ARROW_UP_STRING, NULL, volEnvRepEUp, NULL }, + { 416, 245, 19, 13, 1, 4, ARROW_DOWN_STRING, NULL, volEnvRepEDown, NULL }, + { 341, 262, 47, 16, 1, 4, "Add", NULL, panEnvAdd, NULL }, + { 389, 262, 46, 16, 1, 4, "Del", NULL, panEnvDel, NULL }, + { 398, 291, 19, 13, 1, 4, ARROW_UP_STRING, NULL, panEnvSusUp, NULL }, + { 416, 291, 19, 13, 1, 4, ARROW_DOWN_STRING, NULL, panEnvSusDown, NULL }, + { 398, 318, 19, 13, 1, 4, ARROW_UP_STRING, NULL, panEnvRepSUp, NULL }, + { 416, 318, 19, 13, 1, 4, ARROW_DOWN_STRING, NULL, panEnvRepSDown, NULL }, + { 398, 332, 19, 13, 1, 4, ARROW_UP_STRING, NULL, panEnvRepEUp, NULL }, + { 416, 332, 19, 13, 1, 4, ARROW_DOWN_STRING, NULL, panEnvRepEDown, NULL }, + { 521, 175, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, volDown, NULL }, + { 606, 175, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, volUp, NULL }, + { 521, 189, 23, 13, 2, 4, ARROW_LEFT_STRING, NULL, panDown, NULL }, + { 606, 189, 23, 13, 2, 4, ARROW_RIGHT_STRING, NULL, panUp, NULL }, + { 521, 203, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, ftuneDown, NULL }, + { 606, 203, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, ftuneUp, NULL }, + { 521, 220, 23, 13, 2, 4, ARROW_LEFT_STRING, NULL, fadeoutDown, NULL }, + { 606, 220, 23, 13, 2, 4, ARROW_RIGHT_STRING, NULL, fadeoutUp, NULL }, + { 521, 234, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, vibSpeedDown, NULL }, + { 606, 234, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, vibSpeedUp, NULL }, + { 521, 248, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, vibDepthDown, NULL }, + { 606, 248, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, vibDepthUp, NULL }, + { 521, 262, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, vibSweepDown, NULL }, + { 606, 262, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, vibSweepUp, NULL }, + { 441, 312, 94, 16, 1, 4, "Octave up", NULL, relToneOctUp, NULL }, + { 536, 312, 93, 16, 1, 4, "Halftone up", NULL, relToneUp, NULL }, + { 441, 329, 94, 16, 1, 4, "Octave down", NULL, relToneOctDown, NULL }, + { 536, 329, 93, 16, 1, 4, "Halftone down", NULL, relToneDown, NULL }, + + // ------ INSTRUMENT EDITOR EXTENSION PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 172, 130, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, midiChDown, NULL }, + { 265, 130, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, midiChUp, NULL }, + { 172, 144, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, midiPrgDown, NULL }, + { 265, 144, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, midiPrgUp, NULL }, + { 172, 158, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, midiBendDown, NULL }, + { 265, 158, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, midiBendUp, NULL }, + + // ------ TRIM SCREEN PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 139, 155, 74, 16, 0, 0, "Calculate", NULL, NULL, pbTrimCalc }, + { 214, 155, 74, 16, 0, 0, "Trim", NULL, NULL, pbTrimDoTrim }, + + // ------ CONFIG LEFT PANEL PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 3, 104, 104, 16, 0, 0, "Reset config", NULL, NULL, resetConfig }, + { 3, 121, 104, 16, 0, 0, "Load config", NULL, NULL, loadConfig2 }, + { 3, 138, 104, 16, 0, 0, "Save config", NULL, NULL, saveConfig2 }, + { 3, 155, 104, 16, 0, 0, "Exit", NULL, NULL, exitConfigScreen }, + + // ------ CONFIG AUDIO PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 326, 2, 57, 13, 0, 0, "Re-scan", NULL, NULL, rescanAudioDevices }, + { 365, 16, 18, 13, 1, 4, ARROW_UP_STRING, NULL, scrollAudOutputDevListUp, NULL }, + { 365, 72, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, scrollAudOutputDevListDown, NULL }, + { 365, 103, 18, 13, 1, 4, ARROW_UP_STRING, NULL, scrollAudInputDevListUp, NULL }, + { 365, 137, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, scrollAudInputDevListDown, NULL }, + { 508, 132, 21, 13, 1, 4, ARROW_LEFT_STRING, NULL, configAmpDown, NULL }, + { 608, 132, 21, 13, 1, 4, ARROW_RIGHT_STRING, NULL, configAmpUp, NULL }, + { 508, 158, 21, 13, 1, 0, ARROW_LEFT_STRING, NULL, configMasterVolDown, NULL }, + { 608, 158, 21, 13, 1, 0, ARROW_RIGHT_STRING, NULL, configMasterVolUp, NULL }, + + // ------ CONFIG LAYOUT PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 513, 15, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, configPalRDown, NULL }, + { 606, 15, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, configPalRUp, NULL }, + { 513, 29, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, configPalGDown, NULL }, + { 606, 29, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, configPalGUp, NULL }, + { 513, 43, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, configPalBDown, NULL }, + { 606, 43, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, configPalBUp, NULL }, + { 513, 71, 23, 13, 1, 4, ARROW_LEFT_STRING, NULL, configPalContDown, NULL }, + { 606, 71, 23, 13, 1, 4, ARROW_RIGHT_STRING, NULL, configPalContUp, NULL }, + + // ------ CONFIG MISCELLANEOUS PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 113, 155, 93, 16, 0, 0, editor.ui.fullscreenButtonText, NULL, NULL, toggleFullScreen }, + { 370, 121, 18, 13, 1, 4, ARROW_UP_STRING, NULL, configQuantizeUp, NULL }, + { 387, 121, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, configQuantizeDown, NULL }, + { 594, 107, 18, 13, 1, 4, ARROW_UP_STRING, NULL, configMIDIChnUp, NULL }, + { 611, 107, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, configMIDIChnDown, NULL }, + { 594, 121, 18, 13, 1, 4, ARROW_UP_STRING, NULL, configMIDITransUp, NULL }, + { 611, 121, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, configMIDITransDown, NULL }, + { 556, 158, 22, 13, 1, 4, ARROW_LEFT_STRING, NULL, configMIDISensDown, NULL }, + { 607, 158, 22, 13, 1, 4, ARROW_RIGHT_STRING, NULL, configMIDISensUp, NULL }, + +#ifdef HAS_MIDI + // ------ CONFIG MIDI PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 483, 2, 18, 13, 1, 4, ARROW_UP_STRING, NULL, scrollMidiInputDevListUp, NULL }, + { 483, 158, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, scrollMidiInputDevListDown, NULL }, +#endif + + // ------ DISK OP. PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 70, 2, 58, 16, 0, 0, "Save", NULL, NULL, pbDiskOpSave }, + { 70, 19, 58, 16, 0, 0, "Delete", NULL, NULL, pbDiskOpDelete }, + { 70, 36, 58, 16, 0, 0, "Rename", NULL, NULL, pbDiskOpRename }, + { 70, 53, 58, 16, 0, 0, "Make dir", NULL, NULL, pbDiskOpMakeDir }, + { 70, 70, 58, 16, 0, 0, "Refresh", NULL, NULL, pbDiskOpRefresh }, + { 70, 87, 58, 16, 0, 0, "Set path", NULL, NULL, pbDiskOpSetPath }, + { 70, 104, 58, 16, 0, 0, "Show all", NULL, NULL, pbDiskOpShowAll }, + { 70, 121, 58, 19, 0, 0, "Exit", NULL, NULL, pbDiskOpExit }, +#ifdef _WIN32 + { 134, 2, 31, 13, 0, 0, ".\001", NULL, NULL, pbDiskOpParent }, + { 134, 16, 31, 12, 0, 0, "\\", NULL, NULL, pbDiskOpRoot }, + { 134, 29, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive1 }, + { 134, 43, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive2 }, + { 134, 57, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive3 }, + { 134, 71, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive4 }, + { 134, 85, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive5 }, + { 134, 99, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive6 }, + { 134, 113, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive7 }, + { 134, 127, 31, 13, 0, 0, NULL, NULL, NULL, pbDiskOpDrive8 }, +#else + { 134, 2, 31, 13, 0, 0, "../", NULL, NULL, pbDiskOpParent }, + { 134, 16, 31, 12, 0, 0, "/", NULL, NULL, pbDiskOpRoot }, +#endif + { 335, 2, 18, 13, 0, 0, ARROW_UP_STRING, NULL, pbDiskOpListUp, NULL }, + { 335, 158, 18, 13, 0, 0, ARROW_DOWN_STRING, NULL, pbDiskOpListDown, NULL }, + + // ------ WAV RENDERER PUSHBUTTONS ------ + //x, y, w, h, p, d, text #1, text #2, funcOnDown, funcOnUp + { 3, 111, 73, 43, 0, 0, "RECORD", NULL, NULL, pbWavRender }, + { 3, 155, 73, 16, 0, 0, "Exit", NULL, NULL, pbWavExit }, + { 253, 114, 18, 13, 1, 6, ARROW_UP_STRING, NULL, pbWavFreqUp, NULL }, + { 270, 114, 18, 13, 1, 6, ARROW_DOWN_STRING, NULL, pbWavFreqDown, NULL }, + { 253, 128, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbWavAmpUp, NULL }, + { 270, 128, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbWavAmpDown, NULL }, + { 253, 142, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbWavSongStartUp, NULL }, + { 270, 142, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbWavSongStartDown, NULL }, + { 253, 156, 18, 13, 1, 4, ARROW_UP_STRING, NULL, pbWavSongEndUp, NULL }, + { 270, 156, 18, 13, 1, 4, ARROW_DOWN_STRING, NULL, pbWavSongEndDown, NULL } +}; + +static uint32_t tmpCounter; + +void drawPushButton(uint16_t pushButtonID) +{ + uint8_t state; + uint16_t x, y, w, h, textX, textY, textW; + pushButton_t *b; + + assert(pushButtonID < NUM_PUSHBUTTONS); + + b = &pushButtons[pushButtonID]; + if (!b->visible) + return; + + state = b->state; + + x = b->x; + y = b->y; + w = b->w; + h = b->h; + + assert(x < SCREEN_W && y < SCREEN_H && w >= 4 && h >= 4); + + if (b->bitmapFlag) + { + blitFast(x, y, (state == PUSHBUTTON_UNPRESSED) ? b->bitmapUnpressed : b->bitmapPressed, w, h); + return; + } + + // fill button background + fillRect(x + 1, y + 1, w - 2, h - 2, PAL_BUTTONS); + + // draw outer border + hLine(x, y, w, PAL_BCKGRND); + hLine(x, y + h - 1, w, PAL_BCKGRND); + vLine(x, y, h, PAL_BCKGRND); + vLine(x + w - 1, y, h, PAL_BCKGRND); + + //draw inner borders + if (state == PUSHBUTTON_UNPRESSED) + { + // top left corner inner border + hLine(x + 1, y + 1, w - 3, PAL_BUTTON1); + vLine(x + 1, y + 2, h - 4, PAL_BUTTON1); + + // bottom right corner inner border + hLine(x + 1 - 0, y + h - 2, w - 2, PAL_BUTTON2); + vLine(x + w - 2, y + 1 - 0, h - 3, PAL_BUTTON2); + } + else + { + // top left corner inner border + hLine(x + 1, y + 1, w - 2, PAL_BUTTON2); + vLine(x + 1, y + 2, h - 3, PAL_BUTTON2); + } + + // render button text(s) + if (b->caption != NULL && *b->caption != '\0') + { + // button text #2 + if (b->caption2 != NULL && *b->caption2 != '\0') + { + textW = textWidth(b->caption2); + textX = x + ((w - textW) / 2); + textY = y + 6 + ((h - (FONT1_CHAR_H - 2)) / 2); + + if (state == PUSHBUTTON_PRESSED) + textOut(textX + 1, textY + 1, PAL_BTNTEXT, b->caption2); + else + textOut(textX, textY, PAL_BTNTEXT, b->caption2); + + y -= 5; // if two text lines, bias y position of first (upper) text + } + + // button text #1 + textW = textWidth(b->caption); + textX = x + ((w - textW) / 2); + textY = y + ((h - (FONT1_CHAR_H - 2)) / 2); + + if (state == PUSHBUTTON_PRESSED) + textOut(textX + 1, textY + 1, PAL_BTNTEXT, b->caption); + else + textOut(textX, textY, PAL_BTNTEXT, b->caption); + } +} + +void showPushButton(uint16_t pushButtonID) +{ + assert(pushButtonID < NUM_PUSHBUTTONS); + pushButtons[pushButtonID].visible = true; + drawPushButton(pushButtonID); +} + +void hidePushButton(uint16_t pushButtonID) +{ + assert(pushButtonID < NUM_PUSHBUTTONS); + pushButtons[pushButtonID].state = 0; + pushButtons[pushButtonID].visible = false; +} + +void handlePushButtonsWhileMouseDown(void) +{ + int8_t buttonDelay; + pushButton_t *pushButton; + + assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_PUSHBUTTONS); + pushButton = &pushButtons[mouse.lastUsedObjectID]; + if (!pushButton->visible) + return; + + pushButton->state = PUSHBUTTON_UNPRESSED; + if (mouse.x >= pushButton->x && mouse.x < pushButton->x+pushButton->w && + mouse.y >= pushButton->y && mouse.y < pushButton->y+pushButton->h) + { + pushButton->state = PUSHBUTTON_PRESSED; + } + + if (mouse.lastX != mouse.x || mouse.lastY != mouse.y) + { + mouse.lastX = mouse.x; + mouse.lastY = mouse.y; + + drawPushButton(mouse.lastUsedObjectID); + } + + // long delay before repeat + if (pushButton->preDelay && mouse.firstTimePressingButton) + { + tmpCounter = 0; + + if (++mouse.buttonCounter >= BUTTON_DOWN_DELAY) + { + mouse.buttonCounter = 0; + mouse.firstTimePressingButton = false; + } + else + { + return; // we're delaying + } + } + + if (pushButton->state == PUSHBUTTON_PRESSED) + { + // button delay stuff + if (mouse.rightButtonPressed) + buttonDelay = pushButton->delayFrames / 2; + else if (pushButton->preDelay == 2 && (!mouse.firstTimePressingButton && ++tmpCounter >= 20)) // special mode + buttonDelay = 0; + else + buttonDelay = pushButton->delayFrames; + + // main repeat delay + if (++mouse.buttonCounter >= buttonDelay) + { + mouse.buttonCounter = 0; + if (pushButton->callbackFuncOnDown != NULL) + pushButton->callbackFuncOnDown(); + } + } +} + +bool testPushButtonMouseDown(void) +{ + uint16_t start, end; + pushButton_t *pushButton; + + if (editor.ui.sysReqShown) + { + // if a system request is open, only test the first eight pushbuttons (reserved) + start = 0; + end = 8; + } + else + { + start = 8; + end = NUM_PUSHBUTTONS; + } + + for (uint16_t i = start; i < end; i++) + { + pushButton = &pushButtons[i]; + if (!pushButton->visible) + continue; + + if (mouse.x >= pushButton->x && mouse.x < pushButton->x+pushButton->w && + mouse.y >= pushButton->y && mouse.y < pushButton->y+pushButton->h) + { + mouse.lastUsedObjectID = i; + mouse.lastUsedObjectType = OBJECT_PUSHBUTTON; + + if (!mouse.rightButtonPressed) + { + mouse.firstTimePressingButton = true; + mouse.buttonCounter = 0; + + pushButton->state = PUSHBUTTON_PRESSED; + drawPushButton(i); + + if (pushButton->callbackFuncOnDown != NULL) + pushButton->callbackFuncOnDown(); + } + + return true; + } + } + + return false; +} + +int16_t testPushButtonMouseRelease(bool runCallback) +{ + pushButton_t *pushButton; + + if (mouse.lastUsedObjectType != OBJECT_PUSHBUTTON || mouse.lastUsedObjectID == OBJECT_ID_NONE) + return -1; + + assert(mouse.lastUsedObjectID < NUM_PUSHBUTTONS); + pushButton = &pushButtons[mouse.lastUsedObjectID]; + if (!pushButton->visible) + return -1; + + if (mouse.x >= pushButton->x && mouse.x < pushButton->x+pushButton->w && + mouse.y >= pushButton->y && mouse.y < pushButton->y+pushButton->h) + { + pushButton->state = PUSHBUTTON_UNPRESSED; + drawPushButton(mouse.lastUsedObjectID); + + if (runCallback) + { + if (pushButton->callbackFuncOnUp != NULL) + pushButton->callbackFuncOnUp(); + } + + return mouse.lastUsedObjectID; + } + + return -1; +} diff --git a/src/ft2_pushbuttons.h b/src/ft2_pushbuttons.h index c40388c..7d46c98 100644 --- a/src/ft2_pushbuttons.h +++ b/src/ft2_pushbuttons.h @@ -1,379 +1,381 @@ -#pragma once - -#include -#include - -enum // PUSHBUTTONS -{ - // reserved - PB_RES_1, - PB_RES_2, - PB_RES_3, - PB_RES_4, - PB_RES_5, - PB_RES_6, - PB_RES_7, - PB_RES_8, - - // POSITION EDITOR - PB_POSED_POS_UP, - PB_POSED_POS_DOWN, - PB_POSED_INS, - PB_POSED_PATT_UP, - PB_POSED_PATT_DOWN, - PB_POSED_DEL, - PB_POSED_LEN_UP, - PB_POSED_LEN_DOWN, - PB_POSED_REP_UP, - PB_POSED_REP_DOWN, - - // SONG/PATTERN - PB_BPM_UP, - PB_BPM_DOWN, - PB_SPEED_UP, - PB_SPEED_DOWN, - PB_EDITADD_UP, - PB_EDITADD_DOWN, - PB_PATT_UP, - PB_PATT_DOWN, - PB_PATTLEN_UP, - PB_PATTLEN_DOWN, - PB_PATT_EXPAND, - PB_PATT_SHRINK, - - // LOGO - PB_LOGO, - PB_BADGE, - - // MAIN MENU - PB_ABOUT, - PB_NIBBLES, - PB_KILL, - PB_TRIM, - PB_EXTEND_VIEW, - PB_TRANSPOSE, - PB_INST_ED_EXT, - PB_SMP_ED_EXT, - PB_ADV_EDIT, - PB_ADD_CHANNELS, - PB_SUB_CHANNELS, - PB_PLAY_SONG, - PB_PLAY_PATT, - PB_STOP, - PB_RECORD_SONG, - PB_RECORD_PATT, - PB_DISK_OP, - PB_INST_ED, - PB_SMP_ED, - PB_CONFIG, - PB_HELP, - PB_EXIT_EXT_PATT, - - // INSTRUMENT SWITCHER - PB_RANGE1, - PB_RANGE2, - PB_RANGE3, - PB_RANGE4, - PB_RANGE5, - PB_RANGE6, - PB_RANGE7, - PB_RANGE8, - PB_RANGE9, - PB_RANGE10, - PB_RANGE11, - PB_RANGE12, - PB_RANGE13, - PB_RANGE14, - PB_RANGE15, - PB_RANGE16, - PB_SWAP_BANK, - PB_SAMPLE_LIST_UP, - PB_SAMPLE_LIST_DOWN, - - // NIBBLES SCREEN - PB_NIBBLES_PLAY, - PB_NIBBLES_HELP, - PB_NIBBLES_HIGHS, - PB_NIBBLES_EXIT, - - // ADVANCED EDIT - PB_REMAP_TRACK, - PB_REMAP_PATTERN, - PB_REMAP_SONG, - PB_REMAP_BLOCK, - - // ABOUT SCREEN - PB_EXIT_ABOUT, - - // HELP SCREEN - PB_HELP_EXIT, - PB_HELP_SCROLL_UP, - PB_HELP_SCROLL_DOWN, - - // PATTERN EDITOR - PB_CHAN_SCROLL_LEFT, - PB_CHAN_SCROLL_RIGHT, - - // TRANSPOSE - PB_TRANSP_CUR_INS_TRK_UP, - PB_TRANSP_CUR_INS_TRK_DN, - PB_TRANSP_CUR_INS_TRK_12UP, - PB_TRANSP_CUR_INS_TRK_12DN, - PB_TRANSP_ALL_INS_TRK_UP, - PB_TRANSP_ALL_INS_TRK_DN, - PB_TRANSP_ALL_INS_TRK_12UP, - PB_TRANSP_ALL_INS_TRK_12DN, - PB_TRANSP_CUR_INS_PAT_UP, - PB_TRANSP_CUR_INS_PAT_DN, - PB_TRANSP_CUR_INS_PAT_12UP, - PB_TRANSP_CUR_INS_PAT_12DN, - PB_TRANSP_ALL_INS_PAT_UP, - PB_TRANSP_ALL_INS_PAT_DN, - PB_TRANSP_ALL_INS_PAT_12UP, - PB_TRANSP_ALL_INS_PAT_12DN, - PB_TRANSP_CUR_INS_SNG_UP, - PB_TRANSP_CUR_INS_SNG_DN, - PB_TRANSP_CUR_INS_SNG_12UP, - PB_TRANSP_CUR_INS_SNG_12DN, - PB_TRANSP_ALL_INS_SNG_UP, - PB_TRANSP_ALL_INS_SNG_DN, - PB_TRANSP_ALL_INS_SNG_12UP, - PB_TRANSP_ALL_INS_SNG_12DN, - PB_TRANSP_CUR_INS_BLK_UP, - PB_TRANSP_CUR_INS_BLK_DN, - PB_TRANSP_CUR_INS_BLK_12UP, - PB_TRANSP_CUR_INS_BLK_12DN, - PB_TRANSP_ALL_INS_BLK_UP, - PB_TRANSP_ALL_INS_BLK_DN, - PB_TRANSP_ALL_INS_BLK_12UP, - PB_TRANSP_ALL_INS_BLK_12DN, - - // SAMPLE EDITOR - PB_SAMP_SCROLL_LEFT, - PB_SAMP_SCROLL_RIGHT, - PB_SAMP_PNOTE_UP, - PB_SAMP_PNOTE_DOWN, - PB_SAMP_STOP, - PB_SAMP_PWAVE, - PB_SAMP_PRANGE, - PB_SAMP_PDISPLAY, - PB_SAMP_SHOW_RANGE, - PB_SAMP_RANGE_ALL, - PB_SAMP_CLR_RANGE, - PB_SAMP_ZOOM_OUT, - PB_SAMP_SHOW_ALL, - PB_SAMP_SAVE_RNG, - PB_SAMP_CUT, - PB_SAMP_COPY, - PB_SAMP_PASTE, - PB_SAMP_CROP, - PB_SAMP_VOLUME, - PB_SAMP_XFADE, - PB_SAMP_EXIT, - PB_SAMP_CLEAR, - PB_SAMP_MIN, - PB_SAMP_REPEAT_UP, - PB_SAMP_REPEAT_DOWN, - PB_SAMP_REPLEN_UP, - PB_SAMP_REPLEN_DOWN, - - // SAMPLE EDITOR EXTENSION - PB_SAMP_EXT_CLEAR_COPYBUF, - PB_SAMP_EXT_CONV, - PB_SAMP_EXT_ECHO, - PB_SAMP_EXT_BACKWARDS, - PB_SAMP_EXT_CONV_W, - PB_SAMP_EXT_MORPH, - PB_SAMP_EXT_COPY_INS, - PB_SAMP_EXT_COPY_SMP, - PB_SAMP_EXT_XCHG_INS, - PB_SAMP_EXT_XCHG_SMP, - PB_SAMP_EXT_RESAMPLE, - PB_SAMP_EXT_MIX_SAMPLE, - - // INSTRUMENT EDITOR - PB_INST_VDEF1, - PB_INST_VDEF2, - PB_INST_VDEF3, - PB_INST_VDEF4, - PB_INST_VDEF5, - PB_INST_VDEF6, - PB_INST_PDEF1, - PB_INST_PDEF2, - PB_INST_PDEF3, - PB_INST_PDEF4, - PB_INST_PDEF5, - PB_INST_PDEF6, - PB_INST_VP_ADD, - PB_INST_VP_DEL, - PB_INST_VS_UP, - PB_INST_VS_DOWN, - PB_INST_VREPS_UP, - PB_INST_VREPS_DOWN, - PB_INST_VREPE_UP, - PB_INST_VREPE_DOWN, - PB_INST_PP_ADD, - PB_INST_PP_DEL, - PB_INST_PS_UP, - PB_INST_PS_DOWN, - PB_INST_PREPS_UP, - PB_INST_PREPS_DOWN, - PB_INST_PREPE_UP, - PB_INST_PREPE_DOWN, - PB_INST_VOL_DOWN, - PB_INST_VOL_UP, - PB_INST_PAN_DOWN, - PB_INST_PAN_UP, - PB_INST_FTUNE_DOWN, - PB_INST_FTUNE_UP, - PB_INST_FADEOUT_DOWN, - PB_INST_FADEOUT_UP, - PB_INST_VIBSPEED_DOWN, - PB_INST_VIBSPEED_UP, - PB_INST_VIBDEPTH_DOWN, - PB_INST_VIBDEPTH_UP, - PB_INST_VIBSWEEP_DOWN, - PB_INST_VIBSWEEP_UP, - PB_INST_EXIT, - PB_INST_OCT_UP, - PB_INST_HALFTONE_UP, - PB_INST_OCT_DOWN, - PB_INST_HALFTONE_DOWN, - - // INSTRUMENT EDITOR EXTENSION - PB_INST_EXT_MIDI_CH_DOWN, - PB_INST_EXT_MIDI_CH_UP, - PB_INST_EXT_MIDI_PRG_DOWN, - PB_INST_EXT_MIDI_PRG_UP, - PB_INST_EXT_MIDI_BEND_DOWN, - PB_INST_EXT_MIDI_BEND_UP, - - // TRIM SCREEN - PB_TRIM_CALC, - PB_TRIM_TRIM, - - // CONFIG LEFT PANEL - PB_CONFIG_RESET, - PB_CONFIG_LOAD, - PB_CONFIG_SAVE, - PB_CONFIG_EXIT, - - // CONFIG AUDIO - PB_CONFIG_AUDIO_RESCAN, - PB_CONFIG_AUDIO_OUTPUT_DOWN, - PB_CONFIG_AUDIO_OUTPUT_UP, - PB_CONFIG_AUDIO_INPUT_DOWN, - PB_CONFIG_AUDIO_INPUT_UP, - PB_CONFIG_AMP_DOWN, - PB_CONFIG_AMP_UP, - PB_CONFIG_MASTVOL_DOWN, - PB_CONFIG_MASTVOL_UP, - - // CONFIG LAYOUT - PB_CONFIG_PAL_R_DOWN, - PB_CONFIG_PAL_R_UP, - PB_CONFIG_PAL_G_DOWN, - PB_CONFIG_PAL_G_UP, - PB_CONFIG_PAL_B_DOWN, - PB_CONFIG_PAL_B_UP, - PB_CONFIG_PAL_CONT_DOWN, - PB_CONFIG_PAL_CONT_UP, - - // CONFIG MISCELLANEOUS - PB_CONFIG_TOGGLE_FULLSCREEN, - PB_CONFIG_QUANTIZE_UP, - PB_CONFIG_QUANTIZE_DOWN, - PB_CONFIG_MIDICHN_UP, - PB_CONFIG_MIDICHN_DOWN, - PB_CONFIG_MIDITRANS_UP, - PB_CONFIG_MIDITRANS_DOWN, - PB_CONFIG_MIDISENS_DOWN, - PB_CONFIG_MIDISENS_UP, - - // CONFIG MIDI - PB_CONFIG_MIDI_INPUT_DOWN, - PB_CONFIG_MIDI_INPUT_UP, - - // DISK OP. - PB_DISKOP_SAVE, - PB_DISKOP_DELETE, - PB_DISKOP_RENAME, - PB_DISKOP_MAKEDIR, - PB_DISKOP_REFRESH, - PB_DISKOP_SET_PATH, - PB_DISKOP_SHOW_ALL, - PB_DISKOP_EXIT, - PB_DISKOP_ROOT, - PB_DISKOP_PARENT, -#ifdef _WIN32 - PB_DISKOP_DRIVE1, - PB_DISKOP_DRIVE2, - PB_DISKOP_DRIVE3, - PB_DISKOP_DRIVE4, - PB_DISKOP_DRIVE5, - PB_DISKOP_DRIVE6, - PB_DISKOP_DRIVE7, - PB_DISKOP_DRIVE8, -#endif - PB_DISKOP_LIST_UP, - PB_DISKOP_LIST_DOWN, - - // WAV RENDERER - PB_WAV_RENDER, - PB_WAV_EXIT, - PB_WAV_FREQ_UP, - PB_WAV_FREQ_DOWN, - PB_WAV_AMP_UP, - PB_WAV_AMP_DOWN, - PB_WAV_START_UP, - PB_WAV_START_DOWN, - PB_WAV_END_UP, - PB_WAV_END_DOWN, - - NUM_PUSHBUTTONS -}; - -enum -{ - PUSHBUTTON_UNPRESSED = 0, - PUSHBUTTON_PRESSED = 1 -}; - -#define RADIOBUTTON_W 11 -#define RADIOBUTTON_H 11 -#define RADIOBUTTON_STATES 3 - -// amount of frames to wait -#define BUTTON_DOWN_DELAY 8 - -// font #1/#2 special characters (used for buttons) -#define ARROW_UP_STRING "\x05" -#define ARROW_DOWN_STRING "\x03" -#define ARROW_LEFT_STRING "\x1E" -#define ARROW_RIGHT_STRING "\x1F" -#define SMALL_1_STRING "\x08" -#define SMALL_2_STRING "\x09" -#define SMALL_3_STRING "\x0A" -#define SMALL_4_STRING "\x0B" -#define SMALL_5_STRING "\x0C" -#define SMALL_6_STRING "\x0D" - -typedef struct pushButton_t // DO NOT TOUCH! -{ - uint16_t x, y, w, h; - uint8_t preDelay, delayFrames; - char *caption, *caption2; - void (*callbackFuncOnDown)(void); - void (*callbackFuncOnUp)(void); - uint8_t state; - bool bitmapFlag, visible; - const uint8_t *bitmapUnpressed; - const uint8_t *bitmapPressed; -} pushButton_t; - -void drawPushButton(uint16_t pushButtonID); -void showPushButton(uint16_t pushButtonID); -void hidePushButton(uint16_t pushButtonID); -void handlePushButtonsWhileMouseDown(void); -bool testPushButtonMouseDown(void); -int16_t testPushButtonMouseRelease(bool runCallback); +#pragma once + +#include +#include + +enum // PUSHBUTTONS +{ + // reserved + PB_RES_1, + PB_RES_2, + PB_RES_3, + PB_RES_4, + PB_RES_5, + PB_RES_6, + PB_RES_7, + PB_RES_8, + + // POSITION EDITOR + PB_POSED_POS_UP, + PB_POSED_POS_DOWN, + PB_POSED_INS, + PB_POSED_PATT_UP, + PB_POSED_PATT_DOWN, + PB_POSED_DEL, + PB_POSED_LEN_UP, + PB_POSED_LEN_DOWN, + PB_POSED_REP_UP, + PB_POSED_REP_DOWN, + + // SONG/PATTERN + PB_BPM_UP, + PB_BPM_DOWN, + PB_SPEED_UP, + PB_SPEED_DOWN, + PB_EDITADD_UP, + PB_EDITADD_DOWN, + PB_PATT_UP, + PB_PATT_DOWN, + PB_PATTLEN_UP, + PB_PATTLEN_DOWN, + PB_PATT_EXPAND, + PB_PATT_SHRINK, + + // LOGO + PB_LOGO, + PB_BADGE, + + // MAIN MENU + PB_ABOUT, + PB_NIBBLES, + PB_KILL, + PB_TRIM, + PB_EXTEND_VIEW, + PB_TRANSPOSE, + PB_INST_ED_EXT, + PB_SMP_ED_EXT, + PB_ADV_EDIT, + PB_ADD_CHANNELS, + PB_SUB_CHANNELS, + PB_PLAY_SONG, + PB_PLAY_PATT, + PB_STOP, + PB_RECORD_SONG, + PB_RECORD_PATT, + PB_DISK_OP, + PB_INST_ED, + PB_SMP_ED, + PB_CONFIG, + PB_HELP, + PB_EXIT_EXT_PATT, + + // INSTRUMENT SWITCHER + PB_RANGE1, + PB_RANGE2, + PB_RANGE3, + PB_RANGE4, + PB_RANGE5, + PB_RANGE6, + PB_RANGE7, + PB_RANGE8, + PB_RANGE9, + PB_RANGE10, + PB_RANGE11, + PB_RANGE12, + PB_RANGE13, + PB_RANGE14, + PB_RANGE15, + PB_RANGE16, + PB_SWAP_BANK, + PB_SAMPLE_LIST_UP, + PB_SAMPLE_LIST_DOWN, + + // NIBBLES SCREEN + PB_NIBBLES_PLAY, + PB_NIBBLES_HELP, + PB_NIBBLES_HIGHS, + PB_NIBBLES_EXIT, + + // ADVANCED EDIT + PB_REMAP_TRACK, + PB_REMAP_PATTERN, + PB_REMAP_SONG, + PB_REMAP_BLOCK, + + // ABOUT SCREEN + PB_EXIT_ABOUT, + + // HELP SCREEN + PB_HELP_EXIT, + PB_HELP_SCROLL_UP, + PB_HELP_SCROLL_DOWN, + + // PATTERN EDITOR + PB_CHAN_SCROLL_LEFT, + PB_CHAN_SCROLL_RIGHT, + + // TRANSPOSE + PB_TRANSP_CUR_INS_TRK_UP, + PB_TRANSP_CUR_INS_TRK_DN, + PB_TRANSP_CUR_INS_TRK_12UP, + PB_TRANSP_CUR_INS_TRK_12DN, + PB_TRANSP_ALL_INS_TRK_UP, + PB_TRANSP_ALL_INS_TRK_DN, + PB_TRANSP_ALL_INS_TRK_12UP, + PB_TRANSP_ALL_INS_TRK_12DN, + PB_TRANSP_CUR_INS_PAT_UP, + PB_TRANSP_CUR_INS_PAT_DN, + PB_TRANSP_CUR_INS_PAT_12UP, + PB_TRANSP_CUR_INS_PAT_12DN, + PB_TRANSP_ALL_INS_PAT_UP, + PB_TRANSP_ALL_INS_PAT_DN, + PB_TRANSP_ALL_INS_PAT_12UP, + PB_TRANSP_ALL_INS_PAT_12DN, + PB_TRANSP_CUR_INS_SNG_UP, + PB_TRANSP_CUR_INS_SNG_DN, + PB_TRANSP_CUR_INS_SNG_12UP, + PB_TRANSP_CUR_INS_SNG_12DN, + PB_TRANSP_ALL_INS_SNG_UP, + PB_TRANSP_ALL_INS_SNG_DN, + PB_TRANSP_ALL_INS_SNG_12UP, + PB_TRANSP_ALL_INS_SNG_12DN, + PB_TRANSP_CUR_INS_BLK_UP, + PB_TRANSP_CUR_INS_BLK_DN, + PB_TRANSP_CUR_INS_BLK_12UP, + PB_TRANSP_CUR_INS_BLK_12DN, + PB_TRANSP_ALL_INS_BLK_UP, + PB_TRANSP_ALL_INS_BLK_DN, + PB_TRANSP_ALL_INS_BLK_12UP, + PB_TRANSP_ALL_INS_BLK_12DN, + + // SAMPLE EDITOR + PB_SAMP_SCROLL_LEFT, + PB_SAMP_SCROLL_RIGHT, + PB_SAMP_PNOTE_UP, + PB_SAMP_PNOTE_DOWN, + PB_SAMP_STOP, + PB_SAMP_PWAVE, + PB_SAMP_PRANGE, + PB_SAMP_PDISPLAY, + PB_SAMP_SHOW_RANGE, + PB_SAMP_RANGE_ALL, + PB_SAMP_CLR_RANGE, + PB_SAMP_ZOOM_OUT, + PB_SAMP_SHOW_ALL, + PB_SAMP_SAVE_RNG, + PB_SAMP_CUT, + PB_SAMP_COPY, + PB_SAMP_PASTE, + PB_SAMP_CROP, + PB_SAMP_VOLUME, + PB_SAMP_XFADE, + PB_SAMP_EXIT, + PB_SAMP_CLEAR, + PB_SAMP_MIN, + PB_SAMP_REPEAT_UP, + PB_SAMP_REPEAT_DOWN, + PB_SAMP_REPLEN_UP, + PB_SAMP_REPLEN_DOWN, + + // SAMPLE EDITOR EXTENSION + PB_SAMP_EXT_CLEAR_COPYBUF, + PB_SAMP_EXT_CONV, + PB_SAMP_EXT_ECHO, + PB_SAMP_EXT_BACKWARDS, + PB_SAMP_EXT_CONV_W, + PB_SAMP_EXT_MORPH, + PB_SAMP_EXT_COPY_INS, + PB_SAMP_EXT_COPY_SMP, + PB_SAMP_EXT_XCHG_INS, + PB_SAMP_EXT_XCHG_SMP, + PB_SAMP_EXT_RESAMPLE, + PB_SAMP_EXT_MIX_SAMPLE, + + // INSTRUMENT EDITOR + PB_INST_VDEF1, + PB_INST_VDEF2, + PB_INST_VDEF3, + PB_INST_VDEF4, + PB_INST_VDEF5, + PB_INST_VDEF6, + PB_INST_PDEF1, + PB_INST_PDEF2, + PB_INST_PDEF3, + PB_INST_PDEF4, + PB_INST_PDEF5, + PB_INST_PDEF6, + PB_INST_VP_ADD, + PB_INST_VP_DEL, + PB_INST_VS_UP, + PB_INST_VS_DOWN, + PB_INST_VREPS_UP, + PB_INST_VREPS_DOWN, + PB_INST_VREPE_UP, + PB_INST_VREPE_DOWN, + PB_INST_PP_ADD, + PB_INST_PP_DEL, + PB_INST_PS_UP, + PB_INST_PS_DOWN, + PB_INST_PREPS_UP, + PB_INST_PREPS_DOWN, + PB_INST_PREPE_UP, + PB_INST_PREPE_DOWN, + PB_INST_VOL_DOWN, + PB_INST_VOL_UP, + PB_INST_PAN_DOWN, + PB_INST_PAN_UP, + PB_INST_FTUNE_DOWN, + PB_INST_FTUNE_UP, + PB_INST_FADEOUT_DOWN, + PB_INST_FADEOUT_UP, + PB_INST_VIBSPEED_DOWN, + PB_INST_VIBSPEED_UP, + PB_INST_VIBDEPTH_DOWN, + PB_INST_VIBDEPTH_UP, + PB_INST_VIBSWEEP_DOWN, + PB_INST_VIBSWEEP_UP, + PB_INST_EXIT, + PB_INST_OCT_UP, + PB_INST_HALFTONE_UP, + PB_INST_OCT_DOWN, + PB_INST_HALFTONE_DOWN, + + // INSTRUMENT EDITOR EXTENSION + PB_INST_EXT_MIDI_CH_DOWN, + PB_INST_EXT_MIDI_CH_UP, + PB_INST_EXT_MIDI_PRG_DOWN, + PB_INST_EXT_MIDI_PRG_UP, + PB_INST_EXT_MIDI_BEND_DOWN, + PB_INST_EXT_MIDI_BEND_UP, + + // TRIM SCREEN + PB_TRIM_CALC, + PB_TRIM_TRIM, + + // CONFIG LEFT PANEL + PB_CONFIG_RESET, + PB_CONFIG_LOAD, + PB_CONFIG_SAVE, + PB_CONFIG_EXIT, + + // CONFIG AUDIO + PB_CONFIG_AUDIO_RESCAN, + PB_CONFIG_AUDIO_OUTPUT_DOWN, + PB_CONFIG_AUDIO_OUTPUT_UP, + PB_CONFIG_AUDIO_INPUT_DOWN, + PB_CONFIG_AUDIO_INPUT_UP, + PB_CONFIG_AMP_DOWN, + PB_CONFIG_AMP_UP, + PB_CONFIG_MASTVOL_DOWN, + PB_CONFIG_MASTVOL_UP, + + // CONFIG LAYOUT + PB_CONFIG_PAL_R_DOWN, + PB_CONFIG_PAL_R_UP, + PB_CONFIG_PAL_G_DOWN, + PB_CONFIG_PAL_G_UP, + PB_CONFIG_PAL_B_DOWN, + PB_CONFIG_PAL_B_UP, + PB_CONFIG_PAL_CONT_DOWN, + PB_CONFIG_PAL_CONT_UP, + + // CONFIG MISCELLANEOUS + PB_CONFIG_TOGGLE_FULLSCREEN, + PB_CONFIG_QUANTIZE_UP, + PB_CONFIG_QUANTIZE_DOWN, + PB_CONFIG_MIDICHN_UP, + PB_CONFIG_MIDICHN_DOWN, + PB_CONFIG_MIDITRANS_UP, + PB_CONFIG_MIDITRANS_DOWN, + PB_CONFIG_MIDISENS_DOWN, + PB_CONFIG_MIDISENS_UP, + +#ifdef HAS_MIDI + // CONFIG MIDI + PB_CONFIG_MIDI_INPUT_DOWN, + PB_CONFIG_MIDI_INPUT_UP, +#endif + + // DISK OP. + PB_DISKOP_SAVE, + PB_DISKOP_DELETE, + PB_DISKOP_RENAME, + PB_DISKOP_MAKEDIR, + PB_DISKOP_REFRESH, + PB_DISKOP_SET_PATH, + PB_DISKOP_SHOW_ALL, + PB_DISKOP_EXIT, + PB_DISKOP_ROOT, + PB_DISKOP_PARENT, +#ifdef _WIN32 + PB_DISKOP_DRIVE1, + PB_DISKOP_DRIVE2, + PB_DISKOP_DRIVE3, + PB_DISKOP_DRIVE4, + PB_DISKOP_DRIVE5, + PB_DISKOP_DRIVE6, + PB_DISKOP_DRIVE7, + PB_DISKOP_DRIVE8, +#endif + PB_DISKOP_LIST_UP, + PB_DISKOP_LIST_DOWN, + + // WAV RENDERER + PB_WAV_RENDER, + PB_WAV_EXIT, + PB_WAV_FREQ_UP, + PB_WAV_FREQ_DOWN, + PB_WAV_AMP_UP, + PB_WAV_AMP_DOWN, + PB_WAV_START_UP, + PB_WAV_START_DOWN, + PB_WAV_END_UP, + PB_WAV_END_DOWN, + + NUM_PUSHBUTTONS +}; + +enum +{ + PUSHBUTTON_UNPRESSED = 0, + PUSHBUTTON_PRESSED = 1 +}; + +#define RADIOBUTTON_W 11 +#define RADIOBUTTON_H 11 +#define RADIOBUTTON_STATES 3 + +// amount of frames to wait +#define BUTTON_DOWN_DELAY 8 + +// font #1/#2 special characters (used for buttons) +#define ARROW_UP_STRING "\x05" +#define ARROW_DOWN_STRING "\x03" +#define ARROW_LEFT_STRING "\x1E" +#define ARROW_RIGHT_STRING "\x1F" +#define SMALL_1_STRING "\x08" +#define SMALL_2_STRING "\x09" +#define SMALL_3_STRING "\x0A" +#define SMALL_4_STRING "\x0B" +#define SMALL_5_STRING "\x0C" +#define SMALL_6_STRING "\x0D" + +typedef struct pushButton_t // DO NOT TOUCH! +{ + uint16_t x, y, w, h; + uint8_t preDelay, delayFrames; + char *caption, *caption2; + void (*callbackFuncOnDown)(void); + void (*callbackFuncOnUp)(void); + uint8_t state; + bool bitmapFlag, visible; + const uint8_t *bitmapUnpressed; + const uint8_t *bitmapPressed; +} pushButton_t; + +void drawPushButton(uint16_t pushButtonID); +void showPushButton(uint16_t pushButtonID); +void hidePushButton(uint16_t pushButtonID); +void handlePushButtonsWhileMouseDown(void); +bool testPushButtonMouseDown(void); +int16_t testPushButtonMouseRelease(bool runCallback); diff --git a/src/ft2_radiobuttons.c b/src/ft2_radiobuttons.c index 4aef047..8de5a98 100644 --- a/src/ft2_radiobuttons.c +++ b/src/ft2_radiobuttons.c @@ -1,455 +1,463 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include "ft2_header.h" -#include "ft2_gui.h" -#include "ft2_config.h" -#include "ft2_help.h" -#include "ft2_sample_ed.h" -#include "ft2_nibbles.h" -#include "ft2_inst_ed.h" -#include "ft2_diskop.h" -#include "ft2_mouse.h" -#include "ft2_wav_renderer.h" - -radioButton_t radioButtons[NUM_RADIOBUTTONS] = -{ - /* - ** -- STRUCT INFO: -- - ** x = x position - ** y = y position - ** w = clickable width space, relative to x - ** group = what group the radiobutton belongs to - ** funcOnUp = function to call when released - */ - - // ------ HELP SCREEN RADIOBUTTONS ------ - //x, y, w, group, funcOnUp - { 5, 16, 68, RB_GROUP_HELP, rbHelpFeatures }, - { 5, 31, 59, RB_GROUP_HELP, rbHelpEffects }, - { 5, 46, 70, RB_GROUP_HELP, rbHelpKeyboard }, - { 5, 61, 108, RB_GROUP_HELP, rbHelpHowToUseFT2 }, - { 5, 76, 100, RB_GROUP_HELP, rbHelpFAQ }, - { 5, 91, 85, RB_GROUP_HELP, rbHelpKnownBugs }, - - // ------ NIBBLES SCREEN RADIOBUTTONS ------ - //x, y, w, group, funcOnUp - { 4, 105, 62, RB_GROUP_NIBBLES_PLAYERS, nibblesSet1Player }, - { 4, 119, 69, RB_GROUP_NIBBLES_PLAYERS, nibblesSet2Players }, - { 79, 117, 55, RB_GROUP_NIBBLES_DIFFICULTY, nibblesSetNovice }, - { 79, 131, 63, RB_GROUP_NIBBLES_DIFFICULTY, nibblesSetAverage }, - { 79, 145, 34, RB_GROUP_NIBBLES_DIFFICULTY, nibblesSetPro }, - { 79, 159, 50, RB_GROUP_NIBBLES_DIFFICULTY, nibblesSetTriton }, - - // ------ SAMPLER SCREEN RADIOBUTTONS ------ - //x, y, w, group, funcOnUp - { 357, 351, 58, RB_GROUP_SAMPLE_LOOP, rbSampleNoLoop }, - { 357, 368, 62, RB_GROUP_SAMPLE_LOOP, rbSampleForwardLoop }, - { 357, 385, 67, RB_GROUP_SAMPLE_LOOP, rbSamplePingpongLoop }, - { 431, 368, 44, RB_GROUP_SAMPLE_DEPTH, rbSample8bit }, - { 431, 383, 50, RB_GROUP_SAMPLE_DEPTH, rbSample16bit }, - - // ------ INSTRUMENT EDITOR SCREEN RADIOBUTTONS ------ - //x, y, w, group, funcOnUp - { 442, 279, 25, RB_GROUP_INST_WAVEFORM, rbVibWaveSine }, - { 472, 279, 25, RB_GROUP_INST_WAVEFORM, rbVibWaveSquare }, - { 502, 279, 25, RB_GROUP_INST_WAVEFORM, rbVibWaveRampDown }, - { 532, 279, 25, RB_GROUP_INST_WAVEFORM, rbVibWaveRampUp }, - - // ------ CONFIG SCREEN LEFT RADIOBUTTONS ------ - //x, y, w, group, funcOnUp - { 4, 19, 88, RB_GROUP_CONFIG_SELECT, rbConfigIODevices }, - { 4, 35, 59, RB_GROUP_CONFIG_SELECT, rbConfigLayout }, - { 4, 51, 99, RB_GROUP_CONFIG_SELECT, rbConfigMiscellaneous }, - { 4, 67, 74, RB_GROUP_CONFIG_SELECT, rbConfigMidiInput }, - - // ------ CONFIG AUDIO ------ - - // audio buffer size - //x, y, w, group, funcOnUp - { 390, 16, 46, RB_GROUP_CONFIG_SOUND_BUFF_SIZE, rbConfigSbs512 }, - { 390, 30, 113, RB_GROUP_CONFIG_SOUND_BUFF_SIZE, rbConfigSbs1024 }, - { 390, 44, 50, RB_GROUP_CONFIG_SOUND_BUFF_SIZE, rbConfigSbs2048 }, - { 390, 58, 76, RB_GROUP_CONFIG_SOUND_BUFF_SIZE, rbConfigSbs4096 }, - - // audio bit depth - //x, y, w, group, funcOnUp - { 390, 89, 107, RB_GROUP_CONFIG_AUDIO_BIT_DEPTH, rbConfigAudio16bit }, - { 390, 103, 83, RB_GROUP_CONFIG_AUDIO_BIT_DEPTH, rbConfigAudio24bit }, - - // audio output frequency - //x, y, w, group, funcOnUp -#ifdef __APPLE__ - { 509, 16, 121, RB_GROUP_CONFIG_AUDIO_FREQ, rbConfigAudio44kHz }, - { 509, 30, 66, RB_GROUP_CONFIG_AUDIO_FREQ, rbConfigAudio48kHz }, -#else - { 509, 16, 66, RB_GROUP_CONFIG_AUDIO_FREQ, rbConfigAudio44kHz }, - { 509, 30, 121, RB_GROUP_CONFIG_AUDIO_FREQ, rbConfigAudio48kHz }, -#endif - { 509, 44, 66, RB_GROUP_CONFIG_AUDIO_FREQ, rbConfigAudio96kHz }, - - // frequency table - //x, y, w, group, funcOnUp - { 509, 89, 117, RB_GROUP_CONFIG_FREQ_TABLE, rbConfigFreqTableAmiga }, - { 509, 103, 120, RB_GROUP_CONFIG_FREQ_TABLE, rbConfigFreqTableLinear }, - - // ------ CONFIG LAYOUT ------ - - // mouse shape - //x, y, w, group, funcOnUp - { 115, 120, 41, RB_GROUP_CONFIG_MOUSE, rbConfigMouseNice }, - { 178, 120, 41, RB_GROUP_CONFIG_MOUSE, rbConfigMouseUgly }, - { 115, 134, 47, RB_GROUP_CONFIG_MOUSE, rbConfigMouseAwful }, - { 178, 134, 62, RB_GROUP_CONFIG_MOUSE, rbConfigMouseUseable }, - - // mouse busy shape - //x, y, w, group, funcOnUp - { 115, 159, 51, RB_GROUP_CONFIG_MOUSE_BUSY, rbConfigMouseBusyVogue }, - { 178, 159, 45, RB_GROUP_CONFIG_MOUSE_BUSY, rbConfigMouseBusyMrH }, - - // scope style - //x, y, w, group, funcOnUp - { 305, 145, 37, RB_GROUP_CONFIG_SCOPE, rbConfigScopeStandard }, - { 346, 145, 46, RB_GROUP_CONFIG_SCOPE, rbConfigScopeLined }, - - // visible pattern channels - //x, y, w, group, funcOnUp - { 257, 42, 78, RB_GROUP_CONFIG_PATTERN_CHANS, rbConfigPatt4Chans }, - { 257, 56, 78, RB_GROUP_CONFIG_PATTERN_CHANS, rbConfigPatt6Chans }, - { 257, 70, 78, RB_GROUP_CONFIG_PATTERN_CHANS, rbConfigPatt8Chans }, - { 257, 84, 85, RB_GROUP_CONFIG_PATTERN_CHANS, rbConfigPatt12Chans }, - - // pattern font - //x, y, w, group, funcOnUp - { 257, 114, 62, RB_GROUP_CONFIG_FONT, rbConfigFontCapitals }, - { 323, 114, 68, RB_GROUP_CONFIG_FONT, rbConfigFontLowerCase }, - { 257, 129, 54, RB_GROUP_CONFIG_FONT, rbConfigFontFuture }, - { 323, 129, 40, RB_GROUP_CONFIG_FONT, rbConfigFontBold }, - - // palette entries - //x, y, w, group, funcOnUp - { 399, 2, 88, RB_GROUP_CONFIG_PAL_ENTRIES, rbConfigPalPatternText }, - { 399, 16, 79, RB_GROUP_CONFIG_PAL_ENTRIES, rbConfigPalBlockMark }, - { 399, 30, 97, RB_GROUP_CONFIG_PAL_ENTRIES, rbConfigPalTextOnBlock }, - { 399, 44, 52, RB_GROUP_CONFIG_PAL_ENTRIES, rbConfigPalMouse }, - { 399, 58, 63, RB_GROUP_CONFIG_PAL_ENTRIES, rbConfigPalDesktop }, - { 399, 72, 61, RB_GROUP_CONFIG_PAL_ENTRIES, rbConfigPalButttons }, - - // palette presets - //x, y, w, group, funcOnUp - { 399, 89, 50, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalArctic }, - { 512, 89, 81, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalLitheDark }, - { 399, 103, 105, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalAuroraBorealis }, - { 512, 103, 45, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalRose }, - { 399, 117, 47, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalBlues }, - { 512, 117, 81, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalSpacePigs }, - { 399, 131, 40, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalGold }, - { 512, 131, 56, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalViolent }, - { 399, 145, 87, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalHeavyMetal }, - { 512, 145, 91, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalWhyColors }, - { 399, 159, 54, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalJungle }, - { 512, 159, 90, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalUserDefined }, - - // ------ CONFIG MISCELLANEOUS ------ - - // FILENAME SORTING - //x, y, w, group, funcOnUp - { 114, 15, 40, RB_GROUP_CONFIG_FILESORT, rbFileSortExt }, - { 114, 29, 48, RB_GROUP_CONFIG_FILESORT, rbFileSortName }, - - // WINDOW SIZE - //x, y, w, group, funcOnUp - { 114, 58, 60, RB_GROUP_CONFIG_WIN_SIZE, rbWinSizeAuto }, - { 114, 72, 31, RB_GROUP_CONFIG_WIN_SIZE, rbWinSize1x }, - { 156, 72, 31, RB_GROUP_CONFIG_WIN_SIZE, rbWinSize3x }, - { 114, 86, 31, RB_GROUP_CONFIG_WIN_SIZE, rbWinSize2x }, - { 156, 86, 31, RB_GROUP_CONFIG_WIN_SIZE, rbWinSize4x }, - - // ------ DISK OP. ------ - - // FILENAME SORTING - //x, y, w, group, funcOnUp - { 4, 16, 55, RB_GROUP_DISKOP_ITEM, rbDiskOpModule }, - { 4, 30, 45, RB_GROUP_DISKOP_ITEM, rbDiskOpInstr }, - { 4, 44, 56, RB_GROUP_DISKOP_ITEM, rbDiskOpSample }, - { 4, 58, 59, RB_GROUP_DISKOP_ITEM, rbDiskOpPattern }, - { 4, 72, 50, RB_GROUP_DISKOP_ITEM, rbDiskOpTrack }, - - // MODULE SAVE AS FORMATS - //x, y, w, group, funcOnUp - { 4, 100, 40, RB_GROUP_DISKOP_MOD_SAVEAS, rbDiskOpModSaveMod }, - { 4, 114, 33, RB_GROUP_DISKOP_MOD_SAVEAS, rbDiskOpModSaveXm }, - { 4, 128, 40, RB_GROUP_DISKOP_MOD_SAVEAS, rbDiskOpModSaveWav }, - - // INSTRUMENT SAVE AS FORMATS - //x, y, w, group, funcOnUp - { 4, 100, 29, RB_GROUP_DISKOP_INS_SAVEAS, NULL }, - - // SAMPLE SAVE AS FORMATS - //x, y, w, group, funcOnUp - { 4, 100, 40, RB_GROUP_DISKOP_SMP_SAVEAS, rbDiskOpSmpSaveRaw }, - { 4, 114, 34, RB_GROUP_DISKOP_SMP_SAVEAS, rbDiskOpSmpSaveIff }, - { 4, 128, 40, RB_GROUP_DISKOP_SMP_SAVEAS, rbDiskOpSmpSaveWav }, - - // PATTERN SAVE AS FORMATS - //x, y, w, group, funcOnUp - { 4, 100, 33, RB_GROUP_DISKOP_PAT_SAVEAS, NULL }, - - // TRACK SAVE AS FORMATS - //x, y, w, group, funcOnUp - { 4, 100, 31, RB_GROUP_DISKOP_TRK_SAVEAS, NULL }, - - // WAV RENDERER BITDEPTH - //x, y, w, group, funcOnUp - { 140, 95, 52, RB_GROUP_WAV_RENDER_BITDEPTH, rbWavRenderBitDepth16 }, - { 205, 95, 83, RB_GROUP_WAV_RENDER_BITDEPTH, rbWavRenderBitDepth32 } -}; - -// defined at the bottom of this file -extern const uint8_t radioButtonGraphics[3][RADIOBUTTON_W * RADIOBUTTON_H]; - -void drawRadioButton(uint16_t radioButtonID) -{ - uint8_t state; - radioButton_t *radioButton; - - assert(radioButtonID < NUM_RADIOBUTTONS); - radioButton = &radioButtons[radioButtonID]; - if (!radioButton->visible) - return; - - assert(radioButton->x < SCREEN_W && radioButton->y < SCREEN_H); - - state = radioButton->state; - if (state <= RADIOBUTTON_STATES-1) - blitFast(radioButton->x, radioButton->y, radioButtonGraphics[state], RADIOBUTTON_W, RADIOBUTTON_H); -} - -void showRadioButton(uint16_t radioButtonID) -{ - assert(radioButtonID < NUM_RADIOBUTTONS); - radioButtons[radioButtonID].visible = true; - drawRadioButton(radioButtonID); -} - -void hideRadioButton(uint16_t radioButtonID) -{ - assert(radioButtonID < NUM_RADIOBUTTONS); - radioButtons[radioButtonID].state = 0; - radioButtons[radioButtonID].visible = false; -} - -void checkRadioButton(uint16_t radioButtonID) -{ - radioButton_t *radioButton; - - assert(radioButtonID < NUM_RADIOBUTTONS); - radioButton = &radioButtons[radioButtonID]; - - for (uint16_t i = 0; i < NUM_RADIOBUTTONS; i++) - { - if (radioButtons[i].group == radioButton->group && radioButtons[i].state == RADIOBUTTON_CHECKED) - { - radioButtons[i].state = RADIOBUTTON_UNCHECKED; - drawRadioButton(i); - break; - } - } - - radioButtons[radioButtonID].state = RADIOBUTTON_CHECKED; - drawRadioButton(radioButtonID); -} - -void uncheckRadioButtonGroup(uint16_t radioButtonGroup) -{ - for (uint16_t i = 0; i < NUM_RADIOBUTTONS; i++) - { - if (radioButtons[i].group == radioButtonGroup) - radioButtons[i].state = RADIOBUTTON_UNCHECKED; - } -} - -void showRadioButtonGroup(uint16_t radioButtonGroup) -{ - for (uint16_t i = 0; i < NUM_RADIOBUTTONS; i++) - { - if (radioButtons[i].group == radioButtonGroup) - showRadioButton(i); - } -} - -void hideRadioButtonGroup(uint16_t radioButtonGroup) -{ - for (uint16_t i = 0; i < NUM_RADIOBUTTONS; i++) - { - if (radioButtons[i].group == radioButtonGroup) - hideRadioButton(i); - } -} - -void handleRadioButtonsWhileMouseDown(void) -{ - radioButton_t *radioButton; - - assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_RADIOBUTTONS); - radioButton = &radioButtons[mouse.lastUsedObjectID]; - if (!radioButton->visible || radioButton->state == RADIOBUTTON_CHECKED) - return; - - radioButton->state = RADIOBUTTON_UNCHECKED; - if (mouse.x >= radioButton->x && mouse.x < radioButton->x+radioButton->clickAreaWidth && - mouse.y >= radioButton->y && mouse.y < radioButton->y+(RADIOBUTTON_H+1)) - { - radioButton->state = RADIOBUTTON_PRESSED; - } - - if (mouse.lastX != mouse.x || mouse.lastY != mouse.y) - { - mouse.lastX = mouse.x; - mouse.lastY = mouse.y; - - drawRadioButton(mouse.lastUsedObjectID); - } -} - -bool testRadioButtonMouseDown(void) -{ - radioButton_t *radioButton; - - if (editor.ui.sysReqShown) - return false; - - for (uint16_t i = 0; i < NUM_RADIOBUTTONS; i++) - { - radioButton = &radioButtons[i]; - if (!radioButton->visible || radioButton->state == RADIOBUTTON_CHECKED) - continue; - - if (mouse.x >= radioButton->x && mouse.x < radioButton->x+radioButton->clickAreaWidth && - mouse.y >= radioButton->y && mouse.y < radioButton->y+(RADIOBUTTON_H+1)) - { - mouse.lastUsedObjectID = i; - mouse.lastUsedObjectType = OBJECT_RADIOBUTTON; - return true; - } - } - - return false; -} - -void testRadioButtonMouseRelease(void) -{ - radioButton_t *radioButton; - - if (mouse.lastUsedObjectType != OBJECT_RADIOBUTTON || mouse.lastUsedObjectID == OBJECT_ID_NONE) - return; - - assert(mouse.lastUsedObjectID < NUM_RADIOBUTTONS); - radioButton = &radioButtons[mouse.lastUsedObjectID]; - if (!radioButton->visible || radioButton->state == RADIOBUTTON_CHECKED) - return; - - if (mouse.x >= radioButton->x && mouse.x < radioButton->x+radioButton->clickAreaWidth && - mouse.y >= radioButton->y && mouse.y < radioButton->y+(RADIOBUTTON_H+1)) - { - radioButton->state = RADIOBUTTON_UNCHECKED; - drawRadioButton(mouse.lastUsedObjectID); - - if (radioButton->callbackFunc != NULL) - radioButton->callbackFunc(); - } -} - -const uint8_t radioButtonGraphics[3][RADIOBUTTON_W * RADIOBUTTON_H] = -{ - // unticked - { - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, - PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, - PAL_DSKTOP1, PAL_DSKTOP2, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, - PAL_DSKTOP1, PAL_DSKTOP2, PAL_DESKTOP, PAL_DSKTOP2, PAL_DSKTOP1, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, - PAL_DSKTOP1, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DSKTOP2, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, - PAL_DSKTOP1, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, PAL_DSKTOP1, PAL_DESKTOP, - PAL_DSKTOP2, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP2, PAL_DESKTOP, PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_BCKGRND, - PAL_DSKTOP2, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_BCKGRND, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_BCKGRND, - PAL_DSKTOP2, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_BCKGRND, - PAL_DSKTOP2, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, PAL_BCKGRND, - PAL_DSKTOP2, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DSKTOP2, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP - }, - - // ticked - { - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP2, PAL_BCKGRND, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_BCKGRND, PAL_DSKTOP2, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_FORGRND, PAL_DESKTOP, - PAL_BCKGRND, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_FORGRND, PAL_FORGRND, - PAL_FORGRND, PAL_DESKTOP, PAL_BCKGRND, PAL_DSKTOP2, PAL_DESKTOP, - PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_FORGRND, PAL_FORGRND, - PAL_FORGRND, PAL_FORGRND, PAL_FORGRND, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP2, PAL_DESKTOP, PAL_DSKTOP1, PAL_DSKTOP2, PAL_DESKTOP, - PAL_FORGRND, PAL_FORGRND, PAL_FORGRND, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, - PAL_DSKTOP2, PAL_DESKTOP, PAL_FORGRND, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DSKTOP1, PAL_DSKTOP2, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, PAL_DSKTOP2, - PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP - }, - - // pressed - { - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP2, PAL_BCKGRND, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_BCKGRND, PAL_DSKTOP2, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_BCKGRND, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_BCKGRND, PAL_DSKTOP2, PAL_DESKTOP, - PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP2, PAL_DESKTOP, PAL_DSKTOP1, PAL_DSKTOP2, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, - PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DSKTOP1, PAL_DSKTOP2, PAL_DESKTOP, PAL_DSKTOP2, - PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, PAL_DSKTOP2, - PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, - PAL_DESKTOP - } -}; +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include "ft2_header.h" +#include "ft2_gui.h" +#include "ft2_config.h" +#include "ft2_help.h" +#include "ft2_sample_ed.h" +#include "ft2_nibbles.h" +#include "ft2_inst_ed.h" +#include "ft2_diskop.h" +#include "ft2_mouse.h" +#include "ft2_wav_renderer.h" + +radioButton_t radioButtons[NUM_RADIOBUTTONS] = +{ + /* + ** -- STRUCT INFO: -- + ** x = x position + ** y = y position + ** w = clickable width space, relative to x + ** group = what group the radiobutton belongs to + ** funcOnUp = function to call when released + */ + + // ------ HELP SCREEN RADIOBUTTONS ------ + //x, y, w, group, funcOnUp + { 5, 16, 68, RB_GROUP_HELP, rbHelpFeatures }, + { 5, 31, 59, RB_GROUP_HELP, rbHelpEffects }, + { 5, 46, 70, RB_GROUP_HELP, rbHelpKeyboard }, + { 5, 61, 108, RB_GROUP_HELP, rbHelpHowToUseFT2 }, + { 5, 76, 100, RB_GROUP_HELP, rbHelpFAQ }, + { 5, 91, 85, RB_GROUP_HELP, rbHelpKnownBugs }, + + // ------ NIBBLES SCREEN RADIOBUTTONS ------ + //x, y, w, group, funcOnUp + { 4, 105, 61, RB_GROUP_NIBBLES_PLAYERS, nibblesSet1Player }, + { 4, 119, 68, RB_GROUP_NIBBLES_PLAYERS, nibblesSet2Players }, + { 79, 117, 55, RB_GROUP_NIBBLES_DIFFICULTY, nibblesSetNovice }, + { 79, 131, 63, RB_GROUP_NIBBLES_DIFFICULTY, nibblesSetAverage }, + { 79, 145, 34, RB_GROUP_NIBBLES_DIFFICULTY, nibblesSetPro }, + { 79, 159, 50, RB_GROUP_NIBBLES_DIFFICULTY, nibblesSetTriton }, + + // ------ SAMPLER SCREEN RADIOBUTTONS ------ + //x, y, w, group, funcOnUp + { 357, 351, 58, RB_GROUP_SAMPLE_LOOP, rbSampleNoLoop }, + { 357, 368, 62, RB_GROUP_SAMPLE_LOOP, rbSampleForwardLoop }, + { 357, 385, 67, RB_GROUP_SAMPLE_LOOP, rbSamplePingpongLoop }, + { 431, 368, 44, RB_GROUP_SAMPLE_DEPTH, rbSample8bit }, + { 431, 383, 50, RB_GROUP_SAMPLE_DEPTH, rbSample16bit }, + + // ------ INSTRUMENT EDITOR SCREEN RADIOBUTTONS ------ + //x, y, w, group, funcOnUp + { 442, 279, 25, RB_GROUP_INST_WAVEFORM, rbVibWaveSine }, + { 472, 279, 25, RB_GROUP_INST_WAVEFORM, rbVibWaveSquare }, + { 502, 279, 25, RB_GROUP_INST_WAVEFORM, rbVibWaveRampDown }, + { 532, 279, 25, RB_GROUP_INST_WAVEFORM, rbVibWaveRampUp }, + + // ------ CONFIG SCREEN LEFT RADIOBUTTONS ------ + //x, y, w, group, funcOnUp + { 4, 19, 87, RB_GROUP_CONFIG_SELECT, rbConfigIODevices }, + { 4, 35, 59, RB_GROUP_CONFIG_SELECT, rbConfigLayout }, + { 4, 51, 99, RB_GROUP_CONFIG_SELECT, rbConfigMiscellaneous }, + +#ifdef HAS_MIDI + { 4, 67, 74, RB_GROUP_CONFIG_SELECT, rbConfigMidiInput }, +#endif + + // ------ CONFIG AUDIO ------ + + // audio buffer size + //x, y, w, group, funcOnUp + { 390, 16, 46, RB_GROUP_CONFIG_SOUND_BUFF_SIZE, rbConfigSbs512 }, + { 390, 30, 113, RB_GROUP_CONFIG_SOUND_BUFF_SIZE, rbConfigSbs1024 }, + { 390, 44, 50, RB_GROUP_CONFIG_SOUND_BUFF_SIZE, rbConfigSbs2048 }, + + // audio bit depth + //x, y, w, group, funcOnUp + { 390, 89, 107, RB_GROUP_CONFIG_AUDIO_BIT_DEPTH, rbConfigAudio16bit }, + { 390, 103, 83, RB_GROUP_CONFIG_AUDIO_BIT_DEPTH, rbConfigAudio24bit }, + + // audio output frequency + //x, y, w, group, funcOnUp +#ifdef __APPLE__ + { 509, 16, 121, RB_GROUP_CONFIG_AUDIO_FREQ, rbConfigAudio44kHz }, + { 509, 30, 66, RB_GROUP_CONFIG_AUDIO_FREQ, rbConfigAudio48kHz }, +#else + { 509, 16, 66, RB_GROUP_CONFIG_AUDIO_FREQ, rbConfigAudio44kHz }, + { 509, 30, 121, RB_GROUP_CONFIG_AUDIO_FREQ, rbConfigAudio48kHz }, +#endif + { 509, 44, 66, RB_GROUP_CONFIG_AUDIO_FREQ, rbConfigAudio96kHz }, + + // audio input frequency + //x, y, w, group, funcOnUp + { 180, 156, 60, RB_GROUP_CONFIG_AUDIO_INPUT_FREQ, rbConfigAudioInput44kHz }, + { 251, 156, 60, RB_GROUP_CONFIG_AUDIO_INPUT_FREQ, rbConfigAudioInput48kHz }, + { 322, 156, 60, RB_GROUP_CONFIG_AUDIO_INPUT_FREQ, rbConfigAudioInput96kHz }, + + // frequency table + //x, y, w, group, funcOnUp + { 509, 89, 114, RB_GROUP_CONFIG_FREQ_TABLE, rbConfigFreqTableAmiga }, + { 509, 103, 117, RB_GROUP_CONFIG_FREQ_TABLE, rbConfigFreqTableLinear }, + + // ------ CONFIG LAYOUT ------ + + // mouse shape + //x, y, w, group, funcOnUp + { 115, 120, 41, RB_GROUP_CONFIG_MOUSE, rbConfigMouseNice }, + { 178, 120, 41, RB_GROUP_CONFIG_MOUSE, rbConfigMouseUgly }, + { 115, 134, 47, RB_GROUP_CONFIG_MOUSE, rbConfigMouseAwful }, + { 178, 134, 55, RB_GROUP_CONFIG_MOUSE, rbConfigMouseUsable }, + + // mouse busy shape + //x, y, w, group, funcOnUp + { 115, 159, 51, RB_GROUP_CONFIG_MOUSE_BUSY, rbConfigMouseBusyVogue }, + { 178, 159, 45, RB_GROUP_CONFIG_MOUSE_BUSY, rbConfigMouseBusyMrH }, + + // scope style + //x, y, w, group, funcOnUp + { 305, 145, 37, RB_GROUP_CONFIG_SCOPE, rbConfigScopeStandard }, + { 346, 145, 46, RB_GROUP_CONFIG_SCOPE, rbConfigScopeLined }, + + // visible pattern channels + //x, y, w, group, funcOnUp + { 257, 42, 78, RB_GROUP_CONFIG_PATTERN_CHANS, rbConfigPatt4Chans }, + { 257, 56, 78, RB_GROUP_CONFIG_PATTERN_CHANS, rbConfigPatt6Chans }, + { 257, 70, 78, RB_GROUP_CONFIG_PATTERN_CHANS, rbConfigPatt8Chans }, + { 257, 84, 85, RB_GROUP_CONFIG_PATTERN_CHANS, rbConfigPatt12Chans }, + + // pattern font + //x, y, w, group, funcOnUp + { 257, 114, 62, RB_GROUP_CONFIG_FONT, rbConfigFontCapitals }, + { 323, 114, 68, RB_GROUP_CONFIG_FONT, rbConfigFontLowerCase }, + { 257, 129, 54, RB_GROUP_CONFIG_FONT, rbConfigFontFuture }, + { 323, 129, 40, RB_GROUP_CONFIG_FONT, rbConfigFontBold }, + + // palette entries + //x, y, w, group, funcOnUp + { 399, 2, 88, RB_GROUP_CONFIG_PAL_ENTRIES, rbConfigPalPatternText }, + { 399, 16, 79, RB_GROUP_CONFIG_PAL_ENTRIES, rbConfigPalBlockMark }, + { 399, 30, 97, RB_GROUP_CONFIG_PAL_ENTRIES, rbConfigPalTextOnBlock }, + { 399, 44, 52, RB_GROUP_CONFIG_PAL_ENTRIES, rbConfigPalMouse }, + { 399, 58, 63, RB_GROUP_CONFIG_PAL_ENTRIES, rbConfigPalDesktop }, + { 399, 72, 61, RB_GROUP_CONFIG_PAL_ENTRIES, rbConfigPalButttons }, + + // palette presets + //x, y, w, group, funcOnUp + { 399, 89, 50, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalArctic }, + { 512, 89, 81, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalLitheDark }, + { 399, 103, 105, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalAuroraBorealis }, + { 512, 103, 45, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalRose }, + { 399, 117, 47, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalBlues }, + { 512, 117, 81, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalSpacePigs }, + { 399, 131, 40, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalGold }, + { 512, 131, 56, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalViolent }, + { 399, 145, 87, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalHeavyMetal }, + { 512, 145, 87, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalWhyColors }, + { 399, 159, 54, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalJungle }, + { 512, 159, 90, RB_GROUP_CONFIG_PAL_PRESET, rbConfigPalUserDefined }, + + // ------ CONFIG MISCELLANEOUS ------ + + // FILENAME SORTING + //x, y, w, group, funcOnUp + { 114, 15, 40, RB_GROUP_CONFIG_FILESORT, rbFileSortExt }, + { 114, 29, 48, RB_GROUP_CONFIG_FILESORT, rbFileSortName }, + + // WINDOW SIZE + //x, y, w, group, funcOnUp + { 114, 58, 60, RB_GROUP_CONFIG_WIN_SIZE, rbWinSizeAuto }, + { 114, 72, 31, RB_GROUP_CONFIG_WIN_SIZE, rbWinSize1x }, + { 156, 72, 31, RB_GROUP_CONFIG_WIN_SIZE, rbWinSize3x }, + { 114, 86, 31, RB_GROUP_CONFIG_WIN_SIZE, rbWinSize2x }, + { 156, 86, 31, RB_GROUP_CONFIG_WIN_SIZE, rbWinSize4x }, + + // ------ DISK OP. ------ + + // FILENAME SORTING + //x, y, w, group, funcOnUp + { 4, 16, 55, RB_GROUP_DISKOP_ITEM, rbDiskOpModule }, + { 4, 30, 45, RB_GROUP_DISKOP_ITEM, rbDiskOpInstr }, + { 4, 44, 56, RB_GROUP_DISKOP_ITEM, rbDiskOpSample }, + { 4, 58, 59, RB_GROUP_DISKOP_ITEM, rbDiskOpPattern }, + { 4, 72, 50, RB_GROUP_DISKOP_ITEM, rbDiskOpTrack }, + + // MODULE SAVE AS FORMATS + //x, y, w, group, funcOnUp + { 4, 100, 40, RB_GROUP_DISKOP_MOD_SAVEAS, rbDiskOpModSaveMod }, + { 4, 114, 33, RB_GROUP_DISKOP_MOD_SAVEAS, rbDiskOpModSaveXm }, + { 4, 128, 40, RB_GROUP_DISKOP_MOD_SAVEAS, rbDiskOpModSaveWav }, + + // INSTRUMENT SAVE AS FORMATS + //x, y, w, group, funcOnUp + { 4, 100, 29, RB_GROUP_DISKOP_INS_SAVEAS, NULL }, + + // SAMPLE SAVE AS FORMATS + //x, y, w, group, funcOnUp + { 4, 100, 40, RB_GROUP_DISKOP_SMP_SAVEAS, rbDiskOpSmpSaveRaw }, + { 4, 114, 34, RB_GROUP_DISKOP_SMP_SAVEAS, rbDiskOpSmpSaveIff }, + { 4, 128, 40, RB_GROUP_DISKOP_SMP_SAVEAS, rbDiskOpSmpSaveWav }, + + // PATTERN SAVE AS FORMATS + //x, y, w, group, funcOnUp + { 4, 100, 33, RB_GROUP_DISKOP_PAT_SAVEAS, NULL }, + + // TRACK SAVE AS FORMATS + //x, y, w, group, funcOnUp + { 4, 100, 31, RB_GROUP_DISKOP_TRK_SAVEAS, NULL }, + + // WAV RENDERER BITDEPTH + //x, y, w, group, funcOnUp + { 140, 95, 52, RB_GROUP_WAV_RENDER_BITDEPTH, rbWavRenderBitDepth16 }, + { 205, 95, 83, RB_GROUP_WAV_RENDER_BITDEPTH, rbWavRenderBitDepth32 } +}; + +// defined at the bottom of this file +extern const uint8_t radioButtonGraphics[3][RADIOBUTTON_W * RADIOBUTTON_H]; + +void drawRadioButton(uint16_t radioButtonID) +{ + uint8_t state; + radioButton_t *radioButton; + + assert(radioButtonID < NUM_RADIOBUTTONS); + radioButton = &radioButtons[radioButtonID]; + if (!radioButton->visible) + return; + + assert(radioButton->x < SCREEN_W && radioButton->y < SCREEN_H); + + state = radioButton->state; + if (state <= RADIOBUTTON_STATES-1) + blitFast(radioButton->x, radioButton->y, radioButtonGraphics[state], RADIOBUTTON_W, RADIOBUTTON_H); +} + +void showRadioButton(uint16_t radioButtonID) +{ + assert(radioButtonID < NUM_RADIOBUTTONS); + radioButtons[radioButtonID].visible = true; + drawRadioButton(radioButtonID); +} + +void hideRadioButton(uint16_t radioButtonID) +{ + assert(radioButtonID < NUM_RADIOBUTTONS); + radioButtons[radioButtonID].state = 0; + radioButtons[radioButtonID].visible = false; +} + +void checkRadioButton(uint16_t radioButtonID) +{ + radioButton_t *radioButton; + + assert(radioButtonID < NUM_RADIOBUTTONS); + radioButton = &radioButtons[radioButtonID]; + + for (uint16_t i = 0; i < NUM_RADIOBUTTONS; i++) + { + if (radioButtons[i].group == radioButton->group && radioButtons[i].state == RADIOBUTTON_CHECKED) + { + radioButtons[i].state = RADIOBUTTON_UNCHECKED; + drawRadioButton(i); + break; + } + } + + radioButtons[radioButtonID].state = RADIOBUTTON_CHECKED; + drawRadioButton(radioButtonID); +} + +void uncheckRadioButtonGroup(uint16_t radioButtonGroup) +{ + for (uint16_t i = 0; i < NUM_RADIOBUTTONS; i++) + { + if (radioButtons[i].group == radioButtonGroup) + radioButtons[i].state = RADIOBUTTON_UNCHECKED; + } +} + +void showRadioButtonGroup(uint16_t radioButtonGroup) +{ + for (uint16_t i = 0; i < NUM_RADIOBUTTONS; i++) + { + if (radioButtons[i].group == radioButtonGroup) + showRadioButton(i); + } +} + +void hideRadioButtonGroup(uint16_t radioButtonGroup) +{ + for (uint16_t i = 0; i < NUM_RADIOBUTTONS; i++) + { + if (radioButtons[i].group == radioButtonGroup) + hideRadioButton(i); + } +} + +void handleRadioButtonsWhileMouseDown(void) +{ + radioButton_t *radioButton; + + assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_RADIOBUTTONS); + radioButton = &radioButtons[mouse.lastUsedObjectID]; + if (!radioButton->visible || radioButton->state == RADIOBUTTON_CHECKED) + return; + + radioButton->state = RADIOBUTTON_UNCHECKED; + if (mouse.x >= radioButton->x && mouse.x < radioButton->x+radioButton->clickAreaWidth && + mouse.y >= radioButton->y && mouse.y < radioButton->y+(RADIOBUTTON_H+1)) + { + radioButton->state = RADIOBUTTON_PRESSED; + } + + if (mouse.lastX != mouse.x || mouse.lastY != mouse.y) + { + mouse.lastX = mouse.x; + mouse.lastY = mouse.y; + + drawRadioButton(mouse.lastUsedObjectID); + } +} + +bool testRadioButtonMouseDown(void) +{ + radioButton_t *radioButton; + + if (editor.ui.sysReqShown) + return false; + + for (uint16_t i = 0; i < NUM_RADIOBUTTONS; i++) + { + radioButton = &radioButtons[i]; + if (!radioButton->visible || radioButton->state == RADIOBUTTON_CHECKED) + continue; + + if (mouse.x >= radioButton->x && mouse.x < radioButton->x+radioButton->clickAreaWidth && + mouse.y >= radioButton->y && mouse.y < radioButton->y+(RADIOBUTTON_H+1)) + { + mouse.lastUsedObjectID = i; + mouse.lastUsedObjectType = OBJECT_RADIOBUTTON; + return true; + } + } + + return false; +} + +void testRadioButtonMouseRelease(void) +{ + radioButton_t *radioButton; + + if (mouse.lastUsedObjectType != OBJECT_RADIOBUTTON || mouse.lastUsedObjectID == OBJECT_ID_NONE) + return; + + assert(mouse.lastUsedObjectID < NUM_RADIOBUTTONS); + radioButton = &radioButtons[mouse.lastUsedObjectID]; + if (!radioButton->visible || radioButton->state == RADIOBUTTON_CHECKED) + return; + + if (mouse.x >= radioButton->x && mouse.x < radioButton->x+radioButton->clickAreaWidth && + mouse.y >= radioButton->y && mouse.y < radioButton->y+(RADIOBUTTON_H+1)) + { + radioButton->state = RADIOBUTTON_UNCHECKED; + drawRadioButton(mouse.lastUsedObjectID); + + if (radioButton->callbackFunc != NULL) + radioButton->callbackFunc(); + } +} + +const uint8_t radioButtonGraphics[3][RADIOBUTTON_W * RADIOBUTTON_H] = +{ + // unticked + { + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, + PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, + PAL_DSKTOP1, PAL_DSKTOP2, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, + PAL_DSKTOP1, PAL_DSKTOP2, PAL_DESKTOP, PAL_DSKTOP2, PAL_DSKTOP1, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, + PAL_DSKTOP1, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DSKTOP2, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, + PAL_DSKTOP1, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, PAL_DSKTOP1, PAL_DESKTOP, + PAL_DSKTOP2, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP2, PAL_DESKTOP, PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_BCKGRND, + PAL_DSKTOP2, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_BCKGRND, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_BCKGRND, + PAL_DSKTOP2, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_BCKGRND, + PAL_DSKTOP2, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, PAL_BCKGRND, + PAL_DSKTOP2, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DSKTOP2, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP + }, + + // ticked + { + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP2, PAL_BCKGRND, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_BCKGRND, PAL_DSKTOP2, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_FORGRND, PAL_DESKTOP, + PAL_BCKGRND, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_FORGRND, PAL_FORGRND, + PAL_FORGRND, PAL_DESKTOP, PAL_BCKGRND, PAL_DSKTOP2, PAL_DESKTOP, + PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_FORGRND, PAL_FORGRND, + PAL_FORGRND, PAL_FORGRND, PAL_FORGRND, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP2, PAL_DESKTOP, PAL_DSKTOP1, PAL_DSKTOP2, PAL_DESKTOP, + PAL_FORGRND, PAL_FORGRND, PAL_FORGRND, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, + PAL_DSKTOP2, PAL_DESKTOP, PAL_FORGRND, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DSKTOP1, PAL_DSKTOP2, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, PAL_DSKTOP2, + PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP + }, + + // pressed + { + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP2, PAL_BCKGRND, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_BCKGRND, PAL_DSKTOP2, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_BCKGRND, PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_BCKGRND, PAL_DSKTOP2, PAL_DESKTOP, + PAL_DSKTOP2, PAL_BCKGRND, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP2, PAL_DESKTOP, PAL_DSKTOP1, PAL_DSKTOP2, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, + PAL_DSKTOP2, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DSKTOP1, PAL_DSKTOP2, PAL_DESKTOP, PAL_DSKTOP2, + PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DSKTOP1, PAL_DSKTOP2, + PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DSKTOP1, PAL_DSKTOP1, PAL_DESKTOP, PAL_DESKTOP, PAL_DESKTOP, + PAL_DESKTOP + } +}; diff --git a/src/ft2_radiobuttons.h b/src/ft2_radiobuttons.h index 6e0a481..0e057b1 100644 --- a/src/ft2_radiobuttons.h +++ b/src/ft2_radiobuttons.h @@ -1,216 +1,224 @@ -#pragma once - -#include -#include - -enum // RADIOBUTTONS -{ - // HELP - RB_HELP_FEATURES, - RB_HELP_EFFECTS, - RB_HELP_KEYBOARD, - RB_HELP_HOW_TO_USE_FT2, - RB_HELP_FAQ, - RB_HELP_KNOWN_BUGS, - - // NIBBLES - RB_NIBBLES_1PLAYER, - RB_NIBBLES_2PLAYERS, - RB_NIBBLES_NOVICE, - RB_NIBBLES_AVERAGE, - RB_NIBBLES_PRO, - RB_NIBBLES_MANIAC, - - // SAMPLER - RB_SAMPLE_NO_LOOP, - RB_SAMPLE_FORWARD_LOOP, - RB_SAMPLE_PINGPONG_LOOP, - RB_SAMPLE_8BIT, - RB_SAMPLE_16BIT, - - // INSTRUMENT EDITOR - RB_INST_WAVE_SINE, - RB_INST_WAVE_SQUARE, - RB_INST_WAVE_RAMP_DOWN, - RB_INST_WAVE_RAMP_UP, - - // CONFIG SELECT - RB_CONFIG_IO_DEVICES, - RB_CONFIG_LAYOUT, - RB_CONFIG_MISCELLANEOUS, - RB_CONFIG_MIDI_INPUT, - - // CONFIG AUDIO - - // SOUND BUFFER SIZE - RB_CONFIG_SBS_512, - RB_CONFIG_SBS_1024, - RB_CONFIG_SBS_2048, - RB_CONFIG_SBS_4096, - - // SOUND BIT DEPTH - RB_CONFIG_AUDIO_16BIT, - RB_CONFIG_AUDIO_24BIT, - - // SOUND FREQUENCY - RB_CONFIG_AUDIO_44KHZ, - RB_CONFIG_AUDIO_48KHZ, - RB_CONFIG_AUDIO_96KHZ, - - // FREQUENCY TABLE - RB_CONFIG_FREQ_AMIGA, - RB_CONFIG_FREQ_LINEAR, - - // CONFIG LAYOUT - - // MOUSE SHAPE - RB_CONFIG_MOUSE_NICE, - RB_CONFIG_MOUSE_UGLY, - RB_CONFIG_MOUSE_AWFUL, - RB_CONFIG_MOUSE_USEABLE, - - // MOUSE BUSY SHAPE - RB_CONFIG_MOUSE_BUSY_GLASS, - RB_CONFIG_MOUSE_BUSY_CLOCK, - - // SCOPE STYLE - RB_CONFIG_SCOPE_NORMAL, - RB_CONFIG_SCOPE_LINED, - - // PATTERN CHANNELS - RB_CONFIG_MAXCHAN_4, - RB_CONFIG_MAXCHAN_6, - RB_CONFIG_MAXCHAN_8, - RB_CONFIG_MAXCHAN_12, - - // PATTERN FONT - RB_CONFIG_FONT_CAPITALS, - RB_CONFIG_FONT_LOWERCASE, - RB_CONFIG_FONT_FUTURE, - RB_CONFIG_FONT_BOLD, - - // PALETTE ENTRIES - RB_CONFIG_PAL_PATTERNTEXT, - RB_CONFIG_PAL_BLOCKMARK, - RB_CONFIG_PAL_TEXTONBLOCK, - RB_CONFIG_PAL_MOUSE, - RB_CONFIG_PAL_DESKTOP, - RB_CONFIG_PAL_BUTTONS, - - // PALETTE PRESETS - RB_CONFIG_PAL_ARCTIC, - RB_CONFIG_PAL_LITHE_DARK, - RB_CONFIG_PAL_AURORA_BOREALIS, - RB_CONFIG_PAL_ROSE, - RB_CONFIG_PAL_BLUES, - RB_CONFIG_PAL_SPACE_PIGS, - RB_CONFIG_PAL_GOLD, - RB_CONFIG_PAL_VIOLENT, - RB_CONFIG_PAL_HEAVY_METAL, - RB_CONFIG_PAL_WHY_COLORS, - RB_CONFIG_PAL_JUNGLE, - RB_CONFIG_PAL_USER_DEFINED, - - // FILE SORTING - RB_CONFIG_FILESORT_EXT, - RB_CONFIG_FILESORT_NAME, - - // WINDOW SIZE - RB_CONFIG_WIN_SIZE_AUTO, - RB_CONFIG_WIN_SIZE_1X, - RB_CONFIG_WIN_SIZE_3X, - RB_CONFIG_WIN_SIZE_2X, - RB_CONFIG_WIN_SIZE_4X, - - // DISK OP - RB_DISKOP_MODULE, - RB_DISKOP_INSTR, - RB_DISKOP_SAMPLE, - RB_DISKOP_PATTERN, - RB_DISKOP_TRACK, - - RB_DISKOP_MOD_SAVEAS_MOD, - RB_DISKOP_MOD_SAVEAS_XM, - RB_DISKOP_MOD_SAVEAS_WAV, - RB_DISKOP_INS_SAVEAS_XI, - RB_DISKOP_SMP_SAVEAS_RAW, - RB_DISKOP_SMP_SAVEAS_IFF, - RB_DISKOP_SMP_SAVEAS_WAV, - RB_DISKOP_PAT_SAVEAS_XP, - RB_DISKOP_TRK_SAVEAS_XT, - - RB_WAV_RENDER_BITDEPTH16, - RB_WAV_RENDER_BITDEPTH32, - - NUM_RADIOBUTTONS, - - // groups (must be *after* NUM_RADIOBUTTONS) - - RB_GROUP_HELP, - - RB_GROUP_NIBBLES_PLAYERS, - RB_GROUP_NIBBLES_DIFFICULTY, - - RB_GROUP_SAMPLE_LOOP, - RB_GROUP_SAMPLE_DEPTH, - RB_GROUP_INST_WAVEFORM, - - RB_GROUP_CONFIG_SELECT, - RB_GROUP_CONFIG_SOUND_BUFF_SIZE, - RB_GROUP_CONFIG_AUDIO_BIT_DEPTH, - RB_GROUP_CONFIG_AUDIO_FREQ, - RB_GROUP_CONFIG_FREQ_TABLE, - - RB_GROUP_CONFIG_MOUSE, - RB_GROUP_CONFIG_MOUSE_BUSY, - RB_GROUP_CONFIG_SCOPE, - RB_GROUP_CONFIG_PATTERN_CHANS, - RB_GROUP_CONFIG_FONT, - RB_GROUP_CONFIG_PAL_ENTRIES, - RB_GROUP_CONFIG_PAL_PRESET, - - RB_GROUP_CONFIG_FILESORT, - RB_GROUP_CONFIG_WIN_SIZE, - - RB_GROUP_DISKOP_ITEM, - - RB_GROUP_DISKOP_MOD_SAVEAS, - RB_GROUP_DISKOP_INS_SAVEAS, - RB_GROUP_DISKOP_SMP_SAVEAS, - RB_GROUP_DISKOP_PAT_SAVEAS, - RB_GROUP_DISKOP_TRK_SAVEAS, - - RB_GROUP_WAV_RENDER_BITDEPTH, -}; - -enum -{ - RADIOBUTTON_UNCHECKED = 0, - RADIOBUTTON_CHECKED = 1, - RADIOBUTTON_PRESSED = 2 -}; - -#define RADIOBUTTON_W 11 -#define RADIOBUTTON_H 11 -#define RADIOBUTTON_STATES 3 - -typedef struct radioButton_t // DO NOT TOUCH! -{ - uint16_t x, y, clickAreaWidth; - uint16_t group; - void (*callbackFunc)(void); - - uint8_t state; - bool visible; -} radioButton_t; - -void drawRadioButton(uint16_t radioButtonID); -void showRadioButton(uint16_t radioButtonID); -void hideRadioButton(uint16_t radioButtonID); -void checkRadioButton(uint16_t radioButtonID); -void uncheckRadioButtonGroup(uint16_t radioButtonGroup); -void showRadioButtonGroup(uint16_t radioButtonGroup); -void hideRadioButtonGroup(uint16_t radioButtonGroup); -void handleRadioButtonsWhileMouseDown(void); -bool testRadioButtonMouseDown(void); -void testRadioButtonMouseRelease(void); +#pragma once + +#include +#include + +enum // RADIOBUTTONS +{ + // HELP + RB_HELP_FEATURES, + RB_HELP_EFFECTS, + RB_HELP_KEYBOARD, + RB_HELP_HOW_TO_USE_FT2, + RB_HELP_FAQ, + RB_HELP_KNOWN_BUGS, + + // NIBBLES + RB_NIBBLES_1PLAYER, + RB_NIBBLES_2PLAYERS, + RB_NIBBLES_NOVICE, + RB_NIBBLES_AVERAGE, + RB_NIBBLES_PRO, + RB_NIBBLES_MANIAC, + + // SAMPLER + RB_SAMPLE_NO_LOOP, + RB_SAMPLE_FORWARD_LOOP, + RB_SAMPLE_PINGPONG_LOOP, + RB_SAMPLE_8BIT, + RB_SAMPLE_16BIT, + + // INSTRUMENT EDITOR + RB_INST_WAVE_SINE, + RB_INST_WAVE_SQUARE, + RB_INST_WAVE_RAMP_DOWN, + RB_INST_WAVE_RAMP_UP, + + // CONFIG SELECT + RB_CONFIG_IO_DEVICES, + RB_CONFIG_LAYOUT, + RB_CONFIG_MISCELLANEOUS, + +#ifdef HAS_MIDI + RB_CONFIG_MIDI_INPUT, +#endif + + // CONFIG AUDIO + + // SOUND BUFFER SIZE + RB_CONFIG_SBS_512, + RB_CONFIG_SBS_1024, + RB_CONFIG_SBS_2048, + + // SOUND BIT DEPTH + RB_CONFIG_AUDIO_16BIT, + RB_CONFIG_AUDIO_24BIT, + + // AUDIO FREQUENCY + RB_CONFIG_AUDIO_44KHZ, + RB_CONFIG_AUDIO_48KHZ, + RB_CONFIG_AUDIO_96KHZ, + + // AUDIO INPUT FREQUENCY + RB_CONFIG_AUDIO_INPUT_44KHZ, + RB_CONFIG_AUDIO_INPUT_48KHZ, + RB_CONFIG_AUDIO_INPUT_96KHZ, + + // FREQUENCY TABLE + RB_CONFIG_FREQ_AMIGA, + RB_CONFIG_FREQ_LINEAR, + + // CONFIG LAYOUT + + // MOUSE SHAPE + RB_CONFIG_MOUSE_NICE, + RB_CONFIG_MOUSE_UGLY, + RB_CONFIG_MOUSE_AWFUL, + RB_CONFIG_MOUSE_USABLE, + + // MOUSE BUSY SHAPE + RB_CONFIG_MOUSE_BUSY_GLASS, + RB_CONFIG_MOUSE_BUSY_CLOCK, + + // SCOPE STYLE + RB_CONFIG_SCOPE_NORMAL, + RB_CONFIG_SCOPE_LINED, + + // PATTERN CHANNELS + RB_CONFIG_MAXCHAN_4, + RB_CONFIG_MAXCHAN_6, + RB_CONFIG_MAXCHAN_8, + RB_CONFIG_MAXCHAN_12, + + // PATTERN FONT + RB_CONFIG_FONT_CAPITALS, + RB_CONFIG_FONT_LOWERCASE, + RB_CONFIG_FONT_FUTURE, + RB_CONFIG_FONT_BOLD, + + // PALETTE ENTRIES + RB_CONFIG_PAL_PATTERNTEXT, + RB_CONFIG_PAL_BLOCKMARK, + RB_CONFIG_PAL_TEXTONBLOCK, + RB_CONFIG_PAL_MOUSE, + RB_CONFIG_PAL_DESKTOP, + RB_CONFIG_PAL_BUTTONS, + + // PALETTE PRESETS + RB_CONFIG_PAL_ARCTIC, + RB_CONFIG_PAL_LITHE_DARK, + RB_CONFIG_PAL_AURORA_BOREALIS, + RB_CONFIG_PAL_ROSE, + RB_CONFIG_PAL_BLUES, + RB_CONFIG_PAL_SPACE_PIGS, + RB_CONFIG_PAL_GOLD, + RB_CONFIG_PAL_VIOLENT, + RB_CONFIG_PAL_HEAVY_METAL, + RB_CONFIG_PAL_WHY_COLORS, + RB_CONFIG_PAL_JUNGLE, + RB_CONFIG_PAL_USER_DEFINED, + + // FILE SORTING + RB_CONFIG_FILESORT_EXT, + RB_CONFIG_FILESORT_NAME, + + // WINDOW SIZE + RB_CONFIG_WIN_SIZE_AUTO, + RB_CONFIG_WIN_SIZE_1X, + RB_CONFIG_WIN_SIZE_3X, + RB_CONFIG_WIN_SIZE_2X, + RB_CONFIG_WIN_SIZE_4X, + + // DISK OP + RB_DISKOP_MODULE, + RB_DISKOP_INSTR, + RB_DISKOP_SAMPLE, + RB_DISKOP_PATTERN, + RB_DISKOP_TRACK, + + RB_DISKOP_MOD_SAVEAS_MOD, + RB_DISKOP_MOD_SAVEAS_XM, + RB_DISKOP_MOD_SAVEAS_WAV, + RB_DISKOP_INS_SAVEAS_XI, + RB_DISKOP_SMP_SAVEAS_RAW, + RB_DISKOP_SMP_SAVEAS_IFF, + RB_DISKOP_SMP_SAVEAS_WAV, + RB_DISKOP_PAT_SAVEAS_XP, + RB_DISKOP_TRK_SAVEAS_XT, + + RB_WAV_RENDER_BITDEPTH16, + RB_WAV_RENDER_BITDEPTH32, + + NUM_RADIOBUTTONS, + + // groups (must be *after* NUM_RADIOBUTTONS) + + RB_GROUP_HELP, + + RB_GROUP_NIBBLES_PLAYERS, + RB_GROUP_NIBBLES_DIFFICULTY, + + RB_GROUP_SAMPLE_LOOP, + RB_GROUP_SAMPLE_DEPTH, + RB_GROUP_INST_WAVEFORM, + + RB_GROUP_CONFIG_SELECT, + RB_GROUP_CONFIG_SOUND_BUFF_SIZE, + RB_GROUP_CONFIG_AUDIO_BIT_DEPTH, + RB_GROUP_CONFIG_AUDIO_FREQ, + RB_GROUP_CONFIG_AUDIO_INPUT_FREQ, + RB_GROUP_CONFIG_FREQ_TABLE, + + RB_GROUP_CONFIG_MOUSE, + RB_GROUP_CONFIG_MOUSE_BUSY, + RB_GROUP_CONFIG_SCOPE, + RB_GROUP_CONFIG_PATTERN_CHANS, + RB_GROUP_CONFIG_FONT, + RB_GROUP_CONFIG_PAL_ENTRIES, + RB_GROUP_CONFIG_PAL_PRESET, + + RB_GROUP_CONFIG_FILESORT, + RB_GROUP_CONFIG_WIN_SIZE, + + RB_GROUP_DISKOP_ITEM, + + RB_GROUP_DISKOP_MOD_SAVEAS, + RB_GROUP_DISKOP_INS_SAVEAS, + RB_GROUP_DISKOP_SMP_SAVEAS, + RB_GROUP_DISKOP_PAT_SAVEAS, + RB_GROUP_DISKOP_TRK_SAVEAS, + + RB_GROUP_WAV_RENDER_BITDEPTH, +}; + +enum +{ + RADIOBUTTON_UNCHECKED = 0, + RADIOBUTTON_CHECKED = 1, + RADIOBUTTON_PRESSED = 2 +}; + +#define RADIOBUTTON_W 11 +#define RADIOBUTTON_H 11 +#define RADIOBUTTON_STATES 3 + +typedef struct radioButton_t // DO NOT TOUCH! +{ + uint16_t x, y, clickAreaWidth; + uint16_t group; + void (*callbackFunc)(void); + + uint8_t state; + bool visible; +} radioButton_t; + +void drawRadioButton(uint16_t radioButtonID); +void showRadioButton(uint16_t radioButtonID); +void hideRadioButton(uint16_t radioButtonID); +void checkRadioButton(uint16_t radioButtonID); +void uncheckRadioButtonGroup(uint16_t radioButtonGroup); +void showRadioButtonGroup(uint16_t radioButtonGroup); +void hideRadioButtonGroup(uint16_t radioButtonGroup); +void handleRadioButtonsWhileMouseDown(void); +bool testRadioButtonMouseDown(void); +void testRadioButtonMouseRelease(void); diff --git a/src/ft2_replayer.c b/src/ft2_replayer.c index c0ded3f..cdee85b 100644 --- a/src/ft2_replayer.c +++ b/src/ft2_replayer.c @@ -1,3465 +1,3294 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include -#include "ft2_audio.h" -#include "ft2_header.h" -#include "ft2_config.h" -#include "ft2_gui.h" -#include "ft2_video.h" -#include "ft2_pattern_ed.h" -#include "ft2_sample_ed.h" -#include "ft2_inst_ed.h" -#include "ft2_diskop.h" -#include "ft2_midi.h" -#include "ft2_scopes.h" -#include "ft2_mouse.h" -#include "ft2_sample_loader.h" - -/* This is a *huge* mess, directly ported from the original FT2 code (and modified). -** You will experience a lot of headaches if you dig into it... -** If something looks to be wrong, it's probably right! */ - -// TABLES AND VARIABLES - -// defined at the bottom of this file -extern const int8_t vibSineTab[256]; -extern const uint8_t vibTab[32]; -extern const uint16_t amigaFinePeriod[12 * 8]; -extern const uint16_t amigaPeriod[12 * 8]; - -static bool bxxOverflow; -static int16_t *linearPeriods, *amigaPeriods, oldPeriod; -static uint32_t *logTab, oldRate; -static uint32_t frequenceDivFactor, frequenceMulFactor; -static tonTyp nilPatternLine; - -// globally accessed - -int8_t playMode = 0; -bool linearFrqTab = false, songPlaying = false, audioPaused = false, musicPaused = false; -volatile bool replayerBusy = false; -int16_t *note2Period = NULL, pattLens[MAX_PATTERNS]; -stmTyp stm[MAX_VOICES]; -songTyp song; -instrTyp *instr[132]; -tonTyp *patt[MAX_PATTERNS]; - -// CODE START - -void fixSongName(void) // removes spaces from right side of song name -{ - for (int16_t i = 20; i >= 0; i--) - { - if (song.name[i] == ' ') - song.name[i] = '\0'; - else - break; - } -} - -void fixSampleName(int16_t nr) // removes spaces from right side of ins/smp names -{ - int16_t i, j; - sampleTyp *s; - - for (i = 21; i >= 0; i--) - { - if (song.instrName[nr][i] == ' ') - song.instrName[nr][i] = '\0'; - else - break; - } - - if (instr[nr] != NULL) - { - for (i = 0; i < MAX_SMP_PER_INST; i++) - { - s = &instr[nr]->samp[i]; - for (j = 21; j >= 0; j--) - { - if (s->name[j] == ' ') - s->name[j] = '\0'; - else - break; - } - s->name[22] = '\0'; // just in case (for tracker, not present in sample header when saving) - } - } -} - -void resetChannels(void) -{ - bool audioWasntLocked; - stmTyp *ch; - - audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - memset(stm, 0, sizeof (stm)); - for (uint8_t i = 0; i < MAX_VOICES; i++) - { - ch = &stm[i]; - - ch->instrSeg = instr[0]; - ch->status = IS_Vol; - ch->oldPan = 128; - ch->outPan = 128; - ch->finalPan = 128; - } - - if (audioWasntLocked) - unlockAudio(); -} - -void setSongModifiedFlag(void) -{ - song.isModified = true; - editor.updateWindowTitle = true; -} - -void removeSongModifiedFlag(void) -{ - song.isModified = false; - editor.updateWindowTitle = true; -} - -void tuneSample(sampleTyp *s, uint32_t midCFreq) -{ - int32_t linearFreq, relativeNote; - - if (midCFreq == 0) - { - s->fine = 0; - s->relTon = 0; - } - else - { - linearFreq = (int32_t)round(log(midCFreq / 8363.0) * ((12.0 * 128.0) / M_LN2)); - s->fine = ((linearFreq + 128) & 255) - 128; - - relativeNote = (int32_t)round((linearFreq - s->fine) / 128.0); - s->relTon = (int8_t)relativeNote; - } -} - -bool setPatternLen(uint16_t nr, int16_t len) -{ - bool audioWasntLocked; - tonTyp *newPtr; - - assert(nr < MAX_PATTERNS); - - len = CLAMP(len, 1, MAX_PATT_LEN); - if (len == pattLens[nr]) - return true; - - audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (patt[nr] == NULL) - { - pattLens[nr] = len; - - if (editor.editPattern == song.pattNr) - song.pattLen = pattLens[nr]; - - if (song.pattPos >= pattLens[nr]) - song.pattPos = pattLens[nr] - 1; - - editor.pattPos = song.pattPos; - - checkMarkLimits(); - - if (audioWasntLocked) - unlockAudio(); - - editor.ui.updatePatternEditor = true; - editor.ui.updatePosSections = true; - - return true; - } - - newPtr = (tonTyp *)realloc(patt[nr], len * TRACK_WIDTH); - if (newPtr == NULL) - { - okBox(0, "Status message", "Not enough memory!"); - - if (audioWasntLocked) - unlockAudio(); - - return false; - } - - patt[nr] = newPtr; - - // if we enlarged the pattern length, wipe the new data - if (len >= pattLens[nr]) - { - if (len > pattLens[nr]) - memset(&patt[nr][pattLens[nr] * MAX_VOICES], 0, (len - pattLens[nr]) * TRACK_WIDTH); - - pattLens[nr] = len; - } - else - { - pattLens[nr] = len; - killPatternIfUnused(nr); - } - - if (editor.editPattern == song.pattNr) - song.pattLen = pattLens[nr]; - - if (song.pattPos >= pattLens[nr]) - song.pattPos = pattLens[nr] - 1; - - editor.pattPos = song.pattPos; - - checkMarkLimits(); - - if (audioWasntLocked) - unlockAudio(); - - editor.ui.updatePatternEditor = true; - editor.ui.updatePosSections = true; - - return true; -} - -int16_t getUsedSamples(int16_t nr) -{ - int16_t i, j; - instrTyp *ins; - - if (instr[nr] == NULL) - return 0; - - ins = instr[nr]; - - i = 16 - 1; - while (i >= 0 && ins->samp[i].pek == NULL && ins->samp[i].name[0] == '\0') - i--; - - /* Yes, 'i' can be -1 here, and will be set to at least 0 - ** because of ins->ta values. Possibly an FT2 bug... */ - for (j = 0; j < 96; j++) - { - if (ins->ta[j] > i) - i = ins->ta[j]; - } - - return i+1; -} - -int16_t getRealUsedSamples(int16_t nr) -{ - int8_t i; - - if (instr[nr] == NULL) - return 0; - - i = 16 - 1; - while (i >= 0 && instr[nr]->samp[i].pek == NULL) - i--; - - return i+1; -} - -void setFrqTab(bool linear) -{ - linearFrqTab = linear; - - if (linearFrqTab) - { - audio.linearFreqTable = true; - note2Period = linearPeriods; - } - else - { - audio.linearFreqTable = false; - note2Period = amigaPeriods; - } - - // update frequency type radiobutton if it's shown - if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES) - setConfigIORadioButtonStates(); -} - -static void retrigVolume(stmTyp *ch) -{ - ch->realVol = ch->oldVol; - ch->outVol = ch->oldVol; - ch->outPan = ch->oldPan; - ch->status |= (IS_Vol + IS_Pan + IS_QuickVol); -} - -static void retrigEnvelopeVibrato(stmTyp *ch) -{ - instrTyp *ins; - - if (!(ch->waveCtrl & 0x04)) ch->vibPos = 0; - if (!(ch->waveCtrl & 0x40)) ch->tremPos = 0; - - ch->retrigCnt = 0; - ch->tremorPos = 0; - - ch->envSustainActive = true; - - ins = ch->instrSeg; - assert(ins != NULL); - - if (ins->envVTyp & 1) - { - ch->envVCnt = 65535; - ch->envVPos = 0; - } - - if (ins->envPTyp & 1) - { - ch->envPCnt = 65535; - ch->envPPos = 0; - } - - ch->fadeOutSpeed = ins->fadeOut; // FT2 doesn't check if fadeout is more than 4095 - ch->fadeOutAmp = 32768; - - if (ins->vibDepth > 0) - { - ch->eVibPos = 0; - - if (ins->vibSweep > 0) - { - ch->eVibAmp = 0; - ch->eVibSweep = (ins->vibDepth << 8) / ins->vibSweep; - } - else - { - ch->eVibAmp = ins->vibDepth << 8; - ch->eVibSweep = 0; - } - } -} - -void keyOff(stmTyp *ch) -{ - instrTyp *ins; - - ch->envSustainActive = false; - - ins = ch->instrSeg; - assert(ins != NULL); - - if (!(ins->envPTyp & 1)) // yes, FT2 does this (!) - { - if (ch->envPCnt >= ins->envPP[ch->envPPos][0]) - ch->envPCnt = ins->envPP[ch->envPPos][0] - 1; - } - - if (ins->envVTyp & 1) - { - if (ch->envVCnt >= ins->envVP[ch->envVPos][0]) - ch->envVCnt = ins->envVP[ch->envVPos][0] - 1; - } - else - { - ch->realVol = 0; - ch->outVol = 0; - ch->status |= (IS_Vol + IS_QuickVol); - } -} - -// 100% FT2-accurate routine, do not touch! -void calcReplayRate(uint32_t rate) -{ - if (rate == 0) - return; - - // for voice delta calculation - frequenceDivFactor = (uint32_t)round(65536.0 * 1712.0 / rate * 8363.0); - frequenceMulFactor = (uint32_t)round(256.0 * 65536.0 / rate * 8363.0); - audio.dScopeFreqMul = rate / (double)SCOPE_HZ; - - // for volume ramping (FT2 doesn't round here) - audio.quickVolSizeVal = rate / 200; - - // for audio/video sync - audio.dSpeedValMul = (1.0 / rate) * editor.dPerfFreq; -} - -// 100% FT2-accurate routine, do not touch! -uint32_t getFrequenceValue(uint16_t period) -{ - uint8_t shift; - uint16_t index; - uint32_t rate; - - if (period == 0) - return 0; - - if (period == oldPeriod) - return oldRate; // added check: prevent this calculation if it would yield the same - - if (linearFrqTab) - { - index = (12 * 192 * 4) - period; - shift = (14 - (index / 768)) & 0x1F; - - // this converts to fast code even on x86 (imul + shrd) - rate = ((uint64_t)logTab[index % 768] * frequenceMulFactor) >> 24; - if (shift > 0) - rate >>= shift; - } - else - { - rate = frequenceDivFactor / period; - } - - oldPeriod = period; - oldRate = rate; - - return rate; -} - -void resetOldRates(void) -{ - oldPeriod = 0; - oldRate = 0; - - resetOldScopeRates(); - resetOldRevFreqs(); -} - -static void startTone(uint8_t ton, uint8_t effTyp, uint8_t eff, stmTyp *ch) -{ - uint8_t smp; - uint16_t tmpTon; - sampleTyp *s; - instrTyp *ins; - - if (ton == 97) - { - keyOff(ch); - return; - } - - // if we came from Rxy (retrig), we didn't check note (Ton) yet - if (ton == 0) - { - ton = ch->tonNr; - if (ton == 0) - return; // if still no note, exit from routine - } - - ch->tonNr = ton; - - assert(ch->instrNr <= 130); - - ins = instr[ch->instrNr]; - if (ins == NULL) - ins = instr[0]; - - ch->instrSeg = ins; - ch->mute = ins->mute; - - if (ton > 96) // non-FT2 security (should never happen because I clamp in the patt loaders now) - ton = 96; - - smp = ins->ta[ton-1] & 0x0F; - ch->sampleNr = smp; - - s = &ins->samp[smp]; - ch->smpPtr = s; - ch->relTonNr = s->relTon; - - ton += ch->relTonNr; - if (ton >= 12*10) - return; - - ch->oldVol = s->vol; - ch->oldPan = s->pan; - - if (effTyp == 0x0E && (eff & 0xF0) == 0x50) - ch->fineTune = ((eff & 0x0F) * 16) - 128; // result is now -128 .. 127 - else - ch->fineTune = s->fine; - - if (ton > 0) - { - tmpTon = ((ton - 1) * 16) + (((ch->fineTune >> 3) + 16) & 0xFF); - if (tmpTon < MAX_NOTES) // should always happen, but FT2 does this check - { - assert(note2Period != NULL); - ch->realPeriod = note2Period[tmpTon]; - - ch->outPeriod = ch->realPeriod; - ch->midiCurPeriod = ch->realPeriod; - ch->midiPortaPeriod = ch->realPeriod; - } - } - - ch->status |= (IS_Period + IS_Vol + IS_Pan + IS_NyTon + IS_QuickVol); - - if (effTyp == 9) - { - if (eff) - ch->smpOffset = ch->eff; - - ch->smpStartPos = ch->smpOffset * 256; - } - else - { - ch->smpStartPos = 0; - } -} - -static void multiRetrig(stmTyp *ch) -{ - uint8_t cnt; - int16_t vol; - - cnt = ch->retrigCnt + 1; - if (cnt < ch->retrigSpeed) - { - ch->retrigCnt = cnt; - return; - } - - ch->retrigCnt = 0; - - vol = ch->realVol; - switch (ch->retrigVol) - { - case 0x1: vol -= 1; break; - case 0x2: vol -= 2; break; - case 0x3: vol -= 4; break; - case 0x4: vol -= 8; break; - case 0x5: vol -= 16; break; - case 0x6: vol = (vol >> 1) + (vol >> 3) + (vol >> 4); break; - case 0x7: vol >>= 1; break; - case 0x8: break; // does not change the volume - case 0x9: vol += 1; break; - case 0xA: vol += 2; break; - case 0xB: vol += 4; break; - case 0xC: vol += 8; break; - case 0xD: vol += 16; break; - case 0xE: vol = (vol >> 1) + vol; break; - case 0xF: vol += vol; break; - default: break; - } - vol = CLAMP(vol, 0, 64); - - ch->realVol = (uint8_t)vol; - ch->outVol = ch->realVol; - - if (ch->volKolVol >= 0x10 && ch->volKolVol <= 0x50) - { - ch->outVol = ch->volKolVol - 0x10; - ch->realVol = ch->outVol; - } - else if (ch->volKolVol >= 0xC0 && ch->volKolVol <= 0xCF) - { - ch->outPan = (ch->volKolVol & 0x0F) << 4; - } - - startTone(0, 0, 0, ch); -} - -static void checkMoreEffects(stmTyp *ch) // called even if channel is muted -{ - int8_t envPos; - bool envUpdate; - uint8_t tmpEff; - int16_t newEnvPos; - uint16_t i; - instrTyp *ins; - - ins = ch->instrSeg; - assert(ins != NULL); - - // Bxx - position jump - if (ch->effTyp == 11) - { - if (playMode != PLAYMODE_PATT && playMode != PLAYMODE_RECPATT) - { - if (ch->eff-1 < 0 || ch->eff-1 >= song.len) - bxxOverflow = true; // non-FT2 security fix... - else - song.songPos = ch->eff - 1; - } - - song.pBreakPos = 0; - song.posJumpFlag = true; - } - - // Dxx - pattern break - else if (ch->effTyp == 13) - { - song.posJumpFlag = true; - - tmpEff = ((ch->eff >> 4) * 10) + (ch->eff & 0x0F); - if (tmpEff <= 63) - song.pBreakPos = tmpEff; - else - song.pBreakPos = 0; - } - - // Exx - E effects - else if (ch->effTyp == 14) - { - if (ch->stOff) // channel is muted - { - // E6x - pattern loop - if ((ch->eff & 0xF0) == 0x60) - { - if (ch->eff == 0x60) // E60, empty param - { - ch->pattPos = song.pattPos & 0x00FF; - } - else - { - if (ch->loopCnt == 0) - { - ch->loopCnt = ch->eff & 0x0F; - - song.pBreakPos = ch->pattPos; - song.pBreakFlag = true; - } - else - { - if (--ch->loopCnt > 0) - { - song.pBreakPos = ch->pattPos; - song.pBreakFlag = true; - } - } - } - } - - // EEx - pattern delay - else if ((ch->eff & 0xF0) == 0xE0) - { - if (song.pattDelTime2 == 0) - song.pattDelTime = (ch->eff & 0x0F) + 1; - } - - return; - } - - // E1x - fine period slide up - if ((ch->eff & 0xF0) == 0x10) - { - tmpEff = ch->eff & 0x0F; - if (tmpEff == 0) - tmpEff = ch->fPortaUpSpeed; - - ch->fPortaUpSpeed = tmpEff; - - ch->realPeriod -= (tmpEff * 4); - if (ch->realPeriod < 1) - ch->realPeriod = 1; - - ch->outPeriod = ch->realPeriod; - ch->status |= IS_Period; - } - - // E2x - fine period slide down - else if ((ch->eff & 0xF0) == 0x20) - { - tmpEff = ch->eff & 0x0F; - if (tmpEff == 0) - tmpEff = ch->fPortaDownSpeed; - - ch->fPortaDownSpeed = tmpEff; - - ch->realPeriod += (tmpEff * 4); - if (ch->realPeriod > (32000 - 1)) - ch->realPeriod = 32000 - 1; - - ch->outPeriod = ch->realPeriod; - ch->status |= IS_Period; - } - - // E3x - set glissando type - else if ((ch->eff & 0xF0) == 0x30) ch->glissFunk = ch->eff & 0x0F; - - // E4x - set vibrato waveform - else if ((ch->eff & 0xF0) == 0x40) ch->waveCtrl = (ch->waveCtrl & 0xF0) | (ch->eff & 0x0F); - - // E5x (set finetune) is handled in startTone() - - // E6x - pattern loop - else if ((ch->eff & 0xF0) == 0x60) - { - if (ch->eff == 0x60) // E60, empty param - { - ch->pattPos = song.pattPos & 0xFF; - } - else - { - if (ch->loopCnt == 0) - { - ch->loopCnt = ch->eff & 0x0F; - - song.pBreakPos = ch->pattPos; - song.pBreakFlag = true; - } - else - { - if (--ch->loopCnt > 0) - { - song.pBreakPos = ch->pattPos; - song.pBreakFlag = true; - } - } - } - } - - // E7x - set tremolo waveform - else if ((ch->eff & 0xF0) == 0x70) ch->waveCtrl = ((ch->eff & 0x0F) << 4) | (ch->waveCtrl & 0x0F); - - // EAx - fine volume slide up - else if ((ch->eff & 0xF0) == 0xA0) - { - tmpEff = ch->eff & 0x0F; - if (tmpEff == 0) - tmpEff = ch->fVolSlideUpSpeed; - - ch->fVolSlideUpSpeed = tmpEff; - - // unsigned clamp - if (ch->realVol <= (64 - tmpEff)) - ch->realVol += tmpEff; - else - ch->realVol = 64; - - ch->outVol = ch->realVol; - ch->status |= IS_Vol; - } - - // EBx - fine volume slide down - else if ((ch->eff & 0xF0) == 0xB0) - { - tmpEff = ch->eff & 0x0F; - if (tmpEff == 0) - tmpEff = ch->fVolSlideDownSpeed; - - ch->fVolSlideDownSpeed = tmpEff; - - // unsigned clamp - if (ch->realVol >= tmpEff) - ch->realVol -= tmpEff; - else - ch->realVol = 0; - - ch->outVol = ch->realVol; - ch->status |= IS_Vol; - } - - // ECx - note cut - else if ((ch->eff & 0xF0) == 0xC0) - { - if (ch->eff == 0xC0) // empty param - { - ch->realVol = 0; - ch->outVol = 0; - ch->status |= (IS_Vol + IS_QuickVol); - } - } - - // EEx - pattern delay - else if ((ch->eff & 0xF0) == 0xE0) - { - if (song.pattDelTime2 == 0) - song.pattDelTime = (ch->eff & 0x0F) + 1; - } - } - - // Fxx - set speed/tempo - else if (ch->effTyp == 15) - { - if (ch->eff >= 32) - { - song.speed = ch->eff; - setSpeed(song.speed); - } - else - { - song.tempo = ch->eff; - song.timer = ch->eff; - } - } - - // Gxx - set global volume - else if (ch->effTyp == 16) - { - song.globVol = ch->eff; - if (song.globVol > 64) - song.globVol = 64; - - for (i = 0; i < song.antChn; i++) // update all voice volumes - stm[i].status |= IS_Vol; - } - - // Lxx - set vol and pan envelope position - else if (ch->effTyp == 21) - { - // *** VOLUME ENVELOPE *** - if (ins->envVTyp & 1) - { - ch->envVCnt = ch->eff - 1; - - envPos = 0; - envUpdate = true; - newEnvPos = ch->eff; - - if (ins->envVPAnt > 1) - { - envPos++; - for (i = 0; i < ins->envVPAnt-1; i++) - { - if (newEnvPos < ins->envVP[envPos][0]) - { - envPos--; - - newEnvPos -= ins->envVP[envPos][0]; - if (newEnvPos == 0) - { - envUpdate = false; - break; - } - - if (ins->envVP[envPos+1][0] <= ins->envVP[envPos][0]) - { - envUpdate = true; - break; - } - - ch->envVIPValue = ((ins->envVP[envPos+1][1] - ins->envVP[envPos][1]) & 0xFF) << 8; - ch->envVIPValue /= (ins->envVP[envPos+1][0] - ins->envVP[envPos][0]); - - ch->envVAmp = (ch->envVIPValue * (newEnvPos - 1)) + ((ins->envVP[envPos][1] & 0xFF) << 8); - - envPos++; - - envUpdate = false; - break; - } - - envPos++; - } - - if (envUpdate) - envPos--; - } - - if (envUpdate) - { - ch->envVIPValue = 0; - ch->envVAmp = (ins->envVP[envPos][1] & 0xFF) << 8; - } - - if (envPos >= ins->envVPAnt) - { - envPos = ins->envVPAnt - 1; - if (envPos < 0) - envPos = 0; - } - - ch->envVPos = envPos; - } - - // *** PANNING ENVELOPE *** - if (ins->envVTyp & 2) // probably an FT2 bug - { - ch->envPCnt = ch->eff - 1; - - envPos = 0; - envUpdate = true; - newEnvPos = ch->eff; - - if (ins->envPPAnt > 1) - { - envPos++; - for (i = 0; i < ins->envPPAnt-1; i++) - { - if (newEnvPos < ins->envPP[envPos][0]) - { - envPos--; - - newEnvPos -= ins->envPP[envPos][0]; - if (newEnvPos == 0) - { - envUpdate = false; - break; - } - - if (ins->envPP[envPos + 1][0] <= ins->envPP[envPos][0]) - { - envUpdate = true; - break; - } - - ch->envPIPValue = ((ins->envPP[envPos+1][1] - ins->envPP[envPos][1]) & 0xFF) << 8; - ch->envPIPValue /= (ins->envPP[envPos+1][0] - ins->envPP[envPos][0]); - - ch->envPAmp = (ch->envPIPValue * (newEnvPos - 1)) + ((ins->envPP[envPos][1] & 0xFF) << 8); - - envPos++; - - envUpdate = false; - break; - } - - envPos++; - } - - if (envUpdate) - envPos--; - } - - if (envUpdate) - { - ch->envPIPValue = 0; - ch->envPAmp = (ins->envPP[envPos][1] & 0xFF) << 8; - } - - if (envPos >= ins->envPPAnt) - { - envPos = ins->envPPAnt - 1; - if (envPos < 0) - envPos = 0; - } - - ch->envPPos = envPos; - } - } -} - -static void checkEffects(stmTyp *ch) -{ - uint8_t tmpEff, tmpEffHi, volKol; - - // this one is manipulated by vol column effects, then used for multiretrig (FT2 quirk) - volKol = ch->volKolVol; - - // *** VOLUME COLUMN EFFECTS (TICK 0) *** - - // set volume - if (ch->volKolVol >= 0x10 && ch->volKolVol <= 0x50) - { - volKol -= 16; - - ch->outVol = volKol; - ch->realVol = volKol; - - ch->status |= (IS_Vol + IS_QuickVol); - } - - // fine volume slide down - else if ((ch->volKolVol & 0xF0) == 0x80) - { - volKol = ch->volKolVol & 0x0F; - - // unsigned clamp - if (ch->realVol >= volKol) - ch->realVol -= volKol; - else - ch->realVol = 0; - - ch->outVol = ch->realVol; - ch->status |= IS_Vol; - } - - // fine volume slide up - else if ((ch->volKolVol & 0xF0) == 0x90) - { - volKol = ch->volKolVol & 0x0F; - - // unsigned clamp - if (ch->realVol <= 64-volKol) - ch->realVol += volKol; - else - ch->realVol = 64; - - ch->outVol = ch->realVol; - ch->status |= IS_Vol; - } - - // set vibrato speed - else if ((ch->volKolVol & 0xF0) == 0xA0) - { - volKol = (ch->volKolVol & 0x0F) << 2; - ch->vibSpeed = volKol; - } - - // set panning - else if ((ch->volKolVol & 0xF0) == 0xC0) - { - volKol <<= 4; - - ch->outPan = volKol; - ch->status |= IS_Pan; - } - - // *** MAIN EFFECTS (TICK 0) *** - - if (ch->effTyp == 0 && ch->eff == 0) return; // no effect - - // Cxx - set volume - if (ch->effTyp == 12) - { - ch->realVol = ch->eff; - if (ch->realVol > 64) - ch->realVol = 64; - - ch->outVol = ch->realVol; - ch->status |= (IS_Vol + IS_QuickVol); - - return; - } - - // 8xx - set panning - else if (ch->effTyp == 8) - { - ch->outPan = ch->eff; - ch->status |= IS_Pan; - - return; - } - - // Rxy - note multi retrigger - else if (ch->effTyp == 27) - { - tmpEff = ch->eff & 0x0F; - if (tmpEff == 0) - tmpEff = ch->retrigSpeed; - - ch->retrigSpeed = tmpEff; - - tmpEffHi = ch->eff >> 4; - if (tmpEffHi == 0) - tmpEffHi = ch->retrigVol; - - ch->retrigVol = tmpEffHi; - - if (volKol == 0) - multiRetrig(ch); - - return; - } - - // X1x - extra fine period slide up - else if (ch->effTyp == 33 && (ch->eff & 0xF0) == 0x10) - { - tmpEff = ch->eff & 0x0F; - if (tmpEff == 0) - tmpEff = ch->ePortaUpSpeed; - - ch->ePortaUpSpeed = tmpEff; - - ch->realPeriod -= tmpEff; - if (ch->realPeriod < 1) - ch->realPeriod = 1; - - ch->outPeriod = ch->realPeriod; - ch->status |= IS_Period; - - return; - } - - // X2x - extra fine period slide down - else if (ch->effTyp == 33 && (ch->eff & 0xF0) == 0x20) - { - tmpEff = ch->eff & 0x0F; - if (tmpEff == 0) - tmpEff = ch->ePortaDownSpeed; - - ch->ePortaDownSpeed = tmpEff; - - ch->realPeriod += tmpEff; - if (ch->realPeriod > 32000-1) - ch->realPeriod = 32000-1; - - ch->outPeriod = ch->realPeriod; - ch->status |= IS_Period; - - return; - } - - checkMoreEffects(ch); -} - -static void fixTonePorta(stmTyp *ch, tonTyp *p, uint8_t inst) -{ - uint16_t portaTmp; - - if (p->ton > 0) - { - if (p->ton == 97) - { - keyOff(ch); - } - else - { - portaTmp = ((((p->ton - 1) + ch->relTonNr) & 0xFF) * 16) + (((ch->fineTune >> 3) + 16) & 0xFF); - if (portaTmp < MAX_NOTES) - { - assert(note2Period != NULL); - ch->wantPeriod = note2Period[portaTmp]; - - if (ch->wantPeriod == ch->realPeriod) ch->portaDir = 0; - else if (ch->wantPeriod > ch->realPeriod) ch->portaDir = 1; - else ch->portaDir = 2; - } - } - } - - if (inst > 0) - { - retrigVolume(ch); - if (p->ton != 97) - retrigEnvelopeVibrato(ch); - } -} - -static void getNewNote(stmTyp *ch, tonTyp *p) -{ - uint8_t inst; - bool checkEfx; - - ch->volKolVol = p->vol; - - if (ch->effTyp == 0) - { - if (ch->eff > 0) - { - // we have an arpeggio running, set period back - ch->outPeriod = ch->realPeriod; - ch->status |= IS_Period; - } - } - else - { - if (ch->effTyp == 4 || ch->effTyp == 6) - { - // we have a vibrato running - if (p->effTyp != 4 && p->effTyp != 6) - { - // but it's ending at the next (this) row, so set period back - ch->outPeriod = ch->realPeriod; - ch->status |= IS_Period; - } - } - } - - ch->effTyp = p->effTyp; - ch->eff = p->eff; - ch->tonTyp = (p->instr << 8) | p->ton; - - if (ch->stOff == 1) - { - checkMoreEffects(ch); - return; - } - - // 'inst' var is used for later if checks... - inst = p->instr; - if (inst > 0) - { - if (inst <= MAX_INST) - ch->instrNr = inst; - else - inst = 0; - } - - checkEfx = true; - if (p->effTyp == 0x0E) - { - if (p->eff >= 0xD1 && p->eff <= 0xDF) - return; // we have a note delay (ED1..EDF) - else if (p->eff == 0x90) - checkEfx = false; - } - - if (checkEfx) - { - if ((ch->volKolVol & 0xF0) == 0xF0) // gxx - { - if ((ch->volKolVol & 0x0F) > 0) - ch->portaSpeed = (ch->volKolVol & 0x0F) << 6; - - fixTonePorta(ch, p, inst); - checkEffects(ch); - - return; - } - - if (p->effTyp == 3 || p->effTyp == 5) // 3xx or 5xx - { - if (p->effTyp != 5 && p->eff != 0) - ch->portaSpeed = p->eff << 2; - - fixTonePorta(ch, p, inst); - checkEffects(ch); - - return; - } - - if (p->effTyp == 0x14 && p->eff == 0) // K00 (KeyOff - only handle tick 0 here) - { - keyOff(ch); - - if (inst) - retrigVolume(ch); - - checkEffects(ch); - return; - } - - if (p->ton == 0) - { - if (inst > 0) - { - retrigVolume(ch); - retrigEnvelopeVibrato(ch); - } - - checkEffects(ch); - return; - } - } - - if (p->ton == 97) - keyOff(ch); - else - startTone(p->ton, p->effTyp, p->eff, ch); - - if (inst > 0) - { - retrigVolume(ch); - if (p->ton != 97) - retrigEnvelopeVibrato(ch); - } - - checkEffects(ch); -} - -static void fixaEnvelopeVibrato(stmTyp *ch) -{ - bool envInterpolateFlag, envDidInterpolate; - uint8_t envPos; - int16_t autoVibVal, panTmp; - uint16_t autoVibAmp, tmpPeriod, envVal; - int32_t vol, tmp32; - instrTyp *ins; - double dVol; - - ins = ch->instrSeg; - - assert(ins != NULL); - - // *** FADEOUT *** - if (!ch->envSustainActive) - { - ch->status |= IS_Vol; - - // unsigned clamp + reset - if (ch->fadeOutAmp >= ch->fadeOutSpeed) - { - ch->fadeOutAmp -= ch->fadeOutSpeed; - } - else - { - ch->fadeOutAmp = 0; - ch->fadeOutSpeed = 0; - } - } - - if (ch->mute != 1) - { - // *** VOLUME ENVELOPE *** - envVal = 0; - if (ins->envVTyp & 1) - { - envDidInterpolate = false; - envPos = ch->envVPos; - - if (++ch->envVCnt == ins->envVP[envPos][0]) - { - ch->envVAmp = (ins->envVP[envPos][1] & 0xFF) << 8; - - envPos++; - if (ins->envVTyp & 4) - { - envPos--; - - if (envPos == ins->envVRepE) - { - if (!(ins->envVTyp & 2) || envPos != ins->envVSust || ch->envSustainActive) - { - envPos = ins->envVRepS; - ch->envVCnt = ins->envVP[envPos][0]; - ch->envVAmp = (ins->envVP[envPos][1] & 0xFF) << 8; - } - } - - envPos++; - } - - if (envPos < ins->envVPAnt) - { - envInterpolateFlag = true; - if ((ins->envVTyp & 2) && ch->envSustainActive) - { - if (envPos-1 == ins->envVSust) - { - envPos--; - ch->envVIPValue = 0; - envInterpolateFlag = false; - } - } - - if (envInterpolateFlag) - { - ch->envVPos = envPos; - - ch->envVIPValue = 0; - if (ins->envVP[envPos][0] > ins->envVP[envPos-1][0]) - { - ch->envVIPValue = ((ins->envVP[envPos][1] - ins->envVP[envPos-1][1]) & 0xFF) << 8; - ch->envVIPValue /= (ins->envVP[envPos][0] - ins->envVP[envPos-1][0]); - - envVal = ch->envVAmp; - envDidInterpolate = true; - } - } - } - else - { - ch->envVIPValue = 0; - } - } - - if (!envDidInterpolate) - { - ch->envVAmp += ch->envVIPValue; - - envVal = ch->envVAmp; - if ((envVal >> 8) > 0x40) - { - if ((envVal >> 8) > (0x40+0xC0)/2) - envVal = 16384; - else - envVal = 0; - - ch->envVIPValue = 0; - } - } - - /* old integer method with low precision (FT2 way) - envVal >>= 8; - ch->finalVol = (song.globVol * (((envVal * ch->outVol) * ch->fadeOutAmp) >> (16 + 2))) >> 7; - */ - - /* calculate with four times more precision (+ rounding). - ** also, env. range is now 0..16384 instead of being shifted to 0..64. */ - - dVol = song.globVol * ch->outVol * ch->fadeOutAmp; - dVol *= envVal; // we need a float mul because it would overflow 32-bit integer - dVol *= 1.0 / ((64.0 * 64.0 * 32768.0 * 16384.0) / 2048.0); // 0..2048 (real FT2 is 0..256) - - vol = (int32_t)(dVol + 0.5); - if (vol > 2048) - vol = 2048; - - ch->finalVol = (uint16_t)vol; - ch->status |= IS_Vol; - } - else - { - /* old integer method with low precision (FT2 way) - ch->finalVol = (song.globVol * (((ch->outVol << 4) * ch->fadeOutAmp) >> 16)) >> 7; - */ - - // calculate with four times more precision (+ rounding) - dVol = song.globVol * ch->outVol * ch->fadeOutAmp; - dVol *= 1.0 / ((64.0 * 64.0 * 32768.0) / 2048.0); // 0..2048 (real FT2 is 0..256) - - vol = (int32_t)(dVol + 0.5); - if (vol > 2048) - vol = 2048; - - ch->finalVol = (uint16_t)vol; - } - } - else - { - ch->finalVol = 0; - } - - // *** PANNING ENVELOPE *** - - envVal = 0; - if (ins->envPTyp & 1) - { - envDidInterpolate = false; - envPos = ch->envPPos; - - if (++ch->envPCnt == ins->envPP[envPos][0]) - { - ch->envPAmp = (ins->envPP[envPos][1] & 0xFF) << 8; - - envPos++; - if (ins->envPTyp & 4) - { - envPos--; - - if (envPos == ins->envPRepE) - { - if (!(ins->envPTyp & 2) || envPos != ins->envPSust || ch->envSustainActive) - { - envPos = ins->envPRepS; - - ch->envPCnt = ins->envPP[envPos][0]; - ch->envPAmp = (ins->envPP[envPos][1] & 0xFF) << 8; - } - } - - envPos++; - } - - if (envPos < ins->envPPAnt) - { - envInterpolateFlag = true; - if ((ins->envPTyp & 2) && ch->envSustainActive) - { - if (envPos-1 == ins->envPSust) - { - envPos--; - ch->envPIPValue = 0; - envInterpolateFlag = false; - } - } - - if (envInterpolateFlag) - { - ch->envPPos = envPos; - - ch->envPIPValue = 0; - if (ins->envPP[envPos][0] > ins->envPP[envPos-1][0]) - { - ch->envPIPValue = ((ins->envPP[envPos][1] - ins->envPP[envPos-1][1]) & 0xFF) << 8; - ch->envPIPValue /= (ins->envPP[envPos][0] - ins->envPP[envPos-1][0]); - - envVal = ch->envPAmp; - envDidInterpolate = true; - } - } - } - else - { - ch->envPIPValue = 0; - } - } - - if (!envDidInterpolate) - { - ch->envPAmp += ch->envPIPValue; - - envVal = ch->envPAmp; - if ((envVal >> 8) > 0x40) - { - if ((envVal >> 8) > (0x40+0xC0)/2) - envVal = 16384; - else - envVal = 0; - - ch->envPIPValue = 0; - } - } - - panTmp = ch->outPan - 128; - if (panTmp > 0) - panTmp = 0 - panTmp; - panTmp += 128; - - envVal -= (32 * 256); - - ch->finalPan = ch->outPan + ((((int16_t)envVal * (panTmp << 3)) >> 16) & 0xFF); - ch->status |= IS_Pan; - } - else - { - ch->finalPan = ch->outPan; - } - - // *** AUTO VIBRATO *** - if (ch->midiVibDepth > 0 || ins->vibDepth > 0) - { - if (ch->eVibSweep > 0) - { - autoVibAmp = ch->eVibSweep; - if (ch->envSustainActive) - { - autoVibAmp += ch->eVibAmp; - if ((autoVibAmp >> 8) > ins->vibDepth) - { - autoVibAmp = ins->vibDepth << 8; - ch->eVibSweep = 0; - } - - ch->eVibAmp = autoVibAmp; - } - } - else - { - autoVibAmp = ch->eVibAmp; - } - - // non-FT2 hack to make modulation wheel work when auto vibrato rate is zero - if (ch->midiVibDepth > 0 && ins->vibRate == 0) - ins->vibRate = 0x20; - - autoVibAmp += ch->midiVibDepth; - - ch->eVibPos += ins->vibRate; - - if (ins->vibTyp == 1) autoVibVal = (ch->eVibPos > 127) ? 64 : -64; // square - else if (ins->vibTyp == 2) autoVibVal = (((ch->eVibPos >> 1) + 64) & 127) - 64; // ramp up - else if (ins->vibTyp == 3) autoVibVal = (((0 - (ch->eVibPos >> 1)) + 64) & 127) - 64; // ramp down - else autoVibVal = vibSineTab[ch->eVibPos]; // sine - - autoVibVal <<= 2; - - tmp32 = ((autoVibVal * (int16_t)autoVibAmp) >> 16) & 0x8000FFFF; - tmpPeriod = ch->outPeriod + (int16_t)tmp32; - if (tmpPeriod > 32000-1) - tmpPeriod = 0; - - ch->finalPeriod = tmpPeriod - ch->midiPitch; - ch->status |= IS_Period; - } - else - { - ch->finalPeriod = ch->outPeriod; - if (midi.enable) - { - ch->finalPeriod -= ch->midiPitch; - ch->status |= IS_Period; - } - } -} - -int16_t relocateTon(int16_t period, int8_t relativeNote, stmTyp *ch) -{ - int8_t fineTune; - int32_t loPeriod, hiPeriod, tmpPeriod, tableIndex; - - fineTune = (ch->fineTune >> 3) + 16; - hiPeriod = 8 * 12 * 16; - loPeriod = 0; - - for (int8_t i = 0; i < 8; i++) - { - tmpPeriod = (((loPeriod + hiPeriod) >> 1) & 0xFFFFFFF0) + fineTune; - - tableIndex = tmpPeriod - 8; - if (tableIndex < 0) // added security check - tableIndex = 0; - - if (period >= note2Period[tableIndex]) - hiPeriod = tmpPeriod - fineTune; - else - loPeriod = tmpPeriod - fineTune; - } - - tmpPeriod = loPeriod + fineTune + (relativeNote << 4); - if (tmpPeriod < 0) // added security check - tmpPeriod = 0; - - if (tmpPeriod >= ((8*12*16)+15)-1) // FT2 bug: off-by-one edge case - tmpPeriod = (8*12*16)+15; - - return note2Period[tmpPeriod]; -} - -static void tonePorta(stmTyp *ch) -{ - if (ch->portaDir == 0) - return; - - if (ch->portaDir > 1) - { - ch->realPeriod -= ch->portaSpeed; - if (ch->realPeriod <= ch->wantPeriod) - { - ch->portaDir = 1; - ch->realPeriod = ch->wantPeriod; - } - } - else - { - ch->realPeriod += ch->portaSpeed; - if (ch->realPeriod >= ch->wantPeriod) - { - ch->portaDir = 1; - ch->realPeriod = ch->wantPeriod; - } - } - - if (ch->glissFunk) // semi-tone slide flag - ch->outPeriod = relocateTon(ch->realPeriod, 0, ch); - else - ch->outPeriod = ch->realPeriod; - - ch->status |= IS_Period; -} - -static void volume(stmTyp *ch) // actually volume slide -{ - uint8_t tmpEff = ch->eff; - if (tmpEff == 0) - tmpEff = ch->volSlideSpeed; - - ch->volSlideSpeed = tmpEff; - - if ((tmpEff & 0xF0) == 0) - { - // unsigned clamp - if (ch->realVol >= tmpEff) - ch->realVol -= tmpEff; - else - ch->realVol = 0; - } - else - { - // unsigned clamp - if (ch->realVol <= 64-(tmpEff>>4)) - ch->realVol += tmpEff>>4; - else - ch->realVol = 64; - } - - ch->outVol = ch->realVol; - ch->status |= IS_Vol; -} - -static void vibrato2(stmTyp *ch) -{ - uint8_t tmpVib = (ch->vibPos / 4) & 0x1F; - - switch (ch->waveCtrl & 3) - { - // 0: sine - case 0: tmpVib = vibTab[tmpVib]; break; - - // 1: ramp - case 1: - { - tmpVib *= 8; - if (ch->vibPos >= 128) - tmpVib ^= 0xFF; - } - break; - - // 2/3: square - default: tmpVib = 255; break; - } - - tmpVib = (tmpVib * ch->vibDepth) / 32; - - if (ch->vibPos >= 128) - ch->outPeriod = ch->realPeriod - tmpVib; - else - ch->outPeriod = ch->realPeriod + tmpVib; - - ch->status |= IS_Period; - ch->vibPos += ch->vibSpeed; -} - -static void vibrato(stmTyp *ch) -{ - if (ch->eff > 0) - { - if ((ch->eff & 0x0F) > 0) ch->vibDepth = ch->eff & 0x0F; - if ((ch->eff & 0xF0) > 0) ch->vibSpeed = (ch->eff >> 4) * 4; - } - - vibrato2(ch); -} - -static void doEffects(stmTyp *ch) -{ - int8_t note; - uint8_t tmpEff, tremorData, tremorSign, tmpTrem; - int16_t tremVol; - uint16_t i, tick; - - if (ch->stOff) - return; - - // *** VOLUME COLUMN EFFECTS (TICKS >0) *** - - // volume slide down - if ((ch->volKolVol & 0xF0) == 0x60) - { - // unsigned clamp - if (ch->realVol >= (ch->volKolVol & 0x0F)) - ch->realVol -= ch->volKolVol & 0x0F; - else - ch->realVol = 0; - - ch->outVol = ch->realVol; - ch->status |= IS_Vol; - } - - // volume slide up - else if ((ch->volKolVol & 0xF0) == 0x70) - { - // unsigned clamp - if (ch->realVol <= 64-(ch->volKolVol & 0x0F)) - ch->realVol += ch->volKolVol & 0x0F; - else - ch->realVol = 64; - - ch->outVol = ch->realVol; - ch->status |= IS_Vol; - } - - // vibrato (+ set vibrato depth) - else if ((ch->volKolVol & 0xF0) == 0xB0) - { - if (ch->volKolVol != 0xB0) - ch->vibDepth = ch->volKolVol & 0x0F; - - vibrato2(ch); - } - - // pan slide left - else if ((ch->volKolVol & 0xF0) == 0xD0) - { - // unsigned clamp + a bug when the parameter is 0 - if ((ch->volKolVol & 0x0F) == 0 || ch->outPan < (ch->volKolVol & 0x0F)) - ch->outPan = 0; - else - ch->outPan -= ch->volKolVol & 0x0F; - - ch->status |= IS_Pan; - } - - // pan slide right - else if ((ch->volKolVol & 0xF0) == 0xE0) - { - // unsigned clamp - if (ch->outPan <= 255-(ch->volKolVol & 0x0F)) - ch->outPan += ch->volKolVol & 0x0F; - else - ch->outPan = 255; - - ch->status |= IS_Pan; - } - - // tone portamento - else if ((ch->volKolVol & 0xF0) == 0xF0) tonePorta(ch); - - // *** MAIN EFFECTS (TICKS >0) *** - - if ((ch->eff == 0 && ch->effTyp == 0) || ch->effTyp >= 36) return; // no effect - - // 0xy - Arpeggio - if (ch->effTyp == 0) - { - tick = song.timer; - - // FT2 'out of boundary LUT read' arp simulation - if (tick < 16) tick %= 3; - else if (tick == 16) tick = 0; - else tick = 2; - - if (tick == 0) - { - ch->outPeriod = ch->realPeriod; - } - else - { - if (tick == 1) - note = ch->eff >> 4; - else - note = ch->eff & 0xF; // tick 2 - - ch->outPeriod = relocateTon(ch->realPeriod, note, ch); - } - - ch->status |= IS_Period; - } - - // 1xx - period slide up - else if (ch->effTyp == 1) - { - tmpEff = ch->eff; - if (tmpEff == 0) - tmpEff = ch->portaUpSpeed; - - ch->portaUpSpeed = tmpEff; - - ch->realPeriod -= tmpEff * 4; - if (ch->realPeriod < 1) - ch->realPeriod = 1; - - ch->outPeriod = ch->realPeriod; - ch->status |= IS_Period; - } - - // 2xx - period slide down - else if (ch->effTyp == 2) - { - tmpEff = ch->eff; - if (tmpEff == 0) - tmpEff = ch->portaDownSpeed; - - ch->portaDownSpeed = tmpEff; - - ch->realPeriod += tmpEff * 4; - if (ch->realPeriod > 32000-1) - ch->realPeriod = 32000-1; - - ch->outPeriod = ch->realPeriod; - ch->status |= IS_Period; - } - - // 3xx - tone portamento - else if (ch->effTyp == 3) tonePorta(ch); - - // 4xy - vibrato - else if (ch->effTyp == 4) vibrato(ch); - - // 5xy - tone portamento + volume slide - else if (ch->effTyp == 5) - { - tonePorta(ch); - volume(ch); - } - - // 6xy - vibrato + volume slide - else if (ch->effTyp == 6) - { - vibrato2(ch); - volume(ch); - } - - // 7xy - tremolo - else if (ch->effTyp == 7) - { - tmpEff = ch->eff; - if (tmpEff > 0) - { - if ((tmpEff & 0x0F) > 0) ch->tremDepth = tmpEff & 0x0F; - if ((tmpEff & 0xF0) > 0) ch->tremSpeed = (tmpEff >> 4) * 4; - } - - tmpTrem = (ch->tremPos / 4) & 0x1F; - switch ((ch->waveCtrl >> 4) & 3) - { - // 0: sine - case 0: tmpTrem = vibTab[tmpTrem]; break; - - // 1: ramp - case 1: - { - tmpTrem *= 8; - if (ch->vibPos >= 128) tmpTrem ^= 0xFF; // FT2 bug, should've been TremPos - } - break; - - // 2/3: square - default: tmpTrem = 255; break; - } - tmpTrem = (tmpTrem * ch->tremDepth) / 64; - - if (ch->tremPos >= 128) - { - tremVol = ch->realVol - tmpTrem; - if (tremVol < 0) - tremVol = 0; - } - else - { - tremVol = ch->realVol + tmpTrem; - if (tremVol > 64) - tremVol = 64; - } - - ch->outVol = tremVol & 0xFF; - ch->tremPos += ch->tremSpeed; - ch->status |= IS_Vol; - } - - // Axy - volume slide - else if (ch->effTyp == 10) volume(ch); // actually volume slide - - // Exy - E effects - else if (ch->effTyp == 14) - { - // E9x - note retrigger - if ((ch->eff & 0xF0) == 0x90) - { - if (ch->eff != 0x90) // E90 is handled in getNewNote() - { - if ((song.tempo-song.timer) % (ch->eff & 0x0F) == 0) - { - startTone(0, 0, 0, ch); - retrigEnvelopeVibrato(ch); - } - } - } - - // ECx - note cut - else if ((ch->eff & 0xF0) == 0xC0) - { - if (((song.tempo-song.timer) & 0xFF) == (ch->eff & 0x0F)) - { - ch->outVol = 0; - ch->realVol = 0; - ch->status |= (IS_Vol + IS_QuickVol); - } - } - - // EDx - note delay - else if ((ch->eff & 0xF0) == 0xD0) - { - if (((song.tempo-song.timer) & 0xFF) == (ch->eff & 0x0F)) - { - startTone(ch->tonTyp & 0xFF, 0, 0, ch); - - if ((ch->tonTyp & 0xFF00) > 0) - retrigVolume(ch); - - retrigEnvelopeVibrato(ch); - - if (ch->volKolVol >= 0x10 && ch->volKolVol <= 0x50) - { - ch->outVol = ch->volKolVol - 16; - ch->realVol = ch->outVol; - } - else if (ch->volKolVol >= 0xC0 && ch->volKolVol <= 0xCF) - { - ch->outPan = (ch->volKolVol & 0x0F) << 4; - } - } - } - } - - // Hxy - global volume slide - else if (ch->effTyp == 17) - { - tmpEff = ch->eff; - if (tmpEff == 0) - tmpEff = ch->globVolSlideSpeed; - - ch->globVolSlideSpeed = tmpEff; - - if ((tmpEff & 0xF0) == 0) - { - // unsigned clamp - if (song.globVol >= tmpEff) - song.globVol -= tmpEff; - else - song.globVol = 0; - } - else - { - // unsigned clamp - if (song.globVol <= 64-(tmpEff >> 4)) - song.globVol += tmpEff >> 4; - else - song.globVol = 64; - } - - for (i = 0; i < song.antChn; i++) // update all voice volumes - stm[i].status |= IS_Vol; - } - - // Kxx - key off - else if (ch->effTyp == 20) - { - if (((song.tempo-song.timer) & 31) == (ch->eff & 0x0F)) - keyOff(ch); - } - - // Pxy - panning slide - else if (ch->effTyp == 25) - { - tmpEff = ch->eff; - if (tmpEff == 0) - tmpEff = ch->panningSlideSpeed; - - ch->panningSlideSpeed = tmpEff; - - if ((tmpEff & 0xF0) == 0) - { - // unsigned clamp - if (ch->outPan >= tmpEff) - ch->outPan -= tmpEff; - else - ch->outPan = 0; - } - else - { - tmpEff >>= 4; - - // unsigned clamp - if (ch->outPan <= 255-tmpEff) - ch->outPan += tmpEff; - else - ch->outPan = 255; - } - - ch->status |= IS_Pan; - } - - // Rxy - multi note retrig - else if (ch->effTyp == 27) multiRetrig(ch); - - // Txy - tremor - else if (ch->effTyp == 29) - { - tmpEff = ch->eff; - if (tmpEff == 0) - tmpEff = ch->tremorSave; - - ch->tremorSave = tmpEff; - - tremorSign = ch->tremorPos & 0x80; - tremorData = ch->tremorPos & 0x7F; - - tremorData--; - if ((tremorData & 0x80) > 0) - { - if (tremorSign == 0x80) - { - tremorSign = 0x00; - tremorData = tmpEff & 0x0F; - } - else - { - tremorSign = 0x80; - tremorData = tmpEff >> 4; - } - } - - ch->tremorPos = tremorData | tremorSign; - - ch->outVol = tremorSign ? ch->realVol : 0; - ch->status |= (IS_Vol + IS_QuickVol); - } -} - -static void getNextPos(void) -{ - if (song.timer != 1) - return; - - song.pattPos++; - - if (song.pattDelTime > 0) - { - song.pattDelTime2 = song.pattDelTime; - song.pattDelTime = 0; - } - - if (song.pattDelTime2 > 0) - { - if (--song.pattDelTime2 > 0) - song.pattPos--; - } - - if (song.pBreakFlag) - { - song.pBreakFlag = false; - song.pattPos = song.pBreakPos; - } - - if (song.pattPos >= song.pattLen || song.posJumpFlag) - { - song.pattPos = song.pBreakPos; - song.pBreakPos = 0; - song.posJumpFlag = false; - - if (playMode != PLAYMODE_PATT && playMode != PLAYMODE_RECPATT) - { - if (bxxOverflow) - { - song.songPos = 0; - bxxOverflow = false; - } - else - { - if (++song.songPos >= song.len) - { - editor.wavReachedEndFlag = true; - song.songPos = song.repS; - } - } - - assert(song.songPos <= 255); - - song.pattNr = song.songTab[song.songPos & 0xFF]; - song.pattLen = pattLens[song.pattNr & 0xFF]; - } - } -} - -void pauseMusic(void) // stops reading pattern data -{ - musicPaused = true; - while (replayerBusy); -} - -void resumeMusic(void) // starts reading pattern data -{ - musicPaused = false; -} - -static void noNewAllChannels(void) -{ - for (uint8_t i = 0; i < song.antChn; i++) - { - doEffects(&stm[i]); - fixaEnvelopeVibrato(&stm[i]); - } -} - -void mainPlayer(void) // periodically called from audio callback -{ - uint8_t i; - bool readNewNote; - - if (musicPaused || !songPlaying) - { - for (i = 0; i < song.antChn; i++) - fixaEnvelopeVibrato(&stm[i]); - - return; - } - - if (song.speed > 0) - song.musicTime += 65536 / song.speed; // for playback counter - - readNewNote = false; - if (--song.timer == 0) - { - song.timer = song.tempo; - readNewNote = true; - } - - // for visuals - song.curReplayerTimer = (uint8_t)song.timer; - song.curReplayerPattPos = (uint8_t)song.pattPos; - song.curReplayerPattNr = (uint8_t)song.pattNr; - song.curReplayerSongPos = (uint8_t)song.songPos; - - if (readNewNote) - { - if (song.pattDelTime2 == 0) - { - for (i = 0; i < song.antChn; i++) - { - if (patt[song.pattNr] == NULL) - getNewNote(&stm[i], &nilPatternLine); - else - getNewNote(&stm[i], &patt[song.pattNr][(song.pattPos * MAX_VOICES) + i]); - - fixaEnvelopeVibrato(&stm[i]); - } - } - else - { - noNewAllChannels(); - } - } - else - { - noNewAllChannels(); - } - - getNextPos(); -} - -void resetMusic(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - song.timer = 1; - stopVoices(); - - if (audioWasntLocked) - unlockAudio(); - - setPos(0, 0); - - if (!songPlaying) - { - setScrollBarEnd(SB_POS_ED, (song.len - 1) + 5); - setScrollBarPos(SB_POS_ED, 0, false); - } -} - -void setPos(int16_t songPos, int16_t pattPos) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (songPos > -1) - { - song.songPos = songPos; - if (song.len > 0 && song.songPos >= song.len) - song.songPos = song.len - 1; - - song.pattNr = song.songTab[songPos]; - assert(song.pattNr < MAX_PATTERNS); - song.pattLen = pattLens[song.pattNr]; - - checkMarkLimits(); // non-FT2 safety - } - - if (pattPos > -1) - { - song.pattPos = pattPos; - if (song.pattPos >= song.pattLen) - song.pattPos = song.pattLen - 1; - } - - // if not playing, update local position variables - if (!songPlaying) - { - if (pattPos > -1) - { - editor.pattPos = (uint8_t)pattPos; - editor.ui.updatePatternEditor = true; - } - - if (songPos > -1) - { - editor.editPattern = (uint8_t)song.pattNr; - editor.songPos = song.songPos; - editor.ui.updatePosSections = true; - } - } - - song.timer = 1; - - if (audioWasntLocked) - unlockAudio(); -} - -void delta2Samp(int8_t *p, int32_t len, uint8_t typ) -{ - int8_t *p8, news8, olds8L, olds8R; - int16_t *p16, news16, olds16L, olds16R, tmp16; - int32_t i, tmp32; - - if (typ & 16) len /= 2; // 16-bit - if (typ & 32) len /= 2; // stereo - - if (typ & 32) - { - if (typ & 16) - { - p16 = (int16_t *)p; - - olds16L = 0; - olds16R = 0; - - for (i = 0; i < len; i++) - { - news16 = p16[i] + olds16L; - p16[i] = news16; - olds16L = news16; - - news16 = p16[len+i] + olds16R; - p16[len+i] = news16; - olds16R = news16; - - tmp32 = olds16L + olds16R; - p16[i] = (int16_t)(tmp32 >> 1); - } - } - else - { - p8 = (int8_t *)p; - - olds8L = 0; - olds8R = 0; - - for (i = 0; i < len; i++) - { - news8 = p8[i] + olds8L; - p8[i] = news8; - olds8L = news8; - - news8 = p8[len+i] + olds8R; - p8[len+i] = news8; - olds8R = news8; - - tmp16 = olds8L + olds8R; - p8[i] = (int8_t)(tmp16 >> 1); - } - } - } - else - { - if (typ & 16) - { - p16 = (int16_t *)p; - - olds16L = 0; - for (i = 0; i < len; i++) - { - news16 = p16[i] + olds16L; - p16[i] = news16; - olds16L = news16; - } - } - else - { - p8 = (int8_t *)p; - - olds8L = 0; - for (i = 0; i < len; i++) - { - news8 = p8[i] + olds8L; - p8[i] = news8; - olds8L = news8; - } - } - } -} - -void samp2Delta(int8_t *p, int32_t len, uint8_t typ) -{ - int8_t *p8, news8, olds8; - int16_t *p16, news16, olds16; - int32_t i; - - if (typ & 16) len /= 2; // 16-bit - - if (typ & 16) - { - p16 = (int16_t *)p; - - news16 = 0; - for (i = 0; i < len; i++) - { - olds16 = p16[i]; - p16[i] -= news16; - news16 = olds16; - } - } - else - { - p8 = (int8_t *)p; - - news8 = 0; - for (i = 0; i < len; i++) - { - olds8 = p8[i]; - p8[i] -= news8; - news8 = olds8; - } - } -} - -bool allocateInstr(int16_t nr) -{ - bool audioWasntLocked; - instrTyp *p; - - if (instr[nr] != NULL) - return false; // already allocated - - p = (instrTyp *)malloc(sizeof (instrTyp)); - if (p == NULL) - return false; - - memset(p, 0, sizeof (instrTyp)); - - for (int8_t i = 0; i < 16; i++) // set standard sample pan/vol - { - p->samp[i].pan = 128; - p->samp[i].vol = 64; - } - - setStdEnvelope(p, 0, 3); - - audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - instr[nr] = p; - - if (audioWasntLocked) - unlockAudio(); - - return true; -} - -void freeInstr(int16_t nr) -{ - if (instr[nr] == NULL) - return; // not allocated - - pauseAudio(); // channel instrument pointers are now cleared - - for (int8_t i = 0; i < 16; i++) // free sample data - { - if (instr[nr]->samp[i].pek != NULL) - free(instr[nr]->samp[i].pek); - } - - free(instr[nr]); - instr[nr] = NULL; - - resumeAudio(); -} - -void freeAllInstr(void) -{ - pauseAudio(); // channel instrument pointers are now cleared - for (int16_t i = 1; i <= MAX_INST; i++) - { - if (instr[i] != NULL) - { - for (int8_t j = 0; j < MAX_SMP_PER_INST; j++) // free sample data - { - if (instr[i]->samp[j].pek != NULL) - free(instr[i]->samp[j].pek); - } - - free(instr[i]); - instr[i] = NULL; - } - } - resumeAudio(); -} - -void freeSample(int16_t nr, int16_t nr2) -{ - sampleTyp *s; - - if (instr[nr] == NULL) - return; // instrument not allocated - - pauseAudio(); // voice sample pointers are now cleared - - s = &instr[nr]->samp[nr2]; - if (s->pek != NULL) - free(s->pek); - - memset(s, 0, sizeof (sampleTyp)); - - s->pan = 128; - s->vol = 64; - - resumeAudio(); -} - -void freeAllPatterns(void) -{ - pauseAudio(); - for (uint16_t i = 0; i < MAX_PATTERNS; i++) - { - if (patt[i] != NULL) - { - free(patt[i]); - patt[i] = NULL; - } - } - resumeAudio(); -} - -void setStdEnvelope(instrTyp *ins, int16_t i, uint8_t typ) -{ - if (ins == NULL) - return; - - pauseMusic(); - - if (typ & 1) - { - memcpy(ins->envVP, config.stdEnvP[i][0], 2*2*12); - ins->envVPAnt = (uint8_t)config.stdVolEnvAnt[i]; - ins->envVSust = (uint8_t)config.stdVolEnvSust[i]; - ins->envVRepS = (uint8_t)config.stdVolEnvRepS[i]; - ins->envVRepE = (uint8_t)config.stdVolEnvRepE[i]; - ins->fadeOut = config.stdFadeOut[i]; - ins->vibRate = (uint8_t)config.stdVibRate[i]; - ins->vibDepth = (uint8_t)config.stdVibDepth[i]; - ins->vibSweep = (uint8_t)config.stdVibSweep[i]; - ins->vibTyp = (uint8_t)config.stdVibTyp[i]; - ins->envVTyp = (uint8_t)config.stdVolEnvTyp[i]; - } - - if (typ & 2) - { - memcpy(ins->envPP, config.stdEnvP[i][1], 2*2*12); - ins->envPPAnt = (uint8_t)config.stdPanEnvAnt[0]; - ins->envPSust = (uint8_t)config.stdPanEnvSust[0]; - ins->envPRepS = (uint8_t)config.stdPanEnvRepS[0]; - ins->envPRepE = (uint8_t)config.stdPanEnvRepE[0]; - ins->envPTyp = (uint8_t)config.stdPanEnvTyp[0]; - } - - resumeMusic(); -} - -void setNoEnvelope(instrTyp *ins) -{ - if (ins == NULL) - return; - - pauseMusic(); - - memcpy(ins->envVP, config.stdEnvP[0][0], 2*2*12); - ins->envVPAnt = (uint8_t)config.stdVolEnvAnt[0]; - ins->envVSust = (uint8_t)config.stdVolEnvSust[0]; - ins->envVRepS = (uint8_t)config.stdVolEnvRepS[0]; - ins->envVRepE = (uint8_t)config.stdVolEnvRepE[0]; - ins->envVTyp = 0; - - memcpy(ins->envPP, config.stdEnvP[0][1], 2*2*12); - ins->envPPAnt = (uint8_t)config.stdPanEnvAnt[0]; - ins->envPSust = (uint8_t)config.stdPanEnvSust[0]; - ins->envPRepS = (uint8_t)config.stdPanEnvRepS[0]; - ins->envPRepE = (uint8_t)config.stdPanEnvRepE[0]; - ins->envPTyp = 0; - - ins->fadeOut = 0; - ins->vibRate = 0; - ins->vibDepth = 0; - ins->vibSweep = 0; - ins->vibTyp = 0; - - resumeMusic(); -} - -bool patternEmpty(uint16_t nr) -{ - uint8_t *scanPtr; - uint32_t scanLen; - - if (patt[nr] == NULL) - return true; - - scanPtr = (uint8_t *)patt[nr]; - scanLen = pattLens[nr] * TRACK_WIDTH; - - for (uint32_t i = 0; i < scanLen; i++) - { - if (scanPtr[i] != 0) - return false; - } - - return true; -} - -void updateChanNums(void) -{ - uint8_t pageLen; - - assert(!(song.antChn & 1)); - - pageLen = 8; - if (config.ptnS3M) - { - if (song.antChn == 2) pageLen = 4; - else if (song.antChn == 4) pageLen = 4; - else if (song.antChn == 6) pageLen = 6; - else if (song.antChn >= 8) pageLen = 8; - } - else - { - if (song.antChn == 2) pageLen = 4; - else if (song.antChn == 4) pageLen = 4; - else if (song.antChn == 6) pageLen = 6; - else if (song.antChn == 8) pageLen = 8; - else if (song.antChn == 10) pageLen = 10; - else if (song.antChn >= 12) pageLen = 12; - } - - editor.ui.numChannelsShown = pageLen; - if (song.antChn == 2) - editor.ui.numChannelsShown = 2; - - if (config.ptnMaxChannels == 0) - { - if (editor.ui.numChannelsShown > 4) - editor.ui.numChannelsShown = 4; - } - else if (config.ptnMaxChannels == 1) - { - if (editor.ui.numChannelsShown > 6) - editor.ui.numChannelsShown = 6; - } - else if (config.ptnMaxChannels == 2) - { - if (editor.ui.numChannelsShown > 8) - editor.ui.numChannelsShown = 8; - } - else if (config.ptnMaxChannels == 3) - { - if (config.ptnS3M) - { - if (editor.ui.numChannelsShown > 8) - editor.ui.numChannelsShown = 8; - } - else - { - if (editor.ui.numChannelsShown > 12) - editor.ui.numChannelsShown = 12; - } - } - - editor.ui.pattChanScrollShown = (song.antChn > getMaxVisibleChannels()); - - if (editor.ui.patternEditorShown) - { - if (editor.ui.channelOffset > song.antChn-editor.ui.numChannelsShown) - setScrollBarPos(SB_CHAN_SCROLL, song.antChn - editor.ui.numChannelsShown, true); - } - - if (editor.ui.pattChanScrollShown) - { - if (editor.ui.patternEditorShown) - { - showScrollBar(SB_CHAN_SCROLL); - showPushButton(PB_CHAN_SCROLL_LEFT); - showPushButton(PB_CHAN_SCROLL_RIGHT); - } - - setScrollBarEnd(SB_CHAN_SCROLL, song.antChn); - setScrollBarPageLength(SB_CHAN_SCROLL, editor.ui.numChannelsShown); - } - else - { - hideScrollBar(SB_CHAN_SCROLL); - hidePushButton(PB_CHAN_SCROLL_LEFT); - hidePushButton(PB_CHAN_SCROLL_RIGHT); - - setScrollBarPos(SB_CHAN_SCROLL, 0, false); - - editor.ui.channelOffset = 0; - } - - if (editor.cursor.ch >= editor.ui.channelOffset+editor.ui.numChannelsShown) - editor.cursor.ch = editor.ui.channelOffset+editor.ui.numChannelsShown - 1; -} - -void conv8BitSample(int8_t *p, int32_t len, bool stereo) -{ - int8_t *p2, l, r; - int16_t tmp16; - int32_t i; - - if (stereo) - { - len /= 2; - - p2 = &p[len]; - for (i = 0; i < len; i++) - { - l = p[i] - 128; - r = p2[i] - 128; - - tmp16 = l + r; - p[i] = (int8_t)(tmp16 >> 1); - } - } - else - { - for (i = 0; i < len; i++) - p[i] -= 128; - } -} - -void conv16BitSample(int8_t *p, int32_t len, bool stereo) -{ - int16_t *p16_1, *p16_2, l, r; - int32_t i, tmp32; - - p16_1 = (int16_t *)p; - - len /= 2; - - if (stereo) - { - len /= 2; - - p16_2 = (int16_t *)&p[len * 2]; - for (i = 0; i < len; i++) - { - l = p16_1[i] - 32768; - r = p16_2[i] - 32768; - - tmp32 = l + r; - p16_1[i] = (int16_t)(tmp32 >> 1); - } - } - else - { - for (i = 0; i < len; i++) - p16_1[i] -= 32768; - } -} - -void closeReplayer(void) -{ - freeAllInstr(); - freeAllPatterns(); - - if (logTab != NULL) - { - free(logTab); - logTab = NULL; - } - - if (amigaPeriods != NULL) - { - free(amigaPeriods); - amigaPeriods = NULL; - } - - if (linearPeriods != NULL) - { - free(linearPeriods); - linearPeriods = NULL; - } - - if (instr[0] != NULL) - { - free(instr[0]); - instr[0] = NULL; - } - - if (instr[130] != NULL) - { - free(instr[130]); - instr[130] = NULL; - } - - if (instr[131] != NULL) - { - free(instr[131]); - instr[131] = NULL; - } -} - -bool setupReplayer(void) -{ - uint16_t i, k; - int16_t noteVal; - - // allocate memory for pointers - - for (i = 0; i < MAX_PATTERNS; i++) - pattLens[i] = 64; - - if (linearPeriods == NULL) - linearPeriods = (int16_t *)malloc(sizeof (int16_t) * ((12 * 10 * 16) + 16)); - - if (amigaPeriods == NULL) - amigaPeriods = (int16_t *)malloc(sizeof (int16_t) * ((12 * 10 * 16) + 16)); - - if (logTab == NULL) - logTab = (uint32_t *)malloc(sizeof (int32_t) * 768); - - if (linearPeriods == NULL || amigaPeriods == NULL || logTab == NULL) - { - showErrorMsgBox("Not enough memory!"); - return false; - } - - // generate tables, bit-exact to original FT2 - - // log table - for (i = 0; i < 768; i++) - logTab[i] = (uint32_t)round(16777216.0 * exp((i / 768.0) * M_LN2)); - - // linear table - for (i = 0; i < (12*10*16)+16; i++) - linearPeriods[i] = (((12 * 10 * 16) + 16) * 4) - (i * 4); - - /* Amiga period table - ** This has a LUT read overflow in real FT2 making the last 17 values trash. We patch those later. */ - k = 0; - for (i = 0; i < 10; i++) - { - for (uint16_t j = 0; j < 96; j++) - { - noteVal = ((amigaFinePeriod[j] * 64) + (-1 + (1 << i))) >> (i + 1); - - amigaPeriods[k++] = noteVal; - amigaPeriods[k++] = noteVal; // copy for interpolation applied later - } - } - - // interpolate between points - for (i = 0; i < (12*10*8)+7; i++) - amigaPeriods[(i * 2) + 1] = (amigaPeriods[i * 2] + amigaPeriods[(i * 2) + 2]) / 2; - - // the following 17 values are confirmed to be the correct table LUT overflow values in real FT2 - amigaPeriods[1919] = 22; amigaPeriods[1920] = 16; amigaPeriods[1921] = 8; amigaPeriods[1922] = 0; - amigaPeriods[1923] = 16; amigaPeriods[1924] = 32; amigaPeriods[1925] = 24; amigaPeriods[1926] = 16; - amigaPeriods[1927] = 8; amigaPeriods[1928] = 0; amigaPeriods[1929] = 16; amigaPeriods[1930] = 32; - amigaPeriods[1931] = 24; amigaPeriods[1932] = 16; amigaPeriods[1933] = 8; amigaPeriods[1934] = 0; - amigaPeriods[1935] = 0; - - playMode = PLAYMODE_IDLE; - songPlaying = false; - - resetChannels(); - - song.len = 1; - song.antChn = 8; - - editor.speed = song.speed = 125; - editor.tempo = song.tempo = 6; - editor.globalVol = song.globVol = 64; - song.initialTempo = song.tempo; - - setFrqTab(true); - setPos(0, 0); - - if (!allocateInstr(0)) - { - showErrorMsgBox("Not enough memory!"); - return false; - } - instr[0]->samp[0].vol = 0; - - if (!allocateInstr(130)) - { - showErrorMsgBox("Not enough memory!"); - return false; - } - memset(instr[130], 0, sizeof (instrTyp)); - - if (!allocateInstr(131)) // Instr. Ed. display instrument for unallocated/empty instruments - { - showErrorMsgBox("Not enough memory!"); - return false; - } - memset(instr[131], 0, sizeof (instrTyp)); - for (i = 0; i < 16; i++) - instr[131]->samp[i].pan = 128; - - // unmute all channels - for (i = 0; i < MAX_VOICES; i++) - editor.chnMode[i] = true; - - editor.tmpPattern = 65535; // pattern editor update/redraw kludge - return true; -} - -void startPlaying(int8_t mode, int16_t row) -{ - lockMixerCallback(); - - assert(mode != PLAYMODE_IDLE && mode != PLAYMODE_EDIT); - - if (mode == PLAYMODE_PATT || mode == PLAYMODE_RECPATT) - setPos(-1, row); - else - setPos(editor.songPos, row); - - playMode = mode; - songPlaying = true; - song.globVol = 64; - song.musicTime = 0; - song.pattDelTime2 = 0; - song.pattDelTime = 0; - - // non-FT2 fix: If song speed was 0, set it back to initial speed on play - if (song.tempo == 0) - song.tempo = song.initialTempo; - - unlockMixerCallback(); - - editor.ui.updatePosSections = true; - editor.ui.updatePatternEditor = true; -} - -void stopPlaying(void) -{ - uint8_t i; - bool songWasPlaying; - - songWasPlaying = songPlaying; - playMode = PLAYMODE_IDLE; - songPlaying = false; - - if (config.killNotesOnStopPlay) - { - // safely kills all voices - lockMixerCallback(); - unlockMixerCallback(); - - // prevent getFrequenceValue() from calculating the rates forever - for (i = 0; i < MAX_VOICES; i++) - stm[i].outPeriod = 0; - } - else - { - for (i = 0; i < MAX_VOICES; i++) - playTone(i, 0, 97, -1, 0, 0); - } - - // if song was playing, update local pattPos (fixes certain glitches) - if (songWasPlaying) - editor.pattPos = song.pattPos; - - midi.currMIDIVibDepth = 0; - midi.currMIDIPitch = 0; - - memset(editor.keyOnTab, 0, sizeof (editor.keyOnTab)); - - editor.ui.updatePosSections = true; - editor.ui.updatePatternEditor = true; - - // certain non-FT2 fixes - song.timer = editor.timer = 1; - song.globVol = editor.globalVol = 64; - editor.ui.drawGlobVolFlag = true; -} - -// from keyboard/smp. ed. -void playTone(uint8_t stmm, uint8_t inst, uint8_t ton, int8_t vol, uint16_t midiVibDepth, uint16_t midiPitch) -{ - sampleTyp *s; - stmTyp *ch; - instrTyp *ins = instr[inst]; - - if (ins == NULL) - return; - - assert(stmm < MAX_VOICES && inst < MAX_INST && ton <= 97); - ch = &stm[stmm]; - - if (ton != 97) - { - if (ton < 1 || ton > 96) - return; - - s = &ins->samp[ins->ta[ton-1] & 0x0F]; - if (s->pek == NULL || s->len == 0 || ton+s->relTon <= 0 || ton+s->relTon >= 12*10) - return; - } - - lockAudio(); - - if (inst != 0 && ton != 97) - { - ch->tonTyp = (inst << 8) | (ch->tonTyp & 0xFF); - ch->instrNr = inst; - } - - ch->tonTyp = (ch->tonTyp & 0xFF00) | ton; - ch->effTyp = 0; - ch->eff = 0; - - startTone(ton, 0, 0, ch); - - if (ton != 97) - { - retrigVolume(ch); - retrigEnvelopeVibrato(ch); - - if (vol != -1) // if jamming note keys, vol -1 = use sample's volume - { - ch->realVol = vol; - ch->outVol = vol; - ch->oldVol = vol; - } - } - - ch->midiVibDepth = midiVibDepth; - ch->midiPitch = midiPitch; - - fixaEnvelopeVibrato(ch); - - unlockAudio(); -} - -// smp. ed. -void playSample(uint8_t stmm, uint8_t inst, uint8_t smpNr, uint8_t ton, uint16_t midiVibDepth, uint16_t midiPitch) -{ - uint8_t vol; - stmTyp *ch; - - if (instr[inst] == NULL) - return; - - // for sampling playback line in Smp. Ed. - lastChInstr[stmm].instrNr = 255; - lastChInstr[stmm].sampleNr = 255; - editor.curPlayInstr = 255; - editor.curPlaySmp = 255; - - assert(stmm < MAX_VOICES && inst < MAX_INST && smpNr < MAX_SMP_PER_INST && ton <= 97); - ch = &stm[stmm]; - - memcpy(&instr[130]->samp[0], &instr[inst]->samp[smpNr], sizeof (sampleTyp)); - - vol = instr[inst]->samp[smpNr].vol; - - lockAudio(); - - ch->instrNr = 130; - ch->tonTyp = (ch->instrNr << 8) | ton; - ch->effTyp = 0; - - startTone(ton, 0, 0, ch); - - if (ton != 97) - { - retrigVolume(ch); - retrigEnvelopeVibrato(ch); - - ch->realVol = vol; - ch->outVol = vol; - ch->oldVol = vol; - } - - ch->midiVibDepth = midiVibDepth; - ch->midiPitch = midiPitch; - - fixaEnvelopeVibrato(ch); - - unlockAudio(); - - while (ch->status & IS_NyTon); // wait for sample to latch in mixer - - // for sampling playback line in Smp. Ed. - editor.curPlayInstr = editor.curInstr; - editor.curPlaySmp = editor.curSmp; -} - -// smp. ed. -void playRange(uint8_t stmm, uint8_t inst, uint8_t smpNr, uint8_t ton, uint16_t midiVibDepth, uint16_t midiPitch, int32_t offs, int32_t len) -{ - uint8_t vol; - int32_t samplePlayOffset; - stmTyp *ch; - sampleTyp *s; - - if (instr[inst] == NULL) - return; - - // for sampling playback line in Smp. Ed. - lastChInstr[stmm].instrNr = 255; - lastChInstr[stmm].sampleNr = 255; - editor.curPlayInstr = 255; - editor.curPlaySmp = 255; - - assert(stmm < MAX_VOICES && inst < MAX_INST && smpNr < MAX_SMP_PER_INST && ton <= 97); - - ch = &stm[stmm]; - s = &instr[130]->samp[0]; - - memcpy(s, &instr[inst]->samp[smpNr], sizeof (sampleTyp)); - - vol = instr[inst]->samp[smpNr].vol; - - if (s->typ & 16) - { - offs &= 0xFFFFFFFE; - len &= 0xFFFFFFFE; - } - - lockAudio(); - - s->len = offs + len; - s->repS = 0; - s->repL = 0; - s->typ &= 16; // only keep 8-bit/16-bit flag (disable loop) - - samplePlayOffset = offs; - if (s->typ & 16) - samplePlayOffset >>= 1; - - ch->instrNr = 130; - ch->tonTyp = (ch->instrNr << 8) | ton; - ch->effTyp = 0; - - startTone(ton, 0, 0, ch); - - ch->smpStartPos = samplePlayOffset; - - if (ton != 97) - { - retrigVolume(ch); - retrigEnvelopeVibrato(ch); - - ch->realVol = vol; - ch->outVol = vol; - ch->oldVol = vol; - } - - ch->midiVibDepth = midiVibDepth; - ch->midiPitch = midiPitch; - - fixaEnvelopeVibrato(ch); - - unlockAudio(); - - while (ch->status & IS_NyTon); // wait for sample to latch in mixer - - // for sampling playback line in Smp. Ed. - editor.curPlayInstr = editor.curInstr; - editor.curPlaySmp = editor.curSmp; -} - -void stopVoices(void) -{ - bool audioWasntLocked; - stmTyp *ch; - - audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - for (uint8_t i = 0; i < MAX_VOICES; i++) - { - ch = &stm[i]; - - lastChInstr[i].sampleNr = 255; - lastChInstr[i].instrNr = 255; - - ch->tonTyp = 0; - ch->relTonNr = 0; - ch->instrNr = 0; - ch->instrSeg = instr[0]; // important: set instrument pointer to instr 0 (placeholder instrument) - ch->status = IS_Vol; - ch->realVol = 0; - ch->outVol = 0; - ch->oldVol = 0; - ch->finalVol = 0; - ch->oldPan = 128; - ch->outPan = 128; - ch->finalPan = 128; - ch->vibDepth = 0; - ch->midiVibDepth = 0; - ch->midiPitch = 0; - ch->smpPtr = NULL; - ch->portaDir = 0; // FT2 bugfix: weird 3xx behavior if not used with note - - stopVoice(i); - } - - // for sampling playback line in Smp. Ed. - editor.curPlayInstr = 255; - editor.curPlaySmp = 255; - - stopAllScopes(); - resetDitherSeed(); - resetOldRates(); - - // wait for scope thread to finish, so that we know pointers aren't deprecated - while (editor.scopeThreadMutex); - - if (audioWasntLocked) - unlockAudio(); -} - -void decSongPos(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (song.songPos > 0) - setPos(song.songPos - 1, 0); - - if (audioWasntLocked) - unlockAudio(); -} - -void incSongPos(void) -{ - bool audioWasntLocked = !audio.locked; - if (audioWasntLocked) - lockAudio(); - - if (song.songPos < song.len-1) - setPos(song.songPos + 1, 0); - - if (audioWasntLocked) - unlockAudio(); -} - -void decCurIns(void) -{ - if (editor.curInstr <= 1) - return; - - editor.curInstr--; - if ((editor.curInstr > 0x40 && !editor.instrBankSwapped) || (editor.curInstr <= 0x40 && editor.instrBankSwapped)) - pbSwapInstrBank(); - - editor.instrBankOffset = ((editor.curInstr - 1) / 8) * 8; - - updateTextBoxPointers(); - updateNewInstrument(); - - if (editor.ui.advEditShown) - updateAdvEdit(); -} - -void incCurIns(void) -{ - if (editor.curInstr >= MAX_INST) - return; - - editor.curInstr++; - if ((editor.curInstr > 0x40 && !editor.instrBankSwapped) || (editor.curInstr <= 0x40 && editor.instrBankSwapped)) - pbSwapInstrBank(); - - editor.instrBankOffset = ((editor.curInstr - 1) / 8) * 8; - - updateTextBoxPointers(); - updateNewInstrument(); - - if (editor.ui.advEditShown) - updateAdvEdit(); -} - -void decCurSmp(void) -{ - if (editor.curSmp == 0) - return; - - editor.curSmp--; - - editor.sampleBankOffset = (editor.curSmp / 5) * 5; - setScrollBarPos(SB_SAMPLE_LIST, editor.sampleBankOffset, true); - - updateTextBoxPointers(); - updateNewSample(); -} - -void incCurSmp(void) -{ - if (editor.curSmp >= MAX_SMP_PER_INST-1) - return; - - editor.curSmp++; - - editor.sampleBankOffset = (editor.curSmp / 5) * 5; - setScrollBarPos(SB_SAMPLE_LIST, editor.sampleBankOffset, true); - - updateTextBoxPointers(); - updateNewSample(); -} - -void pbPlaySong(void) -{ - startPlaying(PLAYMODE_SONG, 0); -} - -void pbPlayPtn(void) -{ - startPlaying(PLAYMODE_PATT, 0); -} - -void pbRecSng(void) -{ - startPlaying(PLAYMODE_RECSONG, 0); -} - -void pbRecPtn(void) -{ - startPlaying(PLAYMODE_RECPATT, 0); -} - -void setSyncedReplayerVars(void) -{ - uint8_t scopeUpdateStatus[MAX_VOICES]; - uint64_t frameTime64; - - pattSyncEntry = NULL; - chSyncEntry = NULL; - - memset(scopeUpdateStatus, 0, sizeof (scopeUpdateStatus)); // this is needed - - frameTime64 = SDL_GetPerformanceCounter(); - - // handle channel sync queue - - while (chQueueClearing); - - chQueueReading = true; - while (chQueueReadSize() > 0) - { - if (frameTime64 < getChQueueTimestamp()) - break; // we have no more stuff to render for now - - chSyncEntry = chQueuePeek(); - if (chSyncEntry == NULL) - break; - - for (uint32_t i = 0; i < song.antChn; i++) - scopeUpdateStatus[i] |= chSyncEntry->channels[i].status; // yes, OR the status - - if (!chQueuePop()) - break; - } - chQueueReading = false; - - /* extra validation because of possible issues when the buffer is full - ** and positions are being reset, which is not entirely thread safe. */ - if (chSyncEntry != NULL && chSyncEntry->timestamp == 0) - chSyncEntry = NULL; - - // handle pattern sync queue - - while (pattQueueClearing); - - pattQueueReading = true; - while (pattQueueReadSize() > 0) - { - if (frameTime64 < getPattQueueTimestamp()) - break; // we have no more stuff to render for now - - pattSyncEntry = pattQueuePeek(); - if (pattSyncEntry == NULL) - break; - - if (!pattQueuePop()) - break; - } - pattQueueReading = false; - - /* extra validation because of possible issues when the buffer is full - ** and positions are being reset, which is not entirely thread safe. */ - if (pattSyncEntry != NULL && pattSyncEntry->timestamp == 0) - pattSyncEntry = NULL; - - // do actual updates - - if (chSyncEntry != NULL) - { - handleScopesFromChQueue(chSyncEntry, scopeUpdateStatus); - editor.ui.drawReplayerPianoFlag = true; - } - - if (!songPlaying || pattSyncEntry == NULL) - return; - - // we have a new tick - - editor.timer = pattSyncEntry->timer; - - if (editor.speed != pattSyncEntry->speed) - { - editor.speed = pattSyncEntry->speed; - editor.ui.drawBPMFlag = true; - } - - if (editor.tempo != pattSyncEntry->tempo) - { - editor.tempo = pattSyncEntry->tempo; - editor.ui.drawSpeedFlag = true; - } - - if (editor.globalVol != pattSyncEntry->globalVol) - { - editor.globalVol = pattSyncEntry->globalVol; - editor.ui.drawGlobVolFlag = true; - } - - if (editor.songPos != pattSyncEntry->songPos) - { - editor.songPos = pattSyncEntry->songPos; - editor.ui.drawPosEdFlag = true; - } - - // somewhat of a kludge... - if (editor.tmpPattern != pattSyncEntry->pattern || editor.pattPos != pattSyncEntry->patternPos) - { - // set pattern number - editor.editPattern = editor.tmpPattern = pattSyncEntry->pattern; - checkMarkLimits(); - editor.ui.drawPattNumLenFlag = true; - - // set row - editor.pattPos = (uint8_t)pattSyncEntry->patternPos; - editor.ui.updatePatternEditor = true; - } -} - -// TABLES - -const char modSig[32][5] = -{ - "1CHN", "2CHN", "3CHN", "4CHN", "5CHN", "6CHN", "7CHN", "8CHN", - "9CHN", "10CH", "11CH", "12CH", "13CH", "14CH", "15CH", "16CH", - "17CH", "18CH", "19CH", "20CH", "21CH", "22CH", "23CH", "24CH", - "25CH", "26CH", "27CH", "28CH", "29CH", "30CH", "31CH", "32CH" -}; - -const int8_t vibSineTab[256] = -{ - 0,-2,-3,-5,-6,-8,-9,-11,-12,-14,-16,-17,-19,-20,-22,-23,-24,-26,-27, - -29,-30,-32,-33,-34,-36,-37,-38,-39,-41,-42,-43,-44,-45,-46,-47,-48, - -49,-50,-51,-52,-53,-54,-55,-56,-56,-57,-58,-59,-59,-60,-60,-61,-61, - -62,-62,-62,-63,-63,-63,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64, - -63,-63,-63,-62,-62,-62,-61,-61,-60,-60,-59,-59,-58,-57,-56,-56,-55, - -54,-53,-52,-51,-50,-49,-48,-47,-46,-45,-44,-43,-42,-41,-39,-38,-37, - -36,-34,-33,-32,-30,-29,-27,-26,-24,-23,-22,-20,-19,-17,-16,-14,-12, - -11,-9,-8,-6,-5,-3,-2,0,2,3,5,6,8,9,11,12,14,16,17,19,20,22,23,24,26, - 27,29,30,32,33,34,36,37,38,39,41,42,43,44,45,46,47,48,49,50,51,52,53, - 54,55,56,56,57,58,59,59,60,60,61,61,62,62,62,63,63,63,64,64,64,64,64, - 64,64,64,64,64,64,63,63,63,62,62,62,61,61,60,60,59,59,58,57,56,56,55, - 54,53,52,51,50,49,48,47,46,45,44,43,42,41,39,38,37,36,34,33,32,30,29, - 27,26,24,23,22,20,19,17,16,14,12,11,9,8,6,5,3,2 -}; - -const uint8_t vibTab[32] = -{ - 0, 24, 49, 74, 97,120,141,161, - 180,197,212,224,235,244,250,253, - 255,253,250,244,235,224,212,197, - 180,161,141,120, 97, 74, 49, 24 -}; - -const uint16_t amigaPeriod[12 * 8] = -{ - 4*1712,4*1616,4*1524,4*1440,4*1356,4*1280,4*1208,4*1140,4*1076,4*1016,4*960,4*906, - 2*1712,2*1616,2*1524,2*1440,2*1356,2*1280,2*1208,2*1140,2*1076,2*1016,2*960,2*906, - 1712,1616,1524,1440,1356,1280,1208,1140,1076,1016,960,906, - 856,808,762,720,678,640,604,570,538,508,480,453, - 428,404,381,360,339,320,302,285,269,254,240,226, - 214,202,190,180,170,160,151,143,135,127,120,113, - 107,101,95,90,85,80,75,71,67,63,60,56, - 53,50,47,45,42,40,37,35,33,31,30,28 -}; - -const uint16_t amigaFinePeriod[12 * 8] = -{ - 907,900,894,887,881,875,868,862,856,850,844,838, - 832,826,820,814,808,802,796,791,785,779,774,768, - 762,757,752,746,741,736,730,725,720,715,709,704, - 699,694,689,684,678,675,670,665,660,655,651,646, - 640,636,632,628,623,619,614,610,604,601,597,592, - 588,584,580,575,570,567,563,559,555,551,547,543, - 538,535,532,528,524,520,516,513,508,505,502,498, - 494,491,487,484,480,477,474,470,467,463,460,457 -}; +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include +#include "ft2_header.h" +#include "ft2_config.h" +#include "ft2_gui.h" +#include "ft2_video.h" +#include "ft2_pattern_ed.h" +#include "ft2_sample_ed.h" +#include "ft2_inst_ed.h" +#include "ft2_diskop.h" +#include "ft2_midi.h" +#include "ft2_scopes.h" +#include "ft2_mouse.h" +#include "ft2_sample_loader.h" +#include "ft2_tables.h" + +/* This is a *huge* mess, directly ported from the original FT2 code (and modified). +** You will experience a lot of headaches if you dig into it... +** If something looks to be off, it's probably not! +*/ + +static bool bxxOverflow; +static int32_t oldPeriod; +static uint32_t oldRate, frequenceDivFactor, frequenceMulFactor; +static tonTyp nilPatternLine; + +// globally accessed + +int8_t playMode = 0; +bool linearFrqTab = false, songPlaying = false, audioPaused = false, musicPaused = false; +volatile bool replayerBusy = false; +const int16_t *note2Period = NULL; +int16_t pattLens[MAX_PATTERNS]; +stmTyp stm[MAX_VOICES]; +songTyp song; +instrTyp *instr[132]; +tonTyp *patt[MAX_PATTERNS]; + +// CODE START + +void fixSongName(void) // removes spaces from right side of song name +{ + for (int16_t i = 20; i >= 0; i--) + { + if (song.name[i] == ' ') + song.name[i] = '\0'; + else + break; + } +} + +void fixSampleName(int16_t nr) // removes spaces from right side of ins/smp names +{ + int16_t i, j; + sampleTyp *s; + + for (i = 21; i >= 0; i--) + { + if (song.instrName[nr][i] == ' ') + song.instrName[nr][i] = '\0'; + else + break; + } + + if (instr[nr] != NULL) + { + for (i = 0; i < MAX_SMP_PER_INST; i++) + { + s = &instr[nr]->samp[i]; + for (j = 21; j >= 0; j--) + { + if (s->name[j] == ' ') + s->name[j] = '\0'; + else + break; + } + s->name[22] = '\0'; // just in case (for tracker, not present in sample header when saving) + } + } +} + +void resetChannels(void) +{ + bool audioWasntLocked; + stmTyp *ch; + + audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + memset(stm, 0, sizeof (stm)); + for (uint8_t i = 0; i < MAX_VOICES; i++) + { + ch = &stm[i]; + + ch->instrSeg = instr[0]; + ch->status = IS_Vol; + ch->oldPan = 128; + ch->outPan = 128; + ch->finalPan = 128; + + ch->stOff = !editor.chnMode[i]; // set channel mute flag from global mute flag + } + + if (audioWasntLocked) + unlockAudio(); +} + +void setSongModifiedFlag(void) +{ + song.isModified = true; + editor.updateWindowTitle = true; +} + +void removeSongModifiedFlag(void) +{ + song.isModified = false; + editor.updateWindowTitle = true; +} + +void tuneSample(sampleTyp *s, int32_t midCFreq) +{ + if (midCFreq <= 0) + { + s->fine = 0; + s->relTon = 0; + return; + } + + double dFreq = log2(midCFreq * (1.0 / 8363.0)) * (12.0 * 128.0); + int32_t linearFreq = (int32_t)(dFreq + 0.5); + s->fine = ((linearFreq + 128) & 255) - 128; + + int32_t relTon = (linearFreq - s->fine) >> 7; + s->relTon = (int8_t)CLAMP(relTon, -48, 71); +} + +void setPatternLen(uint16_t nr, int16_t len) +{ + bool audioWasntLocked; + + assert(nr < MAX_PATTERNS); + + if ((len < 1 || len > MAX_PATT_LEN) || len == pattLens[nr]) + return; + + audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + pattLens[nr] = len; + + if (patt[nr] != NULL) + killPatternIfUnused(nr); + + song.pattLen = pattLens[nr]; + if (song.pattPos >= song.pattLen) + { + song.pattPos = song.pattLen - 1; + editor.pattPos = song.pattPos; + } + + checkMarkLimits(); + + if (audioWasntLocked) + unlockAudio(); + + editor.ui.updatePatternEditor = true; + editor.ui.updatePosSections = true; +} + +int16_t getUsedSamples(int16_t nr) +{ + int16_t i, j; + instrTyp *ins; + + if (instr[nr] == NULL) + return 0; + + ins = instr[nr]; + + i = 16 - 1; + while (i >= 0 && ins->samp[i].pek == NULL && ins->samp[i].name[0] == '\0') + i--; + + /* Yes, 'i' can be -1 here, and will be set to at least 0 + ** because of ins->ta values. Possibly an FT2 bug... + */ + for (j = 0; j < 96; j++) + { + if (ins->ta[j] > i) + i = ins->ta[j]; + } + + return i+1; +} + +int16_t getRealUsedSamples(int16_t nr) +{ + int8_t i; + + if (instr[nr] == NULL) + return 0; + + i = 16 - 1; + while (i >= 0 && instr[nr]->samp[i].pek == NULL) + i--; + + return i+1; +} + +void setFrqTab(bool linear) +{ + linearFrqTab = linear; + + if (linearFrqTab) + { + audio.linearFreqTable = true; + note2Period = linearPeriods; + } + else + { + audio.linearFreqTable = false; + note2Period = amigaPeriods; + } + + // update "frequency table" radiobutton, if it's shown + if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES) + setConfigIORadioButtonStates(); +} + +static void retrigVolume(stmTyp *ch) +{ + ch->realVol = ch->oldVol; + ch->outVol = ch->oldVol; + ch->outPan = ch->oldPan; + ch->status |= (IS_Vol + IS_Pan + IS_QuickVol); +} + +static void retrigEnvelopeVibrato(stmTyp *ch) +{ + instrTyp *ins; + + if (!(ch->waveCtrl & 0x04)) ch->vibPos = 0; + if (!(ch->waveCtrl & 0x40)) ch->tremPos = 0; + + ch->retrigCnt = 0; + ch->tremorPos = 0; + + ch->envSustainActive = true; + + ins = ch->instrSeg; + assert(ins != NULL); + + if (ins->envVTyp & 1) + { + ch->envVCnt = 65535; + ch->envVPos = 0; + } + + if (ins->envPTyp & 1) + { + ch->envPCnt = 65535; + ch->envPPos = 0; + } + + ch->fadeOutSpeed = ins->fadeOut; // FT2 doesn't check if fadeout is more than 4095 + ch->fadeOutAmp = 32768; + + if (ins->vibDepth > 0) + { + ch->eVibPos = 0; + + if (ins->vibSweep > 0) + { + ch->eVibAmp = 0; + ch->eVibSweep = (ins->vibDepth << 8) / ins->vibSweep; + } + else + { + ch->eVibAmp = ins->vibDepth << 8; + ch->eVibSweep = 0; + } + } +} + +void keyOff(stmTyp *ch) +{ + instrTyp *ins; + + ch->envSustainActive = false; + + ins = ch->instrSeg; + assert(ins != NULL); + + if (!(ins->envPTyp & 1)) // yes, FT2 does this (!). Most likely a bug? + { + if (ch->envPCnt >= ins->envPP[ch->envPPos][0]) + ch->envPCnt = ins->envPP[ch->envPPos][0] - 1; + } + + if (ins->envVTyp & 1) + { + if (ch->envVCnt >= ins->envVP[ch->envVPos][0]) + ch->envVCnt = ins->envVP[ch->envVPos][0] - 1; + } + else + { + ch->realVol = 0; + ch->outVol = 0; + ch->status |= (IS_Vol + IS_QuickVol); + } +} + +void calcReplayRate(int32_t rate) // 100% FT2-accurate routine, do not touch! +{ + if (rate == 0) + return; + + // for voice delta calculation + + double dVal, dMul = 1.0 / rate; + + dVal = dMul * (65536.0 * 1712.0 * 8363.0); + frequenceDivFactor = (int32_t)(dVal + 0.5); + + dVal = dMul * (256.0 * 65536.0 * 8363.0); + frequenceMulFactor = (int32_t)(dVal + 0.5); + + audio.dScopeFreqMul = rate * (1.0 / SCOPE_HZ); + + // for volume ramping (FT2 doesn't round here) + audio.quickVolSizeVal = rate / 200; + + // for audio/video sync + audio.dSpeedValMul = (1.0 / rate) * editor.dPerfFreq; +} + +// 100% FT2-accurate routine, do not touch! +uint32_t getFrequenceValue(int32_t period) +{ + uint8_t shift; + int32_t index, indexQuotient, indexRemainder; + uint32_t rate; + + if (period == 0) + return 0; + + if (period == oldPeriod) + return oldRate; // added check: prevent this calculation if it would yield the same + + if (linearFrqTab) + { + index = (12 * 192 * 4) - period; + indexQuotient = index / 768; + indexRemainder = index % 768; + + rate = ((uint64_t)logTab[indexRemainder] * frequenceMulFactor) >> LOG_TABLE_BITS; + + shift = (14 - indexQuotient) & 0x1F; + if (shift != 0) + rate >>= shift; + } + else + { + rate = frequenceDivFactor / period; + } + + oldPeriod = period; + oldRate = rate; + + return rate; +} + +void resetOldRates(void) +{ + oldPeriod = 0; + oldRate = 0; + + resetOldScopeRates(); + resetOldRevFreqs(); +} + +static void startTone(uint8_t ton, uint8_t effTyp, uint8_t eff, stmTyp *ch) +{ + uint8_t smp; + uint16_t tmpTon; + sampleTyp *s; + instrTyp *ins; + + if (ton == 97) + { + keyOff(ch); + return; + } + + // if we came from Rxy (retrig), we didn't check note (Ton) yet + if (ton == 0) + { + ton = ch->tonNr; + if (ton == 0) + return; // if still no note, exit from routine + } + + ch->tonNr = ton; + + assert(ch->instrNr <= 130); + + ins = instr[ch->instrNr]; + if (ins == NULL) + ins = instr[0]; + + ch->instrSeg = ins; + ch->mute = ins->mute; + + if (ton > 96) // non-FT2 security (should never happen because I clamp in the patt. loader now) + ton = 96; + + smp = ins->ta[ton-1] & 0xF; + ch->sampleNr = smp; + + s = &ins->samp[smp]; + ch->smpPtr = s; + ch->relTonNr = s->relTon; + + ton += ch->relTonNr; + if (ton >= 12*10) + return; + + ch->oldVol = s->vol; + ch->oldPan = s->pan; + + if (effTyp == 0x0E && (eff & 0xF0) == 0x50) + ch->fineTune = ((eff & 0x0F) * 16) - 128; // result is now -128 .. 127 + else + ch->fineTune = s->fine; + + if (ton > 0) + { + tmpTon = ((ton - 1) * 16) + (((ch->fineTune >> 3) + 16) & 0xFF); + if (tmpTon < MAX_NOTES) // should always happen, but FT2 does this check + { + assert(note2Period != NULL); + ch->realPeriod = note2Period[tmpTon]; + + ch->outPeriod = ch->realPeriod; + ch->midiCurPeriod = ch->realPeriod; + ch->midiPortaPeriod = ch->realPeriod; + } + } + + ch->status |= (IS_Period + IS_Vol + IS_Pan + IS_NyTon + IS_QuickVol); + + if (effTyp == 9) + { + if (eff) + ch->smpOffset = ch->eff; + + ch->smpStartPos = ch->smpOffset * 256; + } + else + { + ch->smpStartPos = 0; + } +} + +static void multiRetrig(stmTyp *ch) +{ + uint8_t cnt; + int16_t vol; + + cnt = ch->retrigCnt + 1; + if (cnt < ch->retrigSpeed) + { + ch->retrigCnt = cnt; + return; + } + + ch->retrigCnt = 0; + + vol = ch->realVol; + switch (ch->retrigVol) + { + case 0x1: vol -= 1; break; + case 0x2: vol -= 2; break; + case 0x3: vol -= 4; break; + case 0x4: vol -= 8; break; + case 0x5: vol -= 16; break; + case 0x6: vol = (vol >> 1) + (vol >> 3) + (vol >> 4); break; + case 0x7: vol >>= 1; break; + case 0x8: break; // does not change the volume + case 0x9: vol += 1; break; + case 0xA: vol += 2; break; + case 0xB: vol += 4; break; + case 0xC: vol += 8; break; + case 0xD: vol += 16; break; + case 0xE: vol = (vol >> 1) + vol; break; + case 0xF: vol += vol; break; + default: break; + } + vol = CLAMP(vol, 0, 64); + + ch->realVol = (uint8_t)vol; + ch->outVol = ch->realVol; + + if (ch->volKolVol >= 0x10 && ch->volKolVol <= 0x50) + { + ch->outVol = ch->volKolVol - 0x10; + ch->realVol = ch->outVol; + } + else if (ch->volKolVol >= 0xC0 && ch->volKolVol <= 0xCF) + { + ch->outPan = (ch->volKolVol & 0x0F) << 4; + } + + startTone(0, 0, 0, ch); +} + +static void checkMoreEffects(stmTyp *ch) // called even if channel is muted +{ + int8_t envPos; + bool envUpdate; + uint8_t tmpEff; + int16_t newEnvPos; + uint16_t i; + instrTyp *ins; + + ins = ch->instrSeg; + assert(ins != NULL); + + // Bxx - position jump + if (ch->effTyp == 11) + { + if (playMode != PLAYMODE_PATT && playMode != PLAYMODE_RECPATT) + { + if (ch->eff-1 < 0 || ch->eff-1 >= song.len) + bxxOverflow = true; // non-FT2 security fix... + else + song.songPos = ch->eff - 1; + } + + song.pBreakPos = 0; + song.posJumpFlag = true; + } + + // Dxx - pattern break + else if (ch->effTyp == 13) + { + song.posJumpFlag = true; + + tmpEff = ((ch->eff >> 4) * 10) + (ch->eff & 0x0F); + if (tmpEff <= 63) + song.pBreakPos = tmpEff; + else + song.pBreakPos = 0; + } + + // Exx - E effects + else if (ch->effTyp == 14) + { + if (ch->stOff) // channel is muted + { + // E6x - pattern loop + if ((ch->eff & 0xF0) == 0x60) + { + if (ch->eff == 0x60) // E60, empty param + { + ch->pattPos = song.pattPos & 0x00FF; + } + else + { + if (ch->loopCnt == 0) + { + ch->loopCnt = ch->eff & 0x0F; + + song.pBreakPos = ch->pattPos; + song.pBreakFlag = true; + } + else + { + if (--ch->loopCnt > 0) + { + song.pBreakPos = ch->pattPos; + song.pBreakFlag = true; + } + } + } + } + + // EEx - pattern delay + else if ((ch->eff & 0xF0) == 0xE0) + { + if (song.pattDelTime2 == 0) + song.pattDelTime = (ch->eff & 0x0F) + 1; + } + + return; + } + + // E1x - fine period slide up + if ((ch->eff & 0xF0) == 0x10) + { + tmpEff = ch->eff & 0x0F; + if (tmpEff == 0) + tmpEff = ch->fPortaUpSpeed; + + ch->fPortaUpSpeed = tmpEff; + + ch->realPeriod -= (tmpEff * 4); + if (ch->realPeriod < 1) + ch->realPeriod = 1; + + ch->outPeriod = ch->realPeriod; + ch->status |= IS_Period; + } + + // E2x - fine period slide down + else if ((ch->eff & 0xF0) == 0x20) + { + tmpEff = ch->eff & 0x0F; + if (tmpEff == 0) + tmpEff = ch->fPortaDownSpeed; + + ch->fPortaDownSpeed = tmpEff; + + ch->realPeriod += (tmpEff * 4); + if (ch->realPeriod > (32000 - 1)) + ch->realPeriod = 32000 - 1; + + ch->outPeriod = ch->realPeriod; + ch->status |= IS_Period; + } + + // E3x - set glissando type + else if ((ch->eff & 0xF0) == 0x30) ch->glissFunk = ch->eff & 0x0F; + + // E4x - set vibrato waveform + else if ((ch->eff & 0xF0) == 0x40) ch->waveCtrl = (ch->waveCtrl & 0xF0) | (ch->eff & 0x0F); + + // E5x (set finetune) is handled in startTone() + + // E6x - pattern loop + else if ((ch->eff & 0xF0) == 0x60) + { + if (ch->eff == 0x60) // E60, empty param + { + ch->pattPos = song.pattPos & 0xFF; + } + else + { + if (ch->loopCnt == 0) + { + ch->loopCnt = ch->eff & 0x0F; + + song.pBreakPos = ch->pattPos; + song.pBreakFlag = true; + } + else + { + if (--ch->loopCnt > 0) + { + song.pBreakPos = ch->pattPos; + song.pBreakFlag = true; + } + } + } + } + + // E7x - set tremolo waveform + else if ((ch->eff & 0xF0) == 0x70) ch->waveCtrl = ((ch->eff & 0x0F) << 4) | (ch->waveCtrl & 0x0F); + + // EAx - fine volume slide up + else if ((ch->eff & 0xF0) == 0xA0) + { + tmpEff = ch->eff & 0x0F; + if (tmpEff == 0) + tmpEff = ch->fVolSlideUpSpeed; + + ch->fVolSlideUpSpeed = tmpEff; + + // unsigned clamp + if (ch->realVol <= (64 - tmpEff)) + ch->realVol += tmpEff; + else + ch->realVol = 64; + + ch->outVol = ch->realVol; + ch->status |= IS_Vol; + } + + // EBx - fine volume slide down + else if ((ch->eff & 0xF0) == 0xB0) + { + tmpEff = ch->eff & 0x0F; + if (tmpEff == 0) + tmpEff = ch->fVolSlideDownSpeed; + + ch->fVolSlideDownSpeed = tmpEff; + + // unsigned clamp + if (ch->realVol >= tmpEff) + ch->realVol -= tmpEff; + else + ch->realVol = 0; + + ch->outVol = ch->realVol; + ch->status |= IS_Vol; + } + + // ECx - note cut + else if ((ch->eff & 0xF0) == 0xC0) + { + if (ch->eff == 0xC0) // empty param + { + ch->realVol = 0; + ch->outVol = 0; + ch->status |= (IS_Vol + IS_QuickVol); + } + } + + // EEx - pattern delay + else if ((ch->eff & 0xF0) == 0xE0) + { + if (song.pattDelTime2 == 0) + song.pattDelTime = (ch->eff & 0x0F) + 1; + } + } + + // Fxx - set speed/tempo + else if (ch->effTyp == 15) + { + if (ch->eff >= 32) + { + song.speed = ch->eff; + setSpeed(song.speed); + } + else + { + song.tempo = ch->eff; + song.timer = ch->eff; + } + } + + // Gxx - set global volume + else if (ch->effTyp == 16) + { + song.globVol = ch->eff; + if (song.globVol > 64) + song.globVol = 64; + + for (i = 0; i < song.antChn; i++) // update all voice volumes + stm[i].status |= IS_Vol; + } + + // Lxx - set vol and pan envelope position + else if (ch->effTyp == 21) + { + // *** VOLUME ENVELOPE *** + if (ins->envVTyp & 1) + { + ch->envVCnt = ch->eff - 1; + + envPos = 0; + envUpdate = true; + newEnvPos = ch->eff; + + if (ins->envVPAnt > 1) + { + envPos++; + for (i = 0; i < ins->envVPAnt-1; i++) + { + if (newEnvPos < ins->envVP[envPos][0]) + { + envPos--; + + newEnvPos -= ins->envVP[envPos][0]; + if (newEnvPos == 0) + { + envUpdate = false; + break; + } + + if (ins->envVP[envPos+1][0] <= ins->envVP[envPos][0]) + { + envUpdate = true; + break; + } + + ch->envVIPValue = ((ins->envVP[envPos+1][1] - ins->envVP[envPos][1]) & 0xFF) << 8; + ch->envVIPValue /= (ins->envVP[envPos+1][0] - ins->envVP[envPos][0]); + + ch->envVAmp = (ch->envVIPValue * (newEnvPos - 1)) + ((ins->envVP[envPos][1] & 0xFF) << 8); + + envPos++; + + envUpdate = false; + break; + } + + envPos++; + } + + if (envUpdate) + envPos--; + } + + if (envUpdate) + { + ch->envVIPValue = 0; + ch->envVAmp = (ins->envVP[envPos][1] & 0xFF) << 8; + } + + if (envPos >= ins->envVPAnt) + { + envPos = ins->envVPAnt - 1; + if (envPos < 0) + envPos = 0; + } + + ch->envVPos = envPos; + } + + // *** PANNING ENVELOPE *** + if (ins->envVTyp & 2) // probably an FT2 bug + { + ch->envPCnt = ch->eff - 1; + + envPos = 0; + envUpdate = true; + newEnvPos = ch->eff; + + if (ins->envPPAnt > 1) + { + envPos++; + for (i = 0; i < ins->envPPAnt-1; i++) + { + if (newEnvPos < ins->envPP[envPos][0]) + { + envPos--; + + newEnvPos -= ins->envPP[envPos][0]; + if (newEnvPos == 0) + { + envUpdate = false; + break; + } + + if (ins->envPP[envPos + 1][0] <= ins->envPP[envPos][0]) + { + envUpdate = true; + break; + } + + ch->envPIPValue = ((ins->envPP[envPos+1][1] - ins->envPP[envPos][1]) & 0xFF) << 8; + ch->envPIPValue /= (ins->envPP[envPos+1][0] - ins->envPP[envPos][0]); + + ch->envPAmp = (ch->envPIPValue * (newEnvPos - 1)) + ((ins->envPP[envPos][1] & 0xFF) << 8); + + envPos++; + + envUpdate = false; + break; + } + + envPos++; + } + + if (envUpdate) + envPos--; + } + + if (envUpdate) + { + ch->envPIPValue = 0; + ch->envPAmp = (ins->envPP[envPos][1] & 0xFF) << 8; + } + + if (envPos >= ins->envPPAnt) + { + envPos = ins->envPPAnt - 1; + if (envPos < 0) + envPos = 0; + } + + ch->envPPos = envPos; + } + } +} + +static void checkEffects(stmTyp *ch) +{ + uint8_t tmpEff, tmpEffHi, volKol; + + // this one is manipulated by vol column effects, then used for multiretrig (FT2 quirk) + volKol = ch->volKolVol; + + // *** VOLUME COLUMN EFFECTS (TICK 0) *** + + // set volume + if (ch->volKolVol >= 0x10 && ch->volKolVol <= 0x50) + { + volKol -= 16; + + ch->outVol = volKol; + ch->realVol = volKol; + + ch->status |= (IS_Vol + IS_QuickVol); + } + + // fine volume slide down + else if ((ch->volKolVol & 0xF0) == 0x80) + { + volKol = ch->volKolVol & 0x0F; + + // unsigned clamp + if (ch->realVol >= volKol) + ch->realVol -= volKol; + else + ch->realVol = 0; + + ch->outVol = ch->realVol; + ch->status |= IS_Vol; + } + + // fine volume slide up + else if ((ch->volKolVol & 0xF0) == 0x90) + { + volKol = ch->volKolVol & 0x0F; + + // unsigned clamp + if (ch->realVol <= 64-volKol) + ch->realVol += volKol; + else + ch->realVol = 64; + + ch->outVol = ch->realVol; + ch->status |= IS_Vol; + } + + // set vibrato speed + else if ((ch->volKolVol & 0xF0) == 0xA0) + { + volKol = (ch->volKolVol & 0x0F) << 2; + ch->vibSpeed = volKol; + } + + // set panning + else if ((ch->volKolVol & 0xF0) == 0xC0) + { + volKol <<= 4; + + ch->outPan = volKol; + ch->status |= IS_Pan; + } + + // *** MAIN EFFECTS (TICK 0) *** + + if (ch->effTyp == 0 && ch->eff == 0) return; // no effect + + // Cxx - set volume + if (ch->effTyp == 12) + { + ch->realVol = ch->eff; + if (ch->realVol > 64) + ch->realVol = 64; + + ch->outVol = ch->realVol; + ch->status |= (IS_Vol + IS_QuickVol); + + return; + } + + // 8xx - set panning + else if (ch->effTyp == 8) + { + ch->outPan = ch->eff; + ch->status |= IS_Pan; + + return; + } + + // Rxy - note multi retrigger + else if (ch->effTyp == 27) + { + tmpEff = ch->eff & 0x0F; + if (tmpEff == 0) + tmpEff = ch->retrigSpeed; + + ch->retrigSpeed = tmpEff; + + tmpEffHi = ch->eff >> 4; + if (tmpEffHi == 0) + tmpEffHi = ch->retrigVol; + + ch->retrigVol = tmpEffHi; + + if (volKol == 0) + multiRetrig(ch); + + return; + } + + // X1x - extra fine period slide up + else if (ch->effTyp == 33 && (ch->eff & 0xF0) == 0x10) + { + tmpEff = ch->eff & 0x0F; + if (tmpEff == 0) + tmpEff = ch->ePortaUpSpeed; + + ch->ePortaUpSpeed = tmpEff; + + ch->realPeriod -= tmpEff; + if (ch->realPeriod < 1) + ch->realPeriod = 1; + + ch->outPeriod = ch->realPeriod; + ch->status |= IS_Period; + + return; + } + + // X2x - extra fine period slide down + else if (ch->effTyp == 33 && (ch->eff & 0xF0) == 0x20) + { + tmpEff = ch->eff & 0x0F; + if (tmpEff == 0) + tmpEff = ch->ePortaDownSpeed; + + ch->ePortaDownSpeed = tmpEff; + + ch->realPeriod += tmpEff; + if (ch->realPeriod > 32000-1) + ch->realPeriod = 32000-1; + + ch->outPeriod = ch->realPeriod; + ch->status |= IS_Period; + + return; + } + + checkMoreEffects(ch); +} + +static void fixTonePorta(stmTyp *ch, tonTyp *p, uint8_t inst) +{ + uint16_t portaTmp; + + if (p->ton > 0) + { + if (p->ton == 97) + { + keyOff(ch); + } + else + { + portaTmp = ((((p->ton - 1) + ch->relTonNr) & 0xFF) * 16) + (((ch->fineTune >> 3) + 16) & 0xFF); + if (portaTmp < MAX_NOTES) + { + assert(note2Period != NULL); + ch->wantPeriod = note2Period[portaTmp]; + + if (ch->wantPeriod == ch->realPeriod) ch->portaDir = 0; + else if (ch->wantPeriod > ch->realPeriod) ch->portaDir = 1; + else ch->portaDir = 2; + } + } + } + + if (inst > 0) + { + retrigVolume(ch); + if (p->ton != 97) + retrigEnvelopeVibrato(ch); + } +} + +static void getNewNote(stmTyp *ch, tonTyp *p) +{ + uint8_t inst; + bool checkEfx; + + ch->volKolVol = p->vol; + + if (ch->effTyp == 0) + { + if (ch->eff > 0) + { + // we have an arpeggio running, set period back + ch->outPeriod = ch->realPeriod; + ch->status |= IS_Period; + } + } + else + { + if (ch->effTyp == 4 || ch->effTyp == 6) + { + // we have a vibrato running + if (p->effTyp != 4 && p->effTyp != 6) + { + // but it's ending at the next (this) row, so set period back + ch->outPeriod = ch->realPeriod; + ch->status |= IS_Period; + } + } + } + + ch->effTyp = p->effTyp; + ch->eff = p->eff; + ch->tonTyp = (p->instr << 8) | p->ton; + + if (ch->stOff) + { + checkMoreEffects(ch); + return; + } + + // 'inst' var is used for later if checks... + inst = p->instr; + if (inst > 0) + { + if (inst <= MAX_INST) + ch->instrNr = inst; + else + inst = 0; + } + + checkEfx = true; + if (p->effTyp == 0x0E) + { + if (p->eff >= 0xD1 && p->eff <= 0xDF) + return; // we have a note delay (ED1..EDF) + else if (p->eff == 0x90) + checkEfx = false; + } + + if (checkEfx) + { + if ((ch->volKolVol & 0xF0) == 0xF0) // gxx + { + if ((ch->volKolVol & 0x0F) > 0) + ch->portaSpeed = (ch->volKolVol & 0x0F) << 6; + + fixTonePorta(ch, p, inst); + checkEffects(ch); + + return; + } + + if (p->effTyp == 3 || p->effTyp == 5) // 3xx or 5xx + { + if (p->effTyp != 5 && p->eff != 0) + ch->portaSpeed = p->eff << 2; + + fixTonePorta(ch, p, inst); + checkEffects(ch); + + return; + } + + if (p->effTyp == 0x14 && p->eff == 0) // K00 (KeyOff - only handle tick 0 here) + { + keyOff(ch); + + if (inst) + retrigVolume(ch); + + checkEffects(ch); + return; + } + + if (p->ton == 0) + { + if (inst > 0) + { + retrigVolume(ch); + retrigEnvelopeVibrato(ch); + } + + checkEffects(ch); + return; + } + } + + if (p->ton == 97) + keyOff(ch); + else + startTone(p->ton, p->effTyp, p->eff, ch); + + if (inst > 0) + { + retrigVolume(ch); + if (p->ton != 97) + retrigEnvelopeVibrato(ch); + } + + checkEffects(ch); +} + +static void fixaEnvelopeVibrato(stmTyp *ch) +{ + bool envInterpolateFlag, envDidInterpolate; + uint8_t envPos; + int16_t autoVibVal, panTmp; + uint16_t autoVibAmp, tmpPeriod, envVal; + int32_t tmp32; + uint32_t vol; + instrTyp *ins; + + ins = ch->instrSeg; + + assert(ins != NULL); + + // *** FADEOUT *** + if (!ch->envSustainActive) + { + ch->status |= IS_Vol; + + // unsigned clamp + reset + if (ch->fadeOutAmp >= ch->fadeOutSpeed) + { + ch->fadeOutAmp -= ch->fadeOutSpeed; + } + else + { + ch->fadeOutAmp = 0; + ch->fadeOutSpeed = 0; + } + } + + if (!ch->mute) + { + // *** VOLUME ENVELOPE *** + envVal = 0; + if (ins->envVTyp & 1) + { + envDidInterpolate = false; + envPos = ch->envVPos; + + if (++ch->envVCnt == ins->envVP[envPos][0]) + { + ch->envVAmp = ins->envVP[envPos][1] << 8; + + envPos++; + if (ins->envVTyp & 4) + { + envPos--; + + if (envPos == ins->envVRepE) + { + if (!(ins->envVTyp & 2) || envPos != ins->envVSust || ch->envSustainActive) + { + envPos = ins->envVRepS; + ch->envVCnt = ins->envVP[envPos][0]; + ch->envVAmp = ins->envVP[envPos][1] << 8; + } + } + + envPos++; + } + + if (envPos < ins->envVPAnt) + { + envInterpolateFlag = true; + if ((ins->envVTyp & 2) && ch->envSustainActive) + { + if (envPos-1 == ins->envVSust) + { + envPos--; + ch->envVIPValue = 0; + envInterpolateFlag = false; + } + } + + if (envInterpolateFlag) + { + ch->envVPos = envPos; + + ch->envVIPValue = 0; + if (ins->envVP[envPos][0] > ins->envVP[envPos-1][0]) + { + ch->envVIPValue = (ins->envVP[envPos][1] - ins->envVP[envPos-1][1]) << 8; + ch->envVIPValue /= (ins->envVP[envPos][0] - ins->envVP[envPos-1][0]); + + envVal = ch->envVAmp; + envDidInterpolate = true; + } + } + } + else + { + ch->envVIPValue = 0; + } + } + + if (!envDidInterpolate) + { + ch->envVAmp += ch->envVIPValue; + + envVal = ch->envVAmp; + if (envVal > 64*256) + { + if (envVal > 128*256) + envVal = 64*256; + else + envVal = 0; + + ch->envVIPValue = 0; + } + } + + /* calculate with 256 times more precision (vol = 0..65535) + ** Also, vol envelope range is now 0..16384 instead of being shifted to 0..64 + */ + + uint32_t vol1 = song.globVol * ch->outVol * ch->fadeOutAmp; // 0..64 * 0..64 * 0..32768 = 0..134217728 + uint32_t vol2 = envVal << 7; // 0..16384 * 2^7 = 0..2097152 + + vol = ((uint64_t)vol1 * vol2) >> 32; // 0..65536 + + ch->status |= IS_Vol; + } + else + { + // calculate with four times more precision (finalVol = 0..65535) + vol = (song.globVol * ch->outVol * ch->fadeOutAmp) >> 11; // 0..64 * 0..64 * 0..32768 = 0..65536 + } + + if (vol > 65535) + vol = 65535; // range is now 0..65535 to prevent MUL overflow when voice volume is calculated + + ch->finalVol = (uint16_t)vol; + } + else + { + ch->finalVol = 0; + } + + // *** PANNING ENVELOPE *** + + envVal = 0; + if (ins->envPTyp & 1) + { + envDidInterpolate = false; + envPos = ch->envPPos; + + if (++ch->envPCnt == ins->envPP[envPos][0]) + { + ch->envPAmp = ins->envPP[envPos][1] << 8; + + envPos++; + if (ins->envPTyp & 4) + { + envPos--; + + if (envPos == ins->envPRepE) + { + if (!(ins->envPTyp & 2) || envPos != ins->envPSust || ch->envSustainActive) + { + envPos = ins->envPRepS; + + ch->envPCnt = ins->envPP[envPos][0]; + ch->envPAmp = ins->envPP[envPos][1] << 8; + } + } + + envPos++; + } + + if (envPos < ins->envPPAnt) + { + envInterpolateFlag = true; + if ((ins->envPTyp & 2) && ch->envSustainActive) + { + if (envPos-1 == ins->envPSust) + { + envPos--; + ch->envPIPValue = 0; + envInterpolateFlag = false; + } + } + + if (envInterpolateFlag) + { + ch->envPPos = envPos; + + ch->envPIPValue = 0; + if (ins->envPP[envPos][0] > ins->envPP[envPos-1][0]) + { + ch->envPIPValue = (ins->envPP[envPos][1] - ins->envPP[envPos-1][1]) << 8; + ch->envPIPValue /= (ins->envPP[envPos][0] - ins->envPP[envPos-1][0]); + + envVal = ch->envPAmp; + envDidInterpolate = true; + } + } + } + else + { + ch->envPIPValue = 0; + } + } + + if (!envDidInterpolate) + { + ch->envPAmp += ch->envPIPValue; + + envVal = ch->envPAmp; + if (envVal > 64*256) + { + if (envVal > 128*256) + envVal = 64*256; + else + envVal = 0; + + ch->envPIPValue = 0; + } + } + + panTmp = ch->outPan - 128; + if (panTmp > 0) + panTmp = 0 - panTmp; + panTmp += 128; + + envVal -= 32*256; + + ch->finalPan = ch->outPan + (uint8_t)(((int16_t)envVal * panTmp) >> 13); + ch->status |= IS_Pan; + } + else + { + ch->finalPan = ch->outPan; + } + + // *** AUTO VIBRATO *** +#ifdef HAS_MIDI + if (ch->midiVibDepth > 0 || ins->vibDepth > 0) +#else + if (ins->vibDepth > 0) +#endif + { + if (ch->eVibSweep > 0) + { + autoVibAmp = ch->eVibSweep; + if (ch->envSustainActive) + { + autoVibAmp += ch->eVibAmp; + if ((autoVibAmp >> 8) > ins->vibDepth) + { + autoVibAmp = ins->vibDepth << 8; + ch->eVibSweep = 0; + } + + ch->eVibAmp = autoVibAmp; + } + } + else + { + autoVibAmp = ch->eVibAmp; + } + +#ifdef HAS_MIDI + // non-FT2 hack to make modulation wheel work when auto vibrato rate is zero + if (ch->midiVibDepth > 0 && ins->vibRate == 0) + ins->vibRate = 0x20; + + autoVibAmp += ch->midiVibDepth; +#endif + ch->eVibPos += ins->vibRate; + + if (ins->vibTyp == 1) autoVibVal = (ch->eVibPos > 127) ? 64 : -64; // square + else if (ins->vibTyp == 2) autoVibVal = (((ch->eVibPos >> 1) + 64) & 127) - 64; // ramp up + else if (ins->vibTyp == 3) autoVibVal = (((0 - (ch->eVibPos >> 1)) + 64) & 127) - 64; // ramp down + else autoVibVal = vibSineTab[ch->eVibPos]; // sine + + autoVibVal <<= 2; + + tmp32 = ((autoVibVal * (int16_t)autoVibAmp) >> 16) & 0x8000FFFF; + tmpPeriod = ch->outPeriod + (int16_t)tmp32; + if (tmpPeriod > 32000-1) + tmpPeriod = 0; + + ch->finalPeriod = tmpPeriod - ch->midiPitch; + ch->status |= IS_Period; + } + else + { + ch->finalPeriod = ch->outPeriod; + +#ifdef HAS_MIDI + if (midi.enable) + { + ch->finalPeriod -= ch->midiPitch; + ch->status |= IS_Period; + } +#endif + } +} + +int16_t relocateTon(int16_t period, int8_t relativeNote, stmTyp *ch) +{ + int8_t fineTune; + int32_t loPeriod, hiPeriod, tmpPeriod, tableIndex; + + fineTune = (ch->fineTune >> 3) + 16; + hiPeriod = 8 * 12 * 16; + loPeriod = 0; + + for (int8_t i = 0; i < 8; i++) + { + tmpPeriod = (((loPeriod + hiPeriod) >> 1) & 0xFFFFFFF0) + fineTune; + + tableIndex = tmpPeriod - 8; + if (tableIndex < 0) // added security check + tableIndex = 0; + + if (period >= note2Period[tableIndex]) + hiPeriod = tmpPeriod - fineTune; + else + loPeriod = tmpPeriod - fineTune; + } + + tmpPeriod = loPeriod + fineTune + (relativeNote << 4); + if (tmpPeriod < 0) // added security check + tmpPeriod = 0; + + if (tmpPeriod >= ((8*12*16)+15)-1) // FT2 bug: off-by-one edge case + tmpPeriod = (8*12*16)+15; + + return note2Period[tmpPeriod]; +} + +static void tonePorta(stmTyp *ch) +{ + if (ch->portaDir == 0) + return; + + if (ch->portaDir > 1) + { + ch->realPeriod -= ch->portaSpeed; + if (ch->realPeriod <= ch->wantPeriod) + { + ch->portaDir = 1; + ch->realPeriod = ch->wantPeriod; + } + } + else + { + ch->realPeriod += ch->portaSpeed; + if (ch->realPeriod >= ch->wantPeriod) + { + ch->portaDir = 1; + ch->realPeriod = ch->wantPeriod; + } + } + + if (ch->glissFunk) // semi-tone slide flag + ch->outPeriod = relocateTon(ch->realPeriod, 0, ch); + else + ch->outPeriod = ch->realPeriod; + + ch->status |= IS_Period; +} + +static void volume(stmTyp *ch) // actually volume slide +{ + uint8_t tmpEff = ch->eff; + if (tmpEff == 0) + tmpEff = ch->volSlideSpeed; + + ch->volSlideSpeed = tmpEff; + + if ((tmpEff & 0xF0) == 0) + { + // unsigned clamp + if (ch->realVol >= tmpEff) + ch->realVol -= tmpEff; + else + ch->realVol = 0; + } + else + { + // unsigned clamp + if (ch->realVol <= 64-(tmpEff>>4)) + ch->realVol += tmpEff>>4; + else + ch->realVol = 64; + } + + ch->outVol = ch->realVol; + ch->status |= IS_Vol; +} + +static void vibrato2(stmTyp *ch) +{ + uint8_t tmpVib = (ch->vibPos / 4) & 0x1F; + + switch (ch->waveCtrl & 3) + { + // 0: sine + case 0: tmpVib = vibTab[tmpVib]; break; + + // 1: ramp + case 1: + { + tmpVib *= 8; + if (ch->vibPos >= 128) + tmpVib ^= 0xFF; + } + break; + + // 2/3: square + default: tmpVib = 255; break; + } + + tmpVib = (tmpVib * ch->vibDepth) / 32; + + if (ch->vibPos >= 128) + ch->outPeriod = ch->realPeriod - tmpVib; + else + ch->outPeriod = ch->realPeriod + tmpVib; + + ch->status |= IS_Period; + ch->vibPos += ch->vibSpeed; +} + +static void vibrato(stmTyp *ch) +{ + if (ch->eff > 0) + { + if ((ch->eff & 0x0F) > 0) ch->vibDepth = ch->eff & 0x0F; + if ((ch->eff & 0xF0) > 0) ch->vibSpeed = (ch->eff >> 4) * 4; + } + + vibrato2(ch); +} + +static void doEffects(stmTyp *ch) +{ + int8_t note; + uint8_t tmpEff, tremorData, tremorSign, tmpTrem; + int16_t tremVol; + uint16_t i, tick; + + if (ch->stOff) + return; + + // *** VOLUME COLUMN EFFECTS (TICKS >0) *** + + // volume slide down + if ((ch->volKolVol & 0xF0) == 0x60) + { + // unsigned clamp + if (ch->realVol >= (ch->volKolVol & 0x0F)) + ch->realVol -= ch->volKolVol & 0x0F; + else + ch->realVol = 0; + + ch->outVol = ch->realVol; + ch->status |= IS_Vol; + } + + // volume slide up + else if ((ch->volKolVol & 0xF0) == 0x70) + { + // unsigned clamp + if (ch->realVol <= 64-(ch->volKolVol & 0x0F)) + ch->realVol += ch->volKolVol & 0x0F; + else + ch->realVol = 64; + + ch->outVol = ch->realVol; + ch->status |= IS_Vol; + } + + // vibrato (+ set vibrato depth) + else if ((ch->volKolVol & 0xF0) == 0xB0) + { + if (ch->volKolVol != 0xB0) + ch->vibDepth = ch->volKolVol & 0x0F; + + vibrato2(ch); + } + + // pan slide left + else if ((ch->volKolVol & 0xF0) == 0xD0) + { + // unsigned clamp + a bug when the parameter is 0 + if ((ch->volKolVol & 0x0F) == 0 || ch->outPan < (ch->volKolVol & 0x0F)) + ch->outPan = 0; + else + ch->outPan -= ch->volKolVol & 0x0F; + + ch->status |= IS_Pan; + } + + // pan slide right + else if ((ch->volKolVol & 0xF0) == 0xE0) + { + // unsigned clamp + if (ch->outPan <= 255-(ch->volKolVol & 0x0F)) + ch->outPan += ch->volKolVol & 0x0F; + else + ch->outPan = 255; + + ch->status |= IS_Pan; + } + + // tone portamento + else if ((ch->volKolVol & 0xF0) == 0xF0) tonePorta(ch); + + // *** MAIN EFFECTS (TICKS >0) *** + + if ((ch->eff == 0 && ch->effTyp == 0) || ch->effTyp >= 36) return; // no effect + + // 0xy - Arpeggio + if (ch->effTyp == 0) + { + tick = song.timer; + + // FT2 'out of boundary LUT read' arp simulation + if (tick < 16) tick %= 3; + else if (tick == 16) tick = 0; + else tick = 2; + + if (tick == 0) + { + ch->outPeriod = ch->realPeriod; + } + else + { + if (tick == 1) + note = ch->eff >> 4; + else + note = ch->eff & 0xF; // tick 2 + + ch->outPeriod = relocateTon(ch->realPeriod, note, ch); + } + + ch->status |= IS_Period; + } + + // 1xx - period slide up + else if (ch->effTyp == 1) + { + tmpEff = ch->eff; + if (tmpEff == 0) + tmpEff = ch->portaUpSpeed; + + ch->portaUpSpeed = tmpEff; + + ch->realPeriod -= tmpEff * 4; + if (ch->realPeriod < 1) + ch->realPeriod = 1; + + ch->outPeriod = ch->realPeriod; + ch->status |= IS_Period; + } + + // 2xx - period slide down + else if (ch->effTyp == 2) + { + tmpEff = ch->eff; + if (tmpEff == 0) + tmpEff = ch->portaDownSpeed; + + ch->portaDownSpeed = tmpEff; + + ch->realPeriod += tmpEff * 4; + if (ch->realPeriod > 32000-1) + ch->realPeriod = 32000-1; + + ch->outPeriod = ch->realPeriod; + ch->status |= IS_Period; + } + + // 3xx - tone portamento + else if (ch->effTyp == 3) tonePorta(ch); + + // 4xy - vibrato + else if (ch->effTyp == 4) vibrato(ch); + + // 5xy - tone portamento + volume slide + else if (ch->effTyp == 5) + { + tonePorta(ch); + volume(ch); + } + + // 6xy - vibrato + volume slide + else if (ch->effTyp == 6) + { + vibrato2(ch); + volume(ch); + } + + // 7xy - tremolo + else if (ch->effTyp == 7) + { + tmpEff = ch->eff; + if (tmpEff > 0) + { + if ((tmpEff & 0x0F) > 0) ch->tremDepth = tmpEff & 0x0F; + if ((tmpEff & 0xF0) > 0) ch->tremSpeed = (tmpEff >> 4) * 4; + } + + tmpTrem = (ch->tremPos / 4) & 0x1F; + switch ((ch->waveCtrl >> 4) & 3) + { + // 0: sine + case 0: tmpTrem = vibTab[tmpTrem]; break; + + // 1: ramp + case 1: + { + tmpTrem *= 8; + if (ch->vibPos >= 128) tmpTrem ^= 0xFF; // FT2 bug, should've been TremPos + } + break; + + // 2/3: square + default: tmpTrem = 255; break; + } + tmpTrem = (tmpTrem * ch->tremDepth) / 64; + + if (ch->tremPos >= 128) + { + tremVol = ch->realVol - tmpTrem; + if (tremVol < 0) + tremVol = 0; + } + else + { + tremVol = ch->realVol + tmpTrem; + if (tremVol > 64) + tremVol = 64; + } + + ch->outVol = tremVol & 0xFF; + ch->tremPos += ch->tremSpeed; + ch->status |= IS_Vol; + } + + // Axy - volume slide + else if (ch->effTyp == 10) volume(ch); // actually volume slide + + // Exy - E effects + else if (ch->effTyp == 14) + { + // E9x - note retrigger + if ((ch->eff & 0xF0) == 0x90) + { + if (ch->eff != 0x90) // E90 is handled in getNewNote() + { + if ((song.tempo-song.timer) % (ch->eff & 0x0F) == 0) + { + startTone(0, 0, 0, ch); + retrigEnvelopeVibrato(ch); + } + } + } + + // ECx - note cut + else if ((ch->eff & 0xF0) == 0xC0) + { + if (((song.tempo-song.timer) & 0xFF) == (ch->eff & 0x0F)) + { + ch->outVol = 0; + ch->realVol = 0; + ch->status |= (IS_Vol + IS_QuickVol); + } + } + + // EDx - note delay + else if ((ch->eff & 0xF0) == 0xD0) + { + if (((song.tempo-song.timer) & 0xFF) == (ch->eff & 0x0F)) + { + startTone(ch->tonTyp & 0xFF, 0, 0, ch); + + if ((ch->tonTyp & 0xFF00) > 0) + retrigVolume(ch); + + retrigEnvelopeVibrato(ch); + + if (ch->volKolVol >= 0x10 && ch->volKolVol <= 0x50) + { + ch->outVol = ch->volKolVol - 16; + ch->realVol = ch->outVol; + } + else if (ch->volKolVol >= 0xC0 && ch->volKolVol <= 0xCF) + { + ch->outPan = (ch->volKolVol & 0x0F) << 4; + } + } + } + } + + // Hxy - global volume slide + else if (ch->effTyp == 17) + { + tmpEff = ch->eff; + if (tmpEff == 0) + tmpEff = ch->globVolSlideSpeed; + + ch->globVolSlideSpeed = tmpEff; + + if ((tmpEff & 0xF0) == 0) + { + // unsigned clamp + if (song.globVol >= tmpEff) + song.globVol -= tmpEff; + else + song.globVol = 0; + } + else + { + // unsigned clamp + if (song.globVol <= 64-(tmpEff >> 4)) + song.globVol += tmpEff >> 4; + else + song.globVol = 64; + } + + for (i = 0; i < song.antChn; i++) // update all voice volumes + stm[i].status |= IS_Vol; + } + + // Kxx - key off + else if (ch->effTyp == 20) + { + if (((song.tempo-song.timer) & 31) == (ch->eff & 0x0F)) + keyOff(ch); + } + + // Pxy - panning slide + else if (ch->effTyp == 25) + { + tmpEff = ch->eff; + if (tmpEff == 0) + tmpEff = ch->panningSlideSpeed; + + ch->panningSlideSpeed = tmpEff; + + if ((tmpEff & 0xF0) == 0) + { + // unsigned clamp + if (ch->outPan >= tmpEff) + ch->outPan -= tmpEff; + else + ch->outPan = 0; + } + else + { + tmpEff >>= 4; + + // unsigned clamp + if (ch->outPan <= 255-tmpEff) + ch->outPan += tmpEff; + else + ch->outPan = 255; + } + + ch->status |= IS_Pan; + } + + // Rxy - multi note retrig + else if (ch->effTyp == 27) multiRetrig(ch); + + // Txy - tremor + else if (ch->effTyp == 29) + { + tmpEff = ch->eff; + if (tmpEff == 0) + tmpEff = ch->tremorSave; + + ch->tremorSave = tmpEff; + + tremorSign = ch->tremorPos & 0x80; + tremorData = ch->tremorPos & 0x7F; + + tremorData--; + if ((tremorData & 0x80) > 0) + { + if (tremorSign == 0x80) + { + tremorSign = 0x00; + tremorData = tmpEff & 0x0F; + } + else + { + tremorSign = 0x80; + tremorData = tmpEff >> 4; + } + } + + ch->tremorPos = tremorData | tremorSign; + + ch->outVol = tremorSign ? ch->realVol : 0; + ch->status |= (IS_Vol + IS_QuickVol); + } +} + +static void getNextPos(void) +{ + if (song.timer != 1) + return; + + song.pattPos++; + + if (song.pattDelTime > 0) + { + song.pattDelTime2 = song.pattDelTime; + song.pattDelTime = 0; + } + + if (song.pattDelTime2 > 0) + { + if (--song.pattDelTime2 > 0) + song.pattPos--; + } + + if (song.pBreakFlag) + { + song.pBreakFlag = false; + song.pattPos = song.pBreakPos; + } + + if (song.pattPos >= song.pattLen || song.posJumpFlag) + { + song.pattPos = song.pBreakPos; + song.pBreakPos = 0; + song.posJumpFlag = false; + + if (playMode != PLAYMODE_PATT && playMode != PLAYMODE_RECPATT) + { + if (bxxOverflow) + { + song.songPos = 0; + bxxOverflow = false; + } + else + { + if (++song.songPos >= song.len) + { + editor.wavReachedEndFlag = true; + song.songPos = song.repS; + } + } + + assert(song.songPos <= 255); + + song.pattNr = song.songTab[song.songPos & 0xFF]; + song.pattLen = pattLens[song.pattNr & 0xFF]; + } + } +} + +void pauseMusic(void) // stops reading pattern data +{ + musicPaused = true; + while (replayerBusy); +} + +void resumeMusic(void) // starts reading pattern data +{ + musicPaused = false; +} + +static void noNewAllChannels(void) +{ + for (uint8_t i = 0; i < song.antChn; i++) + { + doEffects(&stm[i]); + fixaEnvelopeVibrato(&stm[i]); + } +} + +void mainPlayer(void) // periodically called from audio callback +{ + uint8_t i; + bool readNewNote; + + if (musicPaused || !songPlaying) + { + for (i = 0; i < song.antChn; i++) + fixaEnvelopeVibrato(&stm[i]); + + return; + } + + if (song.speed > 0) + song.musicTime += 65536 / song.speed; // for playback counter + + readNewNote = false; + if (--song.timer == 0) + { + song.timer = song.tempo; + readNewNote = true; + } + + // for visuals + song.curReplayerTimer = (uint8_t)song.timer; + song.curReplayerPattPos = (uint8_t)song.pattPos; + song.curReplayerPattNr = (uint8_t)song.pattNr; + song.curReplayerSongPos = (uint8_t)song.songPos; + + if (readNewNote) + { + if (song.pattDelTime2 == 0) + { + for (i = 0; i < song.antChn; i++) + { + if (patt[song.pattNr] == NULL) + getNewNote(&stm[i], &nilPatternLine); + else + getNewNote(&stm[i], &patt[song.pattNr][(song.pattPos * MAX_VOICES) + i]); + + fixaEnvelopeVibrato(&stm[i]); + } + } + else + { + noNewAllChannels(); + } + } + else + { + noNewAllChannels(); + } + + getNextPos(); +} + +void resetMusic(void) +{ + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + song.timer = 1; + stopVoices(); + + if (audioWasntLocked) + unlockAudio(); + + setPos(0, 0, false); + + if (!songPlaying) + { + setScrollBarEnd(SB_POS_ED, (song.len - 1) + 5); + setScrollBarPos(SB_POS_ED, 0, false); + } +} + +void setPos(int16_t songPos, int16_t pattPos, bool resetTimer) +{ + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (songPos > -1) + { + song.songPos = songPos; + if (song.len > 0 && song.songPos >= song.len) + song.songPos = song.len - 1; + + song.pattNr = song.songTab[songPos]; + assert(song.pattNr < MAX_PATTERNS); + song.pattLen = pattLens[song.pattNr]; + + checkMarkLimits(); // non-FT2 safety + } + + if (pattPos > -1) + { + song.pattPos = pattPos; + if (song.pattPos >= song.pattLen) + song.pattPos = song.pattLen - 1; + } + + // if not playing, update local position variables + if (!songPlaying) + { + if (pattPos > -1) + { + editor.pattPos = (uint8_t)pattPos; + editor.ui.updatePatternEditor = true; + } + + if (songPos > -1) + { + editor.editPattern = (uint8_t)song.pattNr; + editor.songPos = song.songPos; + editor.ui.updatePosSections = true; + } + } + + if (resetTimer) + song.timer = 1; + + if (audioWasntLocked) + unlockAudio(); +} + +void delta2Samp(int8_t *p, int32_t len, uint8_t typ) +{ + int8_t *p8, news8, olds8L, olds8R; + int16_t *p16, news16, olds16L, olds16R, tmp16; + int32_t i, tmp32; + + if (typ & 16) len /= 2; // 16-bit + if (typ & 32) len /= 2; // stereo + + if (typ & 32) + { + if (typ & 16) + { + p16 = (int16_t *)p; + + olds16L = 0; + olds16R = 0; + + for (i = 0; i < len; i++) + { + news16 = p16[i] + olds16L; + p16[i] = news16; + olds16L = news16; + + news16 = p16[len+i] + olds16R; + p16[len+i] = news16; + olds16R = news16; + + tmp32 = olds16L + olds16R; + p16[i] = (int16_t)(tmp32 >> 1); + } + } + else + { + p8 = (int8_t *)p; + + olds8L = 0; + olds8R = 0; + + for (i = 0; i < len; i++) + { + news8 = p8[i] + olds8L; + p8[i] = news8; + olds8L = news8; + + news8 = p8[len+i] + olds8R; + p8[len+i] = news8; + olds8R = news8; + + tmp16 = olds8L + olds8R; + p8[i] = (int8_t)(tmp16 >> 1); + } + } + } + else + { + if (typ & 16) + { + p16 = (int16_t *)p; + + olds16L = 0; + for (i = 0; i < len; i++) + { + news16 = p16[i] + olds16L; + p16[i] = news16; + olds16L = news16; + } + } + else + { + p8 = (int8_t *)p; + + olds8L = 0; + for (i = 0; i < len; i++) + { + news8 = p8[i] + olds8L; + p8[i] = news8; + olds8L = news8; + } + } + } +} + +void samp2Delta(int8_t *p, int32_t len, uint8_t typ) +{ + int8_t *p8, news8, olds8; + int16_t *p16, news16, olds16; + int32_t i; + + if (typ & 16) len /= 2; // 16-bit + + if (typ & 16) + { + p16 = (int16_t *)p; + + news16 = 0; + for (i = 0; i < len; i++) + { + olds16 = p16[i]; + p16[i] -= news16; + news16 = olds16; + } + } + else + { + p8 = (int8_t *)p; + + news8 = 0; + for (i = 0; i < len; i++) + { + olds8 = p8[i]; + p8[i] -= news8; + news8 = olds8; + } + } +} + +bool allocateInstr(int16_t nr) +{ + bool audioWasntLocked; + instrTyp *p; + + if (instr[nr] != NULL) + return false; // already allocated + + p = (instrTyp *)malloc(sizeof (instrTyp)); + if (p == NULL) + return false; + + memset(p, 0, sizeof (instrTyp)); + + for (int8_t i = 0; i < 16; i++) // set standard sample pan/vol + { + p->samp[i].pan = 128; + p->samp[i].vol = 64; + } + + setStdEnvelope(p, 0, 3); + + audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + instr[nr] = p; + + if (audioWasntLocked) + unlockAudio(); + + return true; +} + +void freeInstr(int16_t nr) +{ + if (instr[nr] == NULL) + return; // not allocated + + pauseAudio(); // channel instrument pointers are now cleared + + for (int8_t i = 0; i < 16; i++) // free sample data + { + sampleTyp *s = &instr[nr]->samp[i]; + + if (s->origPek != NULL) + free(s->origPek); + } + + free(instr[nr]); + instr[nr] = NULL; + + resumeAudio(); +} + +void freeAllInstr(void) +{ + pauseAudio(); // channel instrument pointers are now cleared + for (int16_t i = 1; i <= MAX_INST; i++) + { + if (instr[i] != NULL) + { + for (int8_t j = 0; j < MAX_SMP_PER_INST; j++) // free sample data + { + sampleTyp *s = &instr[i]->samp[j]; + + if (s->origPek != NULL) + free(s->origPek); + } + + free(instr[i]); + instr[i] = NULL; + } + } + resumeAudio(); +} + +void freeSample(int16_t nr, int16_t nr2) +{ + sampleTyp *s; + + if (instr[nr] == NULL) + return; // instrument not allocated + + pauseAudio(); // voice sample pointers are now cleared + + s = &instr[nr]->samp[nr2]; + if (s->origPek != NULL) + free(s->origPek); + + memset(s, 0, sizeof (sampleTyp)); + + s->pan = 128; + s->vol = 64; + + resumeAudio(); +} + +void freeAllPatterns(void) +{ + pauseAudio(); + for (uint16_t i = 0; i < MAX_PATTERNS; i++) + { + if (patt[i] != NULL) + { + free(patt[i]); + patt[i] = NULL; + } + } + resumeAudio(); +} + +void setStdEnvelope(instrTyp *ins, int16_t i, uint8_t typ) +{ + if (ins == NULL) + return; + + pauseMusic(); + + if (typ & 1) + { + memcpy(ins->envVP, config.stdEnvP[i][0], 2*2*12); + ins->envVPAnt = (uint8_t)config.stdVolEnvAnt[i]; + ins->envVSust = (uint8_t)config.stdVolEnvSust[i]; + ins->envVRepS = (uint8_t)config.stdVolEnvRepS[i]; + ins->envVRepE = (uint8_t)config.stdVolEnvRepE[i]; + ins->fadeOut = config.stdFadeOut[i]; + ins->vibRate = (uint8_t)config.stdVibRate[i]; + ins->vibDepth = (uint8_t)config.stdVibDepth[i]; + ins->vibSweep = (uint8_t)config.stdVibSweep[i]; + ins->vibTyp = (uint8_t)config.stdVibTyp[i]; + ins->envVTyp = (uint8_t)config.stdVolEnvTyp[i]; + } + + if (typ & 2) + { + memcpy(ins->envPP, config.stdEnvP[i][1], 2*2*12); + ins->envPPAnt = (uint8_t)config.stdPanEnvAnt[0]; + ins->envPSust = (uint8_t)config.stdPanEnvSust[0]; + ins->envPRepS = (uint8_t)config.stdPanEnvRepS[0]; + ins->envPRepE = (uint8_t)config.stdPanEnvRepE[0]; + ins->envPTyp = (uint8_t)config.stdPanEnvTyp[0]; + } + + resumeMusic(); +} + +void setNoEnvelope(instrTyp *ins) +{ + if (ins == NULL) + return; + + pauseMusic(); + + memcpy(ins->envVP, config.stdEnvP[0][0], 2*2*12); + ins->envVPAnt = (uint8_t)config.stdVolEnvAnt[0]; + ins->envVSust = (uint8_t)config.stdVolEnvSust[0]; + ins->envVRepS = (uint8_t)config.stdVolEnvRepS[0]; + ins->envVRepE = (uint8_t)config.stdVolEnvRepE[0]; + ins->envVTyp = 0; + + memcpy(ins->envPP, config.stdEnvP[0][1], 2*2*12); + ins->envPPAnt = (uint8_t)config.stdPanEnvAnt[0]; + ins->envPSust = (uint8_t)config.stdPanEnvSust[0]; + ins->envPRepS = (uint8_t)config.stdPanEnvRepS[0]; + ins->envPRepE = (uint8_t)config.stdPanEnvRepE[0]; + ins->envPTyp = 0; + + ins->fadeOut = 0; + ins->vibRate = 0; + ins->vibDepth = 0; + ins->vibSweep = 0; + ins->vibTyp = 0; + + resumeMusic(); +} + +bool patternEmpty(uint16_t nr) +{ + uint8_t *scanPtr; + uint32_t scanLen; + + if (patt[nr] == NULL) + return true; + + scanPtr = (uint8_t *)patt[nr]; + scanLen = pattLens[nr] * TRACK_WIDTH; + + for (uint32_t i = 0; i < scanLen; i++) + { + if (scanPtr[i] != 0) + return false; + } + + return true; +} + +void updateChanNums(void) +{ + uint8_t pageLen; + + assert(!(song.antChn & 1)); + + pageLen = 8; + if (config.ptnS3M) + { + if (song.antChn == 2) pageLen = 4; + else if (song.antChn == 4) pageLen = 4; + else if (song.antChn == 6) pageLen = 6; + else if (song.antChn >= 8) pageLen = 8; + } + else + { + if (song.antChn == 2) pageLen = 4; + else if (song.antChn == 4) pageLen = 4; + else if (song.antChn == 6) pageLen = 6; + else if (song.antChn == 8) pageLen = 8; + else if (song.antChn == 10) pageLen = 10; + else if (song.antChn >= 12) pageLen = 12; + } + + editor.ui.numChannelsShown = pageLen; + if (song.antChn == 2) + editor.ui.numChannelsShown = 2; + + if (config.ptnMaxChannels == 0) + { + if (editor.ui.numChannelsShown > 4) + editor.ui.numChannelsShown = 4; + } + else if (config.ptnMaxChannels == 1) + { + if (editor.ui.numChannelsShown > 6) + editor.ui.numChannelsShown = 6; + } + else if (config.ptnMaxChannels == 2) + { + if (editor.ui.numChannelsShown > 8) + editor.ui.numChannelsShown = 8; + } + else if (config.ptnMaxChannels == 3) + { + if (config.ptnS3M) + { + if (editor.ui.numChannelsShown > 8) + editor.ui.numChannelsShown = 8; + } + else + { + if (editor.ui.numChannelsShown > 12) + editor.ui.numChannelsShown = 12; + } + } + + editor.ui.pattChanScrollShown = song.antChn > getMaxVisibleChannels(); + + if (editor.ui.patternEditorShown) + { + if (editor.ui.channelOffset > song.antChn-editor.ui.numChannelsShown) + setScrollBarPos(SB_CHAN_SCROLL, song.antChn - editor.ui.numChannelsShown, true); + } + + if (editor.ui.pattChanScrollShown) + { + if (editor.ui.patternEditorShown) + { + showScrollBar(SB_CHAN_SCROLL); + showPushButton(PB_CHAN_SCROLL_LEFT); + showPushButton(PB_CHAN_SCROLL_RIGHT); + } + + setScrollBarEnd(SB_CHAN_SCROLL, song.antChn); + setScrollBarPageLength(SB_CHAN_SCROLL, editor.ui.numChannelsShown); + } + else + { + hideScrollBar(SB_CHAN_SCROLL); + hidePushButton(PB_CHAN_SCROLL_LEFT); + hidePushButton(PB_CHAN_SCROLL_RIGHT); + + setScrollBarPos(SB_CHAN_SCROLL, 0, false); + + editor.ui.channelOffset = 0; + } + + if (editor.cursor.ch >= editor.ui.channelOffset+editor.ui.numChannelsShown) + editor.cursor.ch = editor.ui.channelOffset+editor.ui.numChannelsShown - 1; +} + +void conv8BitSample(int8_t *p, int32_t len, bool stereo) +{ + int8_t *p2, l, r; + int16_t tmp16; + int32_t i; + + if (stereo) + { + len /= 2; + + p2 = &p[len]; + for (i = 0; i < len; i++) + { + l = p[i] - 128; + r = p2[i] - 128; + + tmp16 = l + r; + p[i] = (int8_t)(tmp16 >> 1); + } + } + else + { + for (i = 0; i < len; i++) + p[i] -= 128; + } +} + +void conv16BitSample(int8_t *p, int32_t len, bool stereo) +{ + int16_t *p16_1, *p16_2, l, r; + int32_t i, tmp32; + + p16_1 = (int16_t *)p; + + len /= 2; + + if (stereo) + { + len /= 2; + + p16_2 = (int16_t *)&p[len * 2]; + for (i = 0; i < len; i++) + { + l = p16_1[i] - 32768; + r = p16_2[i] - 32768; + + tmp32 = l + r; + p16_1[i] = (int16_t)(tmp32 >> 1); + } + } + else + { + for (i = 0; i < len; i++) + p16_1[i] -= 32768; + } +} + +void closeReplayer(void) +{ + freeAllInstr(); + freeAllPatterns(); + + if (instr[0] != NULL) + { + free(instr[0]); + instr[0] = NULL; + } + + if (instr[130] != NULL) + { + free(instr[130]); + instr[130] = NULL; + } + + if (instr[131] != NULL) + { + free(instr[131]); + instr[131] = NULL; + } +} + +bool setupReplayer(void) +{ + int32_t i; + + for (i = 0; i < MAX_PATTERNS; i++) + pattLens[i] = 64; + + playMode = PLAYMODE_IDLE; + songPlaying = false; + + // unmute all channels (must be done before resetChannels() call) + for (i = 0; i < MAX_VOICES; i++) + editor.chnMode[i] = 1; + + resetChannels(); + + song.len = 1; + song.antChn = 8; + + editor.speed = song.speed = 125; + editor.tempo = song.tempo = 6; + editor.globalVol = song.globVol = 64; + song.initialTempo = song.tempo; + + setFrqTab(true); + setPos(0, 0, true); + + if (!allocateInstr(0)) + { + showErrorMsgBox("Not enough memory!"); + return false; + } + instr[0]->samp[0].vol = 0; + + if (!allocateInstr(130)) + { + showErrorMsgBox("Not enough memory!"); + return false; + } + memset(instr[130], 0, sizeof (instrTyp)); + + if (!allocateInstr(131)) // Instr. Ed. display instrument for unallocated/empty instruments + { + showErrorMsgBox("Not enough memory!"); + return false; + } + memset(instr[131], 0, sizeof (instrTyp)); + for (i = 0; i < 16; i++) + instr[131]->samp[i].pan = 128; + + editor.tmpPattern = 65535; // pattern editor update/redraw kludge + return true; +} + +void startPlaying(int8_t mode, int16_t row) +{ + lockMixerCallback(); + + assert(mode != PLAYMODE_IDLE && mode != PLAYMODE_EDIT); + + if (mode == PLAYMODE_PATT || mode == PLAYMODE_RECPATT) + setPos(-1, row, true); + else + setPos(editor.songPos, row, true); + + playMode = mode; + songPlaying = true; + song.globVol = 64; + song.musicTime = 0; + song.pattDelTime2 = 0; + song.pattDelTime = 0; + + // non-FT2 fix: If song speed was 0, set it back to initial speed on play + if (song.tempo == 0) + song.tempo = song.initialTempo; + + unlockMixerCallback(); + + editor.ui.updatePosSections = true; + editor.ui.updatePatternEditor = true; +} + +void stopPlaying(void) +{ + uint8_t i; + bool songWasPlaying; + + songWasPlaying = songPlaying; + playMode = PLAYMODE_IDLE; + songPlaying = false; + + if (config.killNotesOnStopPlay) + { + // safely kills all voices + lockMixerCallback(); + unlockMixerCallback(); + + // prevent getFrequenceValue() from calculating the rates forever + for (i = 0; i < MAX_VOICES; i++) + stm[i].outPeriod = 0; + } + else + { + for (i = 0; i < MAX_VOICES; i++) + playTone(i, 0, 97, -1, 0, 0); + } + + // if song was playing, update local pattPos (fixes certain glitches) + if (songWasPlaying) + editor.pattPos = song.pattPos; + +#ifdef HAS_MIDI + midi.currMIDIVibDepth = 0; + midi.currMIDIPitch = 0; +#endif + + memset(editor.keyOnTab, 0, sizeof (editor.keyOnTab)); + + editor.ui.updatePosSections = true; + editor.ui.updatePatternEditor = true; + + // certain non-FT2 fixes + song.timer = editor.timer = 1; + song.globVol = editor.globalVol = 64; + editor.ui.drawGlobVolFlag = true; +} + +// from keyboard/smp. ed. +void playTone(uint8_t stmm, uint8_t inst, uint8_t ton, int8_t vol, uint16_t midiVibDepth, uint16_t midiPitch) +{ + sampleTyp *s; + stmTyp *ch; + instrTyp *ins = instr[inst]; + + if (ins == NULL) + return; + + assert(stmm < MAX_VOICES && inst < MAX_INST && ton <= 97); + ch = &stm[stmm]; + + if (ton != 97) + { + if (ton < 1 || ton > 96) + return; + + s = &ins->samp[ins->ta[ton-1] & 0x0F]; + if (s->pek == NULL || s->len == 0 || ton+s->relTon <= 0 || ton+s->relTon >= 12*10) + return; + } + + lockAudio(); + + if (inst != 0 && ton != 97) + { + ch->tonTyp = (inst << 8) | (ch->tonTyp & 0xFF); + ch->instrNr = inst; + } + + ch->tonTyp = (ch->tonTyp & 0xFF00) | ton; + ch->effTyp = 0; + ch->eff = 0; + + startTone(ton, 0, 0, ch); + + if (ton != 97) + { + retrigVolume(ch); + retrigEnvelopeVibrato(ch); + + if (vol != -1) // if jamming note keys, vol -1 = use sample's volume + { + ch->realVol = vol; + ch->outVol = vol; + ch->oldVol = vol; + } + } + + ch->midiVibDepth = midiVibDepth; + ch->midiPitch = midiPitch; + + fixaEnvelopeVibrato(ch); + + unlockAudio(); +} + +// smp. ed. +void playSample(uint8_t stmm, uint8_t inst, uint8_t smpNr, uint8_t ton, uint16_t midiVibDepth, uint16_t midiPitch) +{ + uint8_t vol; + stmTyp *ch; + + if (instr[inst] == NULL) + return; + + // for sampling playback line in Smp. Ed. + lastChInstr[stmm].instrNr = 255; + lastChInstr[stmm].sampleNr = 255; + editor.curPlayInstr = 255; + editor.curPlaySmp = 255; + + assert(stmm < MAX_VOICES && inst < MAX_INST && smpNr < MAX_SMP_PER_INST && ton <= 97); + ch = &stm[stmm]; + + memcpy(&instr[130]->samp[0], &instr[inst]->samp[smpNr], sizeof (sampleTyp)); + + vol = instr[inst]->samp[smpNr].vol; + + lockAudio(); + + ch->instrNr = 130; + ch->tonTyp = (ch->instrNr << 8) | ton; + ch->effTyp = 0; + + startTone(ton, 0, 0, ch); + + if (ton != 97) + { + retrigVolume(ch); + retrigEnvelopeVibrato(ch); + + ch->realVol = vol; + ch->outVol = vol; + ch->oldVol = vol; + } + + ch->midiVibDepth = midiVibDepth; + ch->midiPitch = midiPitch; + + fixaEnvelopeVibrato(ch); + + unlockAudio(); + + while (ch->status & IS_NyTon); // wait for sample to latch in mixer + + // for sampling playback line in Smp. Ed. + editor.curPlayInstr = editor.curInstr; + editor.curPlaySmp = editor.curSmp; +} + +// smp. ed. +void playRange(uint8_t stmm, uint8_t inst, uint8_t smpNr, uint8_t ton, uint16_t midiVibDepth, uint16_t midiPitch, int32_t offs, int32_t len) +{ + uint8_t vol; + int32_t samplePlayOffset; + stmTyp *ch; + sampleTyp *s; + + if (instr[inst] == NULL) + return; + + // for sampling playback line in Smp. Ed. + lastChInstr[stmm].instrNr = 255; + lastChInstr[stmm].sampleNr = 255; + editor.curPlayInstr = 255; + editor.curPlaySmp = 255; + + assert(stmm < MAX_VOICES && inst < MAX_INST && smpNr < MAX_SMP_PER_INST && ton <= 97); + + ch = &stm[stmm]; + s = &instr[130]->samp[0]; + + memcpy(s, &instr[inst]->samp[smpNr], sizeof (sampleTyp)); + + vol = instr[inst]->samp[smpNr].vol; + + if (s->typ & 16) + { + offs &= 0xFFFFFFFE; + len &= 0xFFFFFFFE; + } + + lockAudio(); + + s->len = offs + len; + s->repS = 0; + s->repL = 0; + s->typ &= 16; // only keep 8-bit/16-bit flag (disable loop) + + samplePlayOffset = offs; + if (s->typ & 16) + samplePlayOffset >>= 1; + + ch->instrNr = 130; + ch->tonTyp = (ch->instrNr << 8) | ton; + ch->effTyp = 0; + + startTone(ton, 0, 0, ch); + + ch->smpStartPos = samplePlayOffset; + + if (ton != 97) + { + retrigVolume(ch); + retrigEnvelopeVibrato(ch); + + ch->realVol = vol; + ch->outVol = vol; + ch->oldVol = vol; + } + + ch->midiVibDepth = midiVibDepth; + ch->midiPitch = midiPitch; + + fixaEnvelopeVibrato(ch); + + unlockAudio(); + + while (ch->status & IS_NyTon); // wait for sample to latch in mixer + + // for sampling playback line in Smp. Ed. + editor.curPlayInstr = editor.curInstr; + editor.curPlaySmp = editor.curSmp; +} + +void stopVoices(void) +{ + bool audioWasntLocked; + stmTyp *ch; + + audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + for (uint8_t i = 0; i < MAX_VOICES; i++) + { + ch = &stm[i]; + + lastChInstr[i].sampleNr = 255; + lastChInstr[i].instrNr = 255; + + ch->tonTyp = 0; + ch->relTonNr = 0; + ch->instrNr = 0; + ch->instrSeg = instr[0]; // important: set instrument pointer to instr 0 (placeholder instrument) + ch->status = IS_Vol; + ch->realVol = 0; + ch->outVol = 0; + ch->oldVol = 0; + ch->finalVol = 0; + ch->oldPan = 128; + ch->outPan = 128; + ch->finalPan = 128; + ch->vibDepth = 0; + ch->midiVibDepth = 0; + ch->midiPitch = 0; + ch->smpPtr = NULL; + ch->portaDir = 0; // FT2 bugfix: weird 3xx behavior if not used with note + + stopVoice(i); + } + + // for sampling playback line in Smp. Ed. + editor.curPlayInstr = 255; + editor.curPlaySmp = 255; + + stopAllScopes(); + resetAudioDither(); + resetOldRates(); + + // wait for scope thread to finish, so that we know pointers aren't deprecated + while (editor.scopeThreadMutex); + + if (audioWasntLocked) + unlockAudio(); +} + +void decSongPos(void) +{ + if (song.songPos == 0) + return; + + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (song.songPos > 0) + setPos(song.songPos - 1, 0, true); + + if (audioWasntLocked) + unlockAudio(); +} + +void incSongPos(void) +{ + if (song.songPos == song.len-1) + return; + + bool audioWasntLocked = !audio.locked; + if (audioWasntLocked) + lockAudio(); + + if (song.songPos < song.len-1) + setPos(song.songPos + 1, 0, true); + + if (audioWasntLocked) + unlockAudio(); +} + +void decCurIns(void) +{ + if (editor.curInstr <= 1) + return; + + editor.curInstr--; + if ((editor.curInstr > 0x40 && !editor.instrBankSwapped) || (editor.curInstr <= 0x40 && editor.instrBankSwapped)) + pbSwapInstrBank(); + + editor.instrBankOffset = ((editor.curInstr - 1) / 8) * 8; + + updateTextBoxPointers(); + updateNewInstrument(); + + if (editor.ui.advEditShown) + updateAdvEdit(); +} + +void incCurIns(void) +{ + if (editor.curInstr >= MAX_INST) + return; + + editor.curInstr++; + if ((editor.curInstr > 0x40 && !editor.instrBankSwapped) || (editor.curInstr <= 0x40 && editor.instrBankSwapped)) + pbSwapInstrBank(); + + editor.instrBankOffset = ((editor.curInstr - 1) / 8) * 8; + + updateTextBoxPointers(); + updateNewInstrument(); + + if (editor.ui.advEditShown) + updateAdvEdit(); +} + +void decCurSmp(void) +{ + if (editor.curSmp == 0) + return; + + editor.curSmp--; + + editor.sampleBankOffset = (editor.curSmp / 5) * 5; + setScrollBarPos(SB_SAMPLE_LIST, editor.sampleBankOffset, true); + + updateTextBoxPointers(); + updateNewSample(); +} + +void incCurSmp(void) +{ + if (editor.curSmp >= MAX_SMP_PER_INST-1) + return; + + editor.curSmp++; + + editor.sampleBankOffset = (editor.curSmp / 5) * 5; + setScrollBarPos(SB_SAMPLE_LIST, editor.sampleBankOffset, true); + + updateTextBoxPointers(); + updateNewSample(); +} + +void pbPlaySong(void) +{ + startPlaying(PLAYMODE_SONG, 0); +} + +void pbPlayPtn(void) +{ + startPlaying(PLAYMODE_PATT, 0); +} + +void pbRecSng(void) +{ + startPlaying(PLAYMODE_RECSONG, 0); +} + +void pbRecPtn(void) +{ + startPlaying(PLAYMODE_RECPATT, 0); +} + +void setSyncedReplayerVars(void) +{ + uint8_t scopeUpdateStatus[MAX_VOICES]; + uint64_t frameTime64; + + pattSyncEntry = NULL; + chSyncEntry = NULL; + + memset(scopeUpdateStatus, 0, sizeof (scopeUpdateStatus)); // this is needed + + frameTime64 = SDL_GetPerformanceCounter(); + + // handle channel sync queue + + while (chQueueClearing); + + chQueueReading = true; + while (chQueueReadSize() > 0) + { + if (frameTime64 < getChQueueTimestamp()) + break; // we have no more stuff to render for now + + chSyncEntry = chQueuePeek(); + if (chSyncEntry == NULL) + break; + + for (uint32_t i = 0; i < song.antChn; i++) + scopeUpdateStatus[i] |= chSyncEntry->channels[i].status; // yes, OR the status + + if (!chQueuePop()) + break; + } + chQueueReading = false; + + /* extra validation because of possible issues when the buffer is full + ** and positions are being reset, which is not entirely thread safe. */ + if (chSyncEntry != NULL && chSyncEntry->timestamp == 0) + chSyncEntry = NULL; + + // handle pattern sync queue + + while (pattQueueClearing); + + pattQueueReading = true; + while (pattQueueReadSize() > 0) + { + if (frameTime64 < getPattQueueTimestamp()) + break; // we have no more stuff to render for now + + pattSyncEntry = pattQueuePeek(); + if (pattSyncEntry == NULL) + break; + + if (!pattQueuePop()) + break; + } + pattQueueReading = false; + + /* extra validation because of possible issues when the buffer is full + ** and positions are being reset, which is not entirely thread safe. */ + if (pattSyncEntry != NULL && pattSyncEntry->timestamp == 0) + pattSyncEntry = NULL; + + // do actual updates + + if (chSyncEntry != NULL) + { + handleScopesFromChQueue(chSyncEntry, scopeUpdateStatus); + editor.ui.drawReplayerPianoFlag = true; + } + + if (!songPlaying || pattSyncEntry == NULL) + return; + + // we have a new tick + + editor.timer = pattSyncEntry->timer; + + if (editor.speed != pattSyncEntry->speed) + { + editor.speed = pattSyncEntry->speed; + editor.ui.drawBPMFlag = true; + } + + if (editor.tempo != pattSyncEntry->tempo) + { + editor.tempo = pattSyncEntry->tempo; + editor.ui.drawSpeedFlag = true; + } + + if (editor.globalVol != pattSyncEntry->globalVol) + { + editor.globalVol = pattSyncEntry->globalVol; + editor.ui.drawGlobVolFlag = true; + } + + if (editor.songPos != pattSyncEntry->songPos) + { + editor.songPos = pattSyncEntry->songPos; + editor.ui.drawPosEdFlag = true; + } + + // somewhat of a kludge... + if (editor.tmpPattern != pattSyncEntry->pattern || editor.pattPos != pattSyncEntry->patternPos) + { + // set pattern number + editor.editPattern = editor.tmpPattern = pattSyncEntry->pattern; + checkMarkLimits(); + editor.ui.drawPattNumLenFlag = true; + + // set row + editor.pattPos = (uint8_t)pattSyncEntry->patternPos; + editor.ui.updatePatternEditor = true; + } +} diff --git a/src/ft2_replayer.h b/src/ft2_replayer.h index dab445e..5dd868b 100644 --- a/src/ft2_replayer.h +++ b/src/ft2_replayer.h @@ -1,323 +1,305 @@ -#pragma once - -#include -#include -#include "ft2_unicode.h" - -enum -{ - // voice flags - IS_Vol = 1, // set volume - IS_Period = 2, // set resampling rate - IS_NyTon = 4, // trigger new sample - IS_Pan = 8, // set panning - IS_QuickVol = 16, // 5ms volramp instead of tick ms - - // tracker playback modes - PLAYMODE_IDLE = 0, - PLAYMODE_EDIT = 1, - PLAYMODE_SONG = 2, - PLAYMODE_PATT = 3, - PLAYMODE_RECSONG = 4, - PLAYMODE_RECPATT = 5, - - // note cursor positions - CURSOR_NOTE = 0, - CURSOR_INST1 = 1, - CURSOR_INST2 = 2, - CURSOR_VOL1 = 3, - CURSOR_VOL2 = 4, - CURSOR_EFX0 = 5, - CURSOR_EFX1 = 6, - CURSOR_EFX2 = 7 -}; - -// DO NOT TOUCH! -#define MIN_BPM 32 -#define TRACK_WIDTH (5 * MAX_VOICES) -#define MAX_VOICES 32 -#define MAX_NOTES ((12 * 10 * 16) + 16) -#define MAX_PATTERNS 256 -#define MAX_PATT_LEN 256 -#define MAX_INST 128 -#define MAX_SMP_PER_INST 16 -#define MAX_ORDERS 256 -#define STD_ENV_SIZE ((6*2*12*2*2) + (6*8*2) + (6*5*2) + (6*2*2)) -#define INSTR_SIZE 232 -#define INSTR_HEADER_SIZE 263 -#define INSTR_XI_HEADER_SIZE 298 -#define MAX_SAMPLE_LEN 0x3FFFFFFF -#define PROG_NAME_STR "Fasttracker II clone" - -/* Some of the following structs must be packed (e.g. not padded) since they -** are loaded directly into with fread and stuff. */ - -#ifdef _MSC_VER -#pragma pack(push) -#pragma pack(1) -#endif -typedef struct songHeaderTyp_t // DO NOT TOUCH! -{ - char sig[17], name[21], progName[20]; - uint16_t ver; - int32_t headerSize; - uint16_t len, repS, antChn, antPtn, antInstrs, flags, defTempo, defSpeed; - uint8_t songTab[256]; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -songHeaderTyp; - -typedef struct patternHeaderTyp_t // DO NOT TOUCH! -{ - int32_t patternHeaderSize; - uint8_t typ; - int16_t pattLen; - uint16_t dataLen; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -patternHeaderTyp; - -typedef struct songMODInstrHeaderTyp_t -{ - char name[22]; - uint16_t len; - uint8_t fine, vol; - uint16_t repS, repL; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -songMODInstrHeaderTyp; - -typedef struct songMOD15HeaderTyp_t -{ - char name[20]; - songMODInstrHeaderTyp instr[15]; - uint8_t len, repS, songTab[128]; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -songMOD15HeaderTyp; - -typedef struct songMOD31HeaderTyp_t -{ - char name[20]; - songMODInstrHeaderTyp instr[31]; - uint8_t len, repS, songTab[128]; - char sig[4]; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -songMOD31HeaderTyp; - -typedef struct sampleHeaderTyp_t // DO NOT TOUCH! -{ - int32_t len, repS, repL; - uint8_t vol; - int8_t fine; - uint8_t typ, pan; - int8_t relTon; - uint8_t reserved; - char name[22]; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -sampleHeaderTyp; - -typedef struct instrHeaderTyp_t // DO NOT TOUCH! -{ - uint32_t instrSize; - char name[22]; - uint8_t typ; - int16_t antSamp; - int32_t sampleSize; - uint8_t ta[96]; - int16_t envVP[12][2], envPP[12][2]; - uint8_t envVPAnt, envPPAnt; - uint8_t envVSust, envVRepS, envVRepE; - uint8_t envPSust, envPRepS, envPRepE; - uint8_t envVTyp, envPTyp; - uint8_t vibTyp, vibSweep, vibDepth, vibRate; - uint16_t fadeOut; - uint8_t midiOn, midiChannel; - int16_t midiProgram, midiBend; - int8_t mute; - uint8_t reserved[15]; - sampleHeaderTyp samp[16]; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -instrHeaderTyp; - -typedef struct sampleTyp_t // DO NOT TOUCH! -{ - int32_t len, repS, repL; - uint8_t vol; - int8_t fine; - uint8_t typ, pan; - int8_t relTon; - uint8_t reserved; - char name[22 + 1]; // +1 for tracker NUL termination, not present in sample header - - // stuff from now on can be touched - int8_t *pek; - uint8_t fixed; - int16_t fixedSmp1; -#ifndef LERPMIX - int16_t fixedSmp2; -#endif - int32_t fixedPos; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -sampleTyp; - -typedef struct instrTyp_t // DO NOT TOUCH! -{ - uint8_t ta[96]; - int16_t envVP[12][2], envPP[12][2]; - uint8_t envVPAnt, envPPAnt; - uint8_t envVSust, envVRepS, envVRepE; - uint8_t envPSust, envPRepS, envPRepE; - uint8_t envVTyp, envPTyp; - uint8_t vibTyp, vibSweep, vibDepth, vibRate; - uint16_t fadeOut; - uint8_t midiOn, midiChannel; - int16_t midiProgram, midiBend; - uint8_t mute, reserved[15]; - int16_t antSamp; - sampleTyp samp[16]; -} -#ifdef __GNUC__ -__attribute__ ((packed)) -#endif -instrTyp; -#ifdef _MSC_VER -#pragma pack(pop) -#endif - -typedef struct stmTyp_t -{ - volatile uint8_t status, tmpStatus; - int8_t relTonNr, fineTune; - uint8_t sampleNr, instrNr, stOff, effTyp, eff, smpOffset, tremorSave, tremorPos; - uint8_t globVolSlideSpeed, panningSlideSpeed, mute, waveCtrl, portaDir; - uint8_t glissFunk, vibPos, tremPos, vibSpeed, vibDepth, tremSpeed, tremDepth; - uint8_t pattPos, loopCnt, volSlideSpeed, fVolSlideUpSpeed, fVolSlideDownSpeed; - uint8_t fPortaUpSpeed, fPortaDownSpeed, ePortaUpSpeed, ePortaDownSpeed; - uint8_t portaUpSpeed, portaDownSpeed, retrigSpeed, retrigCnt, retrigVol; - uint8_t volKolVol, tonNr, envPPos, eVibPos, envVPos, realVol, oldVol, outVol; - uint8_t oldPan, outPan, finalPan; - bool envSustainActive; - int16_t midiCurChannel, midiCurTone, midiCurVibDepth, midiCurPeriod, midiCurPitch; - int16_t midiBend, midiPortaPeriod, midiPitch, realPeriod, envVIPValue, envPIPValue; - uint16_t finalVol, outPeriod, finalPeriod, tonTyp, wantPeriod, portaSpeed; - uint16_t envVCnt, envVAmp, envPCnt, envPAmp, eVibAmp, eVibSweep; - uint16_t fadeOutAmp, fadeOutSpeed, midiVibDepth; - int32_t smpStartPos; - sampleTyp *smpPtr; - instrTyp *instrSeg; -} stmTyp; - -typedef struct songTyp_t -{ - uint8_t antChn, pattDelTime, pattDelTime2, pBreakPos, songTab[MAX_ORDERS]; - bool pBreakFlag, posJumpFlag, isModified; - int16_t songPos, pattNr, pattPos, pattLen; - uint16_t len, repS, speed, tempo, globVol, timer, ver, initialTempo; - char name[20 + 1], instrName[1 + MAX_INST][22 + 1]; - uint32_t musicTime; - - // used for audio/video sync queue - uint8_t curReplayerTimer, curReplayerPattPos, curReplayerSongPos, curReplayerPattNr; -} songTyp; - -typedef struct tonTyp_t -{ - uint8_t ton, instr, vol, effTyp, eff; -} tonTyp; - -typedef struct syncedChannel_t // used for audio/video sync queue -{ - bool envSustainActive; - int8_t fineTune, relTonNr; - uint8_t status, sampleNr, instrNr; - uint16_t finalPeriod, finalVol; - int32_t smpStartPos; - uint32_t voiceDelta; -} syncedChannel_t; - -void fixSongName(void); // removes spaces from right side of song name -void fixSampleName(int16_t nr); // removes spaces from right side of ins/smp names - -void calcReplayRate(uint32_t rate); -void resetOldRates(void); -void tuneSample(sampleTyp *s, uint32_t midCFreq); -uint32_t getFrequenceValue(uint16_t period); -int16_t relocateTon(int16_t period, int8_t relativeNote, stmTyp *ch); - -bool allocateInstr(int16_t nr); -void freeInstr(int16_t nr); -void freeAllInstr(void); -void freeSample(int16_t nr, int16_t nr2); - -void freeAllPatterns(void); -void updateChanNums(void); -bool setupReplayer(void); -void closeReplayer(void); -void resetMusic(void); -void startPlaying(int8_t mode, int16_t row); -void stopPlaying(void); -void stopVoices(void); -void setPos(int16_t songPos, int16_t pattPos); -void pauseMusic(void); // stops reading pattern data -void resumeMusic(void); // starts reading pattern data -void setSongModifiedFlag(void); -void removeSongModifiedFlag(void); -void playTone(uint8_t stmm, uint8_t inst, uint8_t ton, int8_t vol, uint16_t midiVibDepth, uint16_t midiPitch); -void playSample(uint8_t stmm, uint8_t inst, uint8_t smpNr, uint8_t ton, uint16_t midiVibDepth, uint16_t midiPitch); -void playRange(uint8_t stmm, uint8_t inst, uint8_t smpNr, uint8_t ton, uint16_t midiVibDepth, uint16_t midiPitch, int32_t offs, int32_t len); -void keyOff(stmTyp *ch); -void conv8BitSample(int8_t *p, int32_t len, bool stereo); -void conv16BitSample(int8_t *p, int32_t len, bool stereo); -void delta2Samp(int8_t *p, int32_t len, uint8_t typ); -void samp2Delta(int8_t *p, int32_t len, uint8_t typ); -bool setPatternLen(uint16_t nr, int16_t len); -void setFrqTab(bool linear); -void mainPlayer(void); // periodically called from audio callback -void resetChannels(void); -bool patternEmpty(uint16_t nr); -int16_t getUsedSamples(int16_t nr); -int16_t getRealUsedSamples(int16_t nr); -void setStdEnvelope(instrTyp *ins, int16_t i, uint8_t typ); -void setNoEnvelope(instrTyp *ins); -void setSyncedReplayerVars(void); -void decSongPos(void); -void incSongPos(void); -void decCurIns(void); -void incCurIns(void); -void decCurSmp(void); -void incCurSmp(void); -void pbPlaySong(void); -void pbPlayPtn(void); -void pbRecSng(void); -void pbRecPtn(void); - -// ft2_replayer.c -extern int8_t playMode; -extern bool linearFrqTab, songPlaying, audioPaused, musicPaused; -extern volatile bool replayerBusy; -extern int16_t *note2Period, pattLens[MAX_PATTERNS]; -extern stmTyp stm[MAX_VOICES]; -extern songTyp song; -extern instrTyp *instr[132]; -extern tonTyp *patt[MAX_PATTERNS]; +#pragma once + +#include +#include +#include "ft2_unicode.h" + +enum +{ + // voice flags + IS_Vol = 1, // set volume + IS_Period = 2, // set resampling rate + IS_NyTon = 4, // trigger new sample + IS_Pan = 8, // set panning + IS_QuickVol = 16, // 5ms volramp instead of tick ms + + // tracker playback modes + PLAYMODE_IDLE = 0, + PLAYMODE_EDIT = 1, + PLAYMODE_SONG = 2, + PLAYMODE_PATT = 3, + PLAYMODE_RECSONG = 4, + PLAYMODE_RECPATT = 5, + + // note cursor positions + CURSOR_NOTE = 0, + CURSOR_INST1 = 1, + CURSOR_INST2 = 2, + CURSOR_VOL1 = 3, + CURSOR_VOL2 = 4, + CURSOR_EFX0 = 5, + CURSOR_EFX1 = 6, + CURSOR_EFX2 = 7 +}; + +// DO NOT TOUCH! +#define MIN_BPM 32 +#define MAX_VOICES 32 +#define TRACK_WIDTH (5 * MAX_VOICES) +#define MAX_NOTES ((12 * 10 * 16) + 16) +#define MAX_PATTERNS 256 +#define MAX_PATT_LEN 256 +#define MAX_INST 128 +#define MAX_SMP_PER_INST 16 +#define MAX_ORDERS 256 +#define STD_ENV_SIZE ((6*2*12*2*2) + (6*8*2) + (6*5*2) + (6*2*2)) +#define INSTR_HEADER_SIZE 263 +#define INSTR_XI_HEADER_SIZE 298 +#define MAX_SAMPLE_LEN 0x3FFFFFFF +#define PROG_NAME_STR "Fasttracker II clone" + +/* Some of the following structs must be packed (e.g. not padded) since they +** are loaded directly into with fread and stuff. */ + +#ifdef _MSC_VER +#pragma pack(push) +#pragma pack(1) +#endif +typedef struct songHeaderTyp_t // DO NOT TOUCH! +{ + char sig[17], name[21], progName[20]; + uint16_t ver; + int32_t headerSize; + uint16_t len, repS, antChn, antPtn, antInstrs, flags, defTempo, defSpeed; + uint8_t songTab[256]; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +songHeaderTyp; + +typedef struct patternHeaderTyp_t // DO NOT TOUCH! +{ + int32_t patternHeaderSize; + uint8_t typ; + int16_t pattLen; + uint16_t dataLen; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +patternHeaderTyp; + +typedef struct songMODInstrHeaderTyp_t +{ + char name[22]; + uint16_t len; + uint8_t fine, vol; + uint16_t repS, repL; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +songMODInstrHeaderTyp; + +typedef struct songMOD15HeaderTyp_t +{ + char name[20]; + songMODInstrHeaderTyp instr[15]; + uint8_t len, repS, songTab[128]; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +songMOD15HeaderTyp; + +typedef struct songMOD31HeaderTyp_t +{ + char name[20]; + songMODInstrHeaderTyp instr[31]; + uint8_t len, repS, songTab[128]; + char sig[4]; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +songMOD31HeaderTyp; + +typedef struct sampleHeaderTyp_t // DO NOT TOUCH! +{ + int32_t len, repS, repL; + uint8_t vol; + int8_t fine; + uint8_t typ, pan; + int8_t relTon; + uint8_t nameLen; + char name[22]; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +sampleHeaderTyp; + +typedef struct instrHeaderTyp_t // DO NOT TOUCH! +{ + uint32_t instrSize; + char name[22]; + uint8_t typ; + int16_t antSamp; + int32_t sampleSize; + uint8_t ta[96]; + int16_t envVP[12][2], envPP[12][2]; + uint8_t envVPAnt, envPPAnt; + uint8_t envVSust, envVRepS, envVRepE; + uint8_t envPSust, envPRepS, envPRepE; + uint8_t envVTyp, envPTyp; + uint8_t vibTyp, vibSweep, vibDepth, vibRate; + uint16_t fadeOut; + uint8_t midiOn, midiChannel; + int16_t midiProgram, midiBend; + int8_t mute; + uint8_t reserved[15]; + sampleHeaderTyp samp[16]; +} +#ifdef __GNUC__ +__attribute__ ((packed)) +#endif +instrHeaderTyp; + +#ifdef _MSC_VER +#pragma pack(pop) +#endif + +typedef struct sampleTyp_t +{ + char name[22+1]; + bool fixed; + int8_t fine, relTon, *pek, *origPek; + uint8_t vol, typ, pan; + int16_t fixedSmp1; +#ifndef LERPMIX + int16_t fixedSmp2; +#endif + int32_t fixedPos, len, repS, repL; +} sampleTyp; + +typedef struct instrTyp_t +{ + bool midiOn, mute; + uint8_t midiChannel, ta[96]; + uint8_t envVPAnt, envPPAnt; + uint8_t envVSust, envVRepS, envVRepE; + uint8_t envPSust, envPRepS, envPRepE; + uint8_t envVTyp, envPTyp; + uint8_t vibTyp, vibSweep, vibDepth, vibRate; + uint16_t fadeOut; + int16_t envVP[12][2], envPP[12][2], midiProgram, midiBend; + int16_t antSamp; // used by loader only + sampleTyp samp[16]; +} instrTyp; + +typedef struct stmTyp_t +{ + bool envSustainActive, stOff, mute; + volatile uint8_t status, tmpStatus; + int8_t relTonNr, fineTune; + uint8_t sampleNr, instrNr, effTyp, eff, smpOffset, tremorSave, tremorPos; + uint8_t globVolSlideSpeed, panningSlideSpeed, waveCtrl, portaDir; + uint8_t glissFunk, vibPos, tremPos, vibSpeed, vibDepth, tremSpeed, tremDepth; + uint8_t pattPos, loopCnt, volSlideSpeed, fVolSlideUpSpeed, fVolSlideDownSpeed; + uint8_t fPortaUpSpeed, fPortaDownSpeed, ePortaUpSpeed, ePortaDownSpeed; + uint8_t portaUpSpeed, portaDownSpeed, retrigSpeed, retrigCnt, retrigVol; + uint8_t volKolVol, tonNr, envPPos, eVibPos, envVPos, realVol, oldVol, outVol; + uint8_t oldPan, outPan, finalPan; + int16_t midiCurChannel, midiCurTone, midiCurVibDepth, midiCurPeriod, midiCurPitch; + int16_t midiBend, midiPortaPeriod, midiPitch, realPeriod, envVIPValue, envPIPValue; + uint16_t finalVol, outPeriod, finalPeriod, tonTyp, wantPeriod, portaSpeed; + uint16_t envVCnt, envVAmp, envPCnt, envPAmp, eVibAmp, eVibSweep; + uint16_t fadeOutAmp, fadeOutSpeed, midiVibDepth; + int32_t smpStartPos; + sampleTyp *smpPtr; + instrTyp *instrSeg; +} stmTyp; + +typedef struct songTyp_t +{ + bool pBreakFlag, posJumpFlag, isModified; + char name[20+1], instrName[1+MAX_INST][22+1]; + uint8_t curReplayerTimer, curReplayerPattPos, curReplayerSongPos, curReplayerPattNr; // used for audio/video sync queue + uint8_t antChn, pattDelTime, pattDelTime2, pBreakPos, songTab[MAX_ORDERS]; + int16_t songPos, pattNr, pattPos, pattLen; + uint16_t len, repS, speed, tempo, globVol, timer, ver, initialTempo; + uint32_t musicTime; +} songTyp; + +typedef struct tonTyp_t +{ + uint8_t ton, instr, vol, effTyp, eff; +} tonTyp; + +typedef struct syncedChannel_t // used for audio/video sync queue +{ + bool envSustainActive; + int8_t fineTune, relTonNr; + uint8_t status, sampleNr, instrNr; + uint16_t finalPeriod, finalVol; + int32_t smpStartPos; + uint32_t voiceDelta; +} syncedChannel_t; + +void fixSongName(void); // removes spaces from right side of song name +void fixSampleName(int16_t nr); // removes spaces from right side of ins/smp names + +void calcReplayRate(int32_t rate); +void resetOldRates(void); +void tuneSample(sampleTyp *s, int32_t midCFreq); +uint32_t getFrequenceValue(int32_t period); +int16_t relocateTon(int16_t period, int8_t relativeNote, stmTyp *ch); + +bool allocateInstr(int16_t nr); +void freeInstr(int16_t nr); +void freeAllInstr(void); +void freeSample(int16_t nr, int16_t nr2); + +void freeAllPatterns(void); +void updateChanNums(void); +bool setupReplayer(void); +void closeReplayer(void); +void resetMusic(void); +void startPlaying(int8_t mode, int16_t row); +void stopPlaying(void); +void stopVoices(void); +void setPos(int16_t songPos, int16_t pattPos, bool resetTimer); +void pauseMusic(void); // stops reading pattern data +void resumeMusic(void); // starts reading pattern data +void setSongModifiedFlag(void); +void removeSongModifiedFlag(void); +void playTone(uint8_t stmm, uint8_t inst, uint8_t ton, int8_t vol, uint16_t midiVibDepth, uint16_t midiPitch); +void playSample(uint8_t stmm, uint8_t inst, uint8_t smpNr, uint8_t ton, uint16_t midiVibDepth, uint16_t midiPitch); +void playRange(uint8_t stmm, uint8_t inst, uint8_t smpNr, uint8_t ton, uint16_t midiVibDepth, uint16_t midiPitch, int32_t offs, int32_t len); +void keyOff(stmTyp *ch); +void conv8BitSample(int8_t *p, int32_t len, bool stereo); +void conv16BitSample(int8_t *p, int32_t len, bool stereo); +void delta2Samp(int8_t *p, int32_t len, uint8_t typ); +void samp2Delta(int8_t *p, int32_t len, uint8_t typ); +void setPatternLen(uint16_t nr, int16_t len); +void setFrqTab(bool linear); +void mainPlayer(void); // periodically called from audio callback +void resetChannels(void); +bool patternEmpty(uint16_t nr); +int16_t getUsedSamples(int16_t nr); +int16_t getRealUsedSamples(int16_t nr); +void setStdEnvelope(instrTyp *ins, int16_t i, uint8_t typ); +void setNoEnvelope(instrTyp *ins); +void setSyncedReplayerVars(void); +void decSongPos(void); +void incSongPos(void); +void decCurIns(void); +void incCurIns(void); +void decCurSmp(void); +void incCurSmp(void); +void pbPlaySong(void); +void pbPlayPtn(void); +void pbRecSng(void); +void pbRecPtn(void); + +// ft2_replayer.c +extern int8_t playMode; +extern bool linearFrqTab, songPlaying, audioPaused, musicPaused; +extern volatile bool replayerBusy; +extern const int16_t *note2Period; +extern int16_t pattLens[MAX_PATTERNS]; +extern stmTyp stm[MAX_VOICES]; +extern songTyp song; +extern instrTyp *instr[132]; +extern tonTyp *patt[MAX_PATTERNS]; diff --git a/src/ft2_sample_ed.c b/src/ft2_sample_ed.c index e02b84a..450bd3d 100644 --- a/src/ft2_sample_ed.c +++ b/src/ft2_sample_ed.c @@ -1,3730 +1,3847 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include -#include -#ifndef _WIN32 -#include // chdir() in UNICHAR_CHDIR() -#endif -#include "ft2_header.h" -#include "ft2_config.h" -#include "ft2_audio.h" -#include "ft2_pattern_ed.h" -#include "ft2_gui.h" -#include "ft2_scopes.h" -#include "ft2_video.h" -#include "ft2_inst_ed.h" -#include "ft2_sample_ed.h" -#include "ft2_sample_saver.h" -#include "ft2_mouse.h" -#include "ft2_diskop.h" -#include "ft2_keyboard.h" - -static const char sharpNote1Char[12] = { 'C', 'C', 'D', 'D', 'E', 'F', 'F', 'G', 'G', 'A', 'A', 'B' }; -static const char sharpNote2Char[12] = { '-', '#', '-', '#', '-', '-', '#', '-', '#', '-', '#', '-' }; -static const char flatNote1Char[12] = { 'C', 'D', 'D', 'E', 'E', 'F', 'G', 'G', 'A', 'A', 'B', 'B' }; -static const char flatNote2Char[12] = { '-', 'b', '-', 'b', '-', '-', 'b', '-', 'b', '-', 'b', '-' }; - -static char smpEd_SysReqText[64]; -static int8_t *smpCopyBuff; -static bool updateLoopsOnMouseUp, writeSampleFlag; -static int32_t smpEd_OldSmpPosLine = -1; -static int32_t smpEd_ViewSize, smpEd_ScrPos, smpCopySize, smpCopyBits; -static int32_t old_Rx1, old_Rx2, old_ViewSize, old_SmpScrPos; -static int32_t lastMouseX, lastMouseY, lastDrawX, lastDrawY, mouseXOffs, curSmpRepS, curSmpRepL; -static double dScrPosScaled, dPos2ScrMul, dScr2SmpPosMul; -static SDL_Thread *thread; - -// globals -int32_t smpEd_Rx1 = 0, smpEd_Rx2 = 0; - -sampleTyp *getCurSample(void) -{ - if (editor.curInstr == 0 || instr[editor.curInstr] == NULL) - return NULL; - - return &instr[editor.curInstr]->samp[editor.curSmp]; -} - -// adds wrapped samples after loop/end (for branchless mixer interpolation) -void fixSample(sampleTyp *s) -{ - uint8_t loopType; - int16_t *ptr16; - int32_t loopStart, loopLen, loopEnd, len; - - assert(s != NULL); - if (s->pek == NULL) - return; // empty sample - - loopType = s->typ & 3; - if (loopType == 0) - { - len = s->len; - - // no loop (don't mess with fixed, fixSpar of fixedPos) - - if (s->typ & 16) - { - if (len < 2) - return; - - len /= 2; - ptr16 = (int16_t *)s->pek; - - // write new values - ptr16[len+0] = 0; -#ifndef LERPMIX - ptr16[len+1] = 0; -#endif - } - else - { - if (len < 1) - return; - - // write new values - s->pek[len+0] = 0; -#ifndef LERPMIX - s->pek[len+1] = 0; -#endif - } - - return; - } - - if (s->fixed) - return; // already fixed - - if (loopType == 1) - { - // forward loop - - if (s->typ & 16) - { - // 16-bit sample - - if (s->repL < 2) - return; - - loopStart = s->repS / 2; - loopEnd = (s->repS + s->repL) / 2; - - ptr16 = (int16_t *)s->pek; - - // store old values and old fix position - s->fixedSmp1 = ptr16[loopEnd]; - s->fixedPos = s->repS + s->repL; -#ifndef LERPMIX - s->fixedSmp2 = ptr16[loopEnd+1]; -#endif - // write new values - ptr16[loopEnd+0] = ptr16[loopStart+0]; -#ifndef LERPMIX - ptr16[loopEnd+1] = ptr16[loopStart+1]; -#endif - } - else - { - // 8-bit sample - - if (s->repL < 1) - return; - - loopStart = s->repS; - loopEnd = s->repS + s->repL; - - // store old values and old fix position - s->fixedSmp1 = s->pek[loopEnd]; - s->fixedPos = loopEnd; -#ifndef LERPMIX - s->fixedSmp2 = s->pek[loopEnd+1]; -#endif - // write new values - s->pek[loopEnd+0] = s->pek[loopStart+0]; -#ifndef LERPMIX - s->pek[loopEnd+1] = s->pek[loopStart+1]; -#endif - } - } - else - { - // pingpong loop - - if (s->typ & 16) - { - // 16-bit sample - - if (s->repL < 2) - return; - - loopStart = s->repS / 2; - loopLen = s->repL/ 2; - - loopEnd = loopStart + loopLen; - ptr16 = (int16_t *)s->pek; - - // store old values and old fix position - s->fixedSmp1 = ptr16[loopEnd]; - s->fixedPos = s->repS + s->repL; -#ifndef LERPMIX - s->fixedSmp2 = ptr16[loopEnd+1]; -#endif - // write new values - ptr16[loopEnd+0] = ptr16[loopEnd-1]; -#ifndef LERPMIX - if (loopLen >= 2) - ptr16[loopEnd+1] = ptr16[loopEnd-2]; - else - ptr16[loopEnd+1] = ptr16[loopStart]; -#endif - } - else - { - // 8-bit sample - - if (s->repL < 1) - return; - - loopStart = s->repS; - loopLen = s->repL; - - loopEnd = loopStart + loopLen; - - // store old values and old fix position - s->fixedSmp1 = s->pek[loopEnd]; - s->fixedPos = loopEnd; -#ifndef LERPMIX - s->fixedSmp2 = s->pek[loopEnd+1]; -#endif - // write new values - s->pek[loopEnd+0] = s->pek[loopEnd-1]; -#ifndef LERPMIX - if (loopLen >= 2) - s->pek[loopEnd+1] = s->pek[loopEnd-2]; - else - s->pek[loopEnd+1] = s->pek[loopStart]; -#endif - } - } - - s->fixed = true; -} - -// reverts wrapped samples after loop/end (for branchless mixer interpolation) -void restoreSample(sampleTyp *s) -{ - int16_t *ptr16; - - assert(s != NULL); - if (s->pek == NULL || s->len == 0 || (s->typ & 3) == 0 || !s->fixed) - return; // empty sample, no loop or not fixed - - s->fixed = false; - - if (s->typ & 16) - { - // 16-bit sample - - ptr16 = (int16_t *)s->pek; - ptr16[s->fixedPos / 2] = s->fixedSmp1; -#ifndef LERPMIX - ptr16[(s->fixedPos + 2) / 2] = s->fixedSmp2; -#endif - } - else - { - // 8-bit sample - - s->pek[s->fixedPos] = (int8_t)s->fixedSmp1; -#ifndef LERPMIX - s->pek[s->fixedPos+1] = (int8_t)s->fixedSmp2; -#endif - } -} - -int16_t getSampleValueNr(int8_t *ptr, uint8_t typ, int32_t pos) -{ - assert(pos >= 0); - if (ptr == NULL) - return 0; - - if (typ & 16) - { - assert(!(pos & 1)); - return *(int16_t *)&ptr[pos]; - } - else - { - return ptr[pos]; - } -} - -void putSampleValueNr(int8_t *ptr, uint8_t typ, int32_t pos, int16_t val) -{ - assert(pos >= 0); - if (ptr == NULL) - return; - - if (typ & 16) - { - assert(!(pos & 1)); - *(int16_t *)&ptr[pos] = val; - } - else - { - ptr[pos] = (int8_t)val; - } -} - -void clearCopyBuffer(void) -{ - if (smpCopyBuff != NULL) - { - free(smpCopyBuff); - smpCopyBuff = NULL; - } - - smpCopySize = 0; - smpCopyBits = 8; -} - -uint32_t getSampleMiddleCRate(sampleTyp *s) -{ - double dFTune; - - // replayer is shifting the finetune to the right by 3 - dFTune = (s->fine >> 3) / (128.0 / (double)(1 << 3)); - - return (uint32_t)round(8363.0 * pow(2.0, (s->relTon + dFTune) / 12.0)); -} - -int32_t getSampleRangeStart(void) -{ - return smpEd_Rx1; -} - -int32_t getSampleRangeEnd(void) -{ - return smpEd_Rx2; -} - -int32_t getSampleRangeLength(void) -{ - return smpEd_Rx2 - smpEd_Rx1; -} - -// for smpPos2Scr() / scr2SmpPos() -static void updateViewSize(void) -{ - if (smpEd_ViewSize == 0) - dPos2ScrMul = 1.0; - else - dPos2ScrMul = (double)SAMPLE_AREA_WIDTH / smpEd_ViewSize; - - dScr2SmpPosMul = smpEd_ViewSize / (double)SAMPLE_AREA_WIDTH; -} - -static void updateScrPos(void) -{ - dScrPosScaled = trunc(smpEd_ScrPos * dPos2ScrMul); -} - -// sample pos -> screen x pos (if outside of visible area, will return <0 or >=SCREEN_W) -static int32_t smpPos2Scr(int32_t pos) -{ - double dPos; - sampleTyp *s; - - if (smpEd_ViewSize <= 0) - return -1; - - s = getCurSample(); - if (s == NULL) - return -1; - - if (pos > s->len) - pos = s->len; - - dPos = round(pos * dPos2ScrMul) - dScrPosScaled; // rounding is needed here - - // this is important, or else the result can mess up in some cases - dPos = CLAMP(dPos, INT32_MIN, INT32_MAX); - pos = (int32_t)dPos; - - return pos; -} - -// screen x pos -> sample pos -static int32_t scr2SmpPos(int32_t x) -{ - double dPos; - sampleTyp *s; - - if (smpEd_ViewSize <= 0) - return 0; - - s = getCurSample(); - if (s == NULL) - return 0; - - if (x < 0) - x = 0; - - dPos = (dScrPosScaled + x) * dScr2SmpPosMul; - x = (int32_t)dPos; - - if (x > s->len) - x = s->len; - - if (s->typ & 16) - x &= 0xFFFFFFFE; - - return x; -} - -static void fixRepeatGadgets(void) -{ - int32_t repS, repE; - sampleTyp *s; - - s = getCurSample(); - if (s == NULL || s->len <= 0 || s->pek == NULL || (s->typ & 3) == 0) - { - hideSprite(SPRITE_LEFT_LOOP_PIN); - hideSprite(SPRITE_RIGHT_LOOP_PIN); - - if (editor.ui.sampleEditorShown) - { - hexOutBg(536, 375, PAL_FORGRND, PAL_DESKTOP, 0, 8); - hexOutBg(536, 387, PAL_FORGRND, PAL_DESKTOP, 0, 8); - } - return; - } - - // draw sample loop points - - repS = smpPos2Scr(curSmpRepS); - repE = smpPos2Scr(curSmpRepS+curSmpRepL); - - // do -8 test because part of the loop sprite sticks out on the left/right - - if (repS >= -8 && repS <= SAMPLE_AREA_WIDTH+8) - setSpritePos(SPRITE_LEFT_LOOP_PIN, (int16_t)(repS - 8), 174); - else - hideSprite(SPRITE_LEFT_LOOP_PIN); - - if (repE >= -8) - { - if (repE <= SAMPLE_AREA_WIDTH+8) - setSpritePos(SPRITE_RIGHT_LOOP_PIN, (int16_t)(repE - 8), 174); - else - hideSprite(SPRITE_RIGHT_LOOP_PIN); - } - else - { - hideSprite(SPRITE_RIGHT_LOOP_PIN); - } - - if (editor.ui.sampleEditorShown) - { - hexOutBg(536, 375, PAL_FORGRND, PAL_DESKTOP, curSmpRepS, 8); - hexOutBg(536, 387, PAL_FORGRND, PAL_DESKTOP, curSmpRepL, 8); - } -} - -static void fixSampleDrag(void) -{ - sampleTyp *s = getCurSample(); - if (s == NULL) - { - setScrollBarPageLength(SB_SAMP_SCROLL, 0); - setScrollBarEnd(SB_SAMP_SCROLL, 0); - setScrollBarPos(SB_SAMP_SCROLL, 0, false); - return; - } - - setScrollBarPageLength(SB_SAMP_SCROLL, smpEd_ViewSize); - setScrollBarEnd(SB_SAMP_SCROLL, instr[editor.curInstr]->samp[editor.curSmp].len); - setScrollBarPos(SB_SAMP_SCROLL, smpEd_ScrPos, false); -} - -static bool getCopyBuffer(int32_t size) -{ - if (smpCopyBuff != NULL) - free(smpCopyBuff); - - if (size > MAX_SAMPLE_LEN) - size = MAX_SAMPLE_LEN; - - smpCopyBuff = (int8_t *)malloc(size); - if (smpCopyBuff == NULL) - { - smpCopySize = 0; - return false; - } - - smpCopySize = size; - return true; -} - -static int32_t SDLCALL copySampleThread(void *ptr) -{ - bool error; - int8_t *p; - int16_t destIns, destSmp, sourceIns, sourceSmp; - - (void)ptr; - - error = false; - - destIns = editor.curInstr; - destSmp = editor.curSmp; - sourceIns = editor.srcInstr; - sourceSmp = editor.srcSmp; - - pauseAudio(); - - if (instr[destIns] == NULL) - error = !allocateInstr(destIns); - - if (!error) - { - freeSample(destIns, destSmp); - if (instr[sourceIns] != NULL && instr[sourceIns]->samp[sourceSmp].pek != NULL) - { - p = (int8_t *)malloc(instr[sourceIns]->samp[sourceSmp].len + LOOP_FIX_LEN); - if (p != NULL) - { - memcpy(&instr[destIns]->samp[destSmp], &instr[sourceIns]->samp[sourceSmp], sizeof (sampleTyp)); - memcpy(p, instr[sourceIns]->samp[sourceSmp].pek, instr[sourceIns]->samp[sourceSmp].len + LOOP_FIX_LEN); - instr[destIns]->samp[destSmp].pek = p; - } - else error = true; - } - } - - resumeAudio(); - - if (error) - okBoxThreadSafe(0, "System message", "Not enough memory!"); - - editor.updateCurSmp = true; - setSongModifiedFlag(); - setMouseBusy(false); - - return true; -} - -void copySmp(void) // copy sample from srcInstr->srcSmp to curInstr->curSmp -{ - if (editor.curInstr == 0 || (editor.curInstr == editor.srcInstr && editor.curSmp == editor.srcSmp)) - return; - - mouseAnimOn(); - thread = SDL_CreateThread(copySampleThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -void xchgSmp(void) // dstSmp <-> srcSmp -{ - sampleTyp *src, *dst, dstTmp; - - if (editor.curInstr == 0 || - (editor.curInstr == editor.srcInstr && editor.curSmp == editor.srcSmp) || - instr[editor.curInstr] == NULL) - { - return; - } - - src = &instr[editor.curInstr]->samp[editor.srcSmp]; - dst = &instr[editor.curInstr]->samp[editor.curSmp]; - - lockMixerCallback(); - dstTmp = *dst; - *dst = *src; - *src = dstTmp; - unlockMixerCallback(); - - updateNewSample(); - setSongModifiedFlag(); -} - -static void writeRange(void) -{ - int32_t start, end, rangeLen; - uint32_t *ptr32; - - // very first sample (rx1=0,rx2=0) is the "no range" special case - if (!editor.ui.sampleEditorShown || smpEd_ViewSize == 0 || (smpEd_Rx1 == 0 && smpEd_Rx2 == 0)) - return; - - // test if range is outside of view (passed it by scrolling) - start = smpPos2Scr(smpEd_Rx1); - if (start >= SAMPLE_AREA_WIDTH) - return; - - // test if range is outside of view (passed it by scrolling) - end = smpPos2Scr(smpEd_Rx2); - if (end < 0) - return; - - start = CLAMP(start, 0, SAMPLE_AREA_WIDTH - 1); - end = CLAMP(end, 0, SAMPLE_AREA_WIDTH - 1); - rangeLen = (end + 1) - start; - - assert(start+rangeLen <= SCREEN_W); - - ptr32 = &video.frameBuffer[(174 * SCREEN_W) + start]; - for (int32_t y = 0; y < SAMPLE_AREA_HEIGHT; y++) - { - for (int32_t x = 0; x < rangeLen; x++) - ptr32[x] = video.palette[(ptr32[x] >> 24) ^ 2]; // ">> 24" to get palette, XOR 2 to switch between mark/normal palette - - ptr32 += SCREEN_W; - } -} - -static int8_t getScaledSample(sampleTyp *s, int32_t index) -{ - int8_t *ptr8, sample; - int16_t *ptr16; - int32_t tmp32; - - if (s->pek == NULL || index < 0 || index >= s->len) - return 0; // return center value if overflown (e.g. sample is shorter than screen width) - - if (s->typ & 16) - { - ptr16 = (int16_t *)s->pek; - - assert(!(index & 1)); - - // restore fixed mixer interpolation sample(s) - if (s->fixed) - { - if (index == s->fixedPos) - tmp32 = s->fixedSmp1; -#ifndef LERPMIX - else if (index == s->fixedPos+2) - tmp32 = s->fixedSmp2; -#endif - else - tmp32 = ptr16[index >> 1]; - } - else - { - tmp32 = ptr16[index >> 1]; - } - - sample = (int8_t)((tmp32 * SAMPLE_AREA_HEIGHT) >> 16); - } - else - { - ptr8 = s->pek; - - // restore fixed mixer interpolation sample(s) - if (s->fixed) - { - if (index == s->fixedPos) - tmp32 = s->fixedSmp1; -#ifndef LERPMIX - else if (index == s->fixedPos+1) - tmp32 = s->fixedSmp2; -#endif - else - tmp32 = ptr8[index]; - } - else - { - tmp32 = ptr8[index]; - } - - sample = (int8_t)((tmp32 * SAMPLE_AREA_HEIGHT) >> 8); - } - - return sample; -} - -static void sampleLine(int16_t x1, int16_t x2, int16_t y1, int16_t y2) -{ - int16_t d, x, y, sx, sy, dx, dy; - uint16_t ax, ay; - int32_t pitch; - uint32_t pal1, pal2, pixVal, *dst32; - - // get coefficients - dx = x2 - x1; - ax = ABS(dx) * 2; - sx = SGN(dx); - dy = y2 - y1; - ay = ABS(dy) * 2; - sy = SGN(dy); - x = x1; - y = y1; - - pal1 = video.palette[PAL_DESKTOP]; - pal2 = video.palette[PAL_FORGRND]; - pixVal = video.palette[PAL_PATTEXT]; - pitch = sy * SCREEN_W; - - dst32 = &video.frameBuffer[(y * SCREEN_W) + x]; - - // draw line - if (ax > ay) - { - d = ay - (ax / 2); - - while (true) - { - // invert certain colors - if (*dst32 != pal2) - { - if (*dst32 == pal1) - *dst32 = pal2; - else - *dst32 = pixVal; - } - - if (x == x2) - break; - - if (d >= 0) - { - d -= ax; - dst32 += pitch; - } - - x += sx; - d += ay; - dst32 += sx; - } - } - else - { - d = ax - (ay / 2); - - while (true) - { - // invert certain colors - if (*dst32 != pal2) - { - if (*dst32 == pal1) - *dst32 = pal2; - else - *dst32 = pixVal; - } - - if (y == y2) - break; - - if (d >= 0) - { - d -= ay; - dst32 += sx; - } - - y += sy; - d += ax; - dst32 += pitch; - } - } -} - -static void getMinMax16(const void *p, uint32_t scanLen, int16_t *min16, int16_t *max16) -{ -#if defined __APPLE__ || defined _WIN32 || defined __amd64__ || (defined __i386__ && defined __SSE2__) - if (cpu.hasSSE2) - { - /* Taken with permission from the OpenMPT project (and slightly modified). - ** - ** SSE2 implementation for min/max finder, packs 8*int16 in a 128-bit XMM register. - ** scanLen = How many samples to process - */ - const int16_t *p16; - uint32_t scanLen8; - const __m128i *v; - __m128i minVal, maxVal, minVal2, maxVal2, curVals; - - // Put minimum / maximum in 8 packed int16 values - minVal = _mm_set1_epi16(32767); - maxVal = _mm_set1_epi16(-32768); - - scanLen8 = scanLen / 8; - if (scanLen8 > 0) - { - v = (__m128i *)p; - p = (const __m128i *)p + scanLen8; - - while (scanLen8--) - { - curVals = _mm_loadu_si128(v++); - minVal = _mm_min_epi16(minVal, curVals); - maxVal = _mm_max_epi16(maxVal, curVals); - } - - /* Now we have 8 minima and maxima each. - ** Move the upper 4 values to the lower half and compute the minima/maxima of that. */ - minVal2 = _mm_unpackhi_epi64(minVal, minVal); - maxVal2 = _mm_unpackhi_epi64(maxVal, maxVal); - minVal = _mm_min_epi16(minVal, minVal2); - maxVal = _mm_max_epi16(maxVal, maxVal2); - - /* Now we have 4 minima and maxima each. - ** Move the upper 2 values to the lower half and compute the minima/maxima of that. */ - minVal2 = _mm_shuffle_epi32(minVal, _MM_SHUFFLE(1, 1, 1, 1)); - maxVal2 = _mm_shuffle_epi32(maxVal, _MM_SHUFFLE(1, 1, 1, 1)); - minVal = _mm_min_epi16(minVal, minVal2); - maxVal = _mm_max_epi16(maxVal, maxVal2); - - // Compute the minima/maxima of the both remaining values - minVal2 = _mm_shufflelo_epi16(minVal, _MM_SHUFFLE(1, 1, 1, 1)); - maxVal2 = _mm_shufflelo_epi16(maxVal, _MM_SHUFFLE(1, 1, 1, 1)); - minVal = _mm_min_epi16(minVal, minVal2); - maxVal = _mm_max_epi16(maxVal, maxVal2); - } - - p16 = (const int16_t *)p; - while (scanLen-- & 7) - { - curVals = _mm_set1_epi16(*p16++); - minVal = _mm_min_epi16(minVal, curVals); - maxVal = _mm_max_epi16(maxVal, curVals); - } - - *min16 = (int16_t)_mm_cvtsi128_si32(minVal); - *max16 = (int16_t)_mm_cvtsi128_si32(maxVal); - } - else -#endif - { - // non-SSE version (really slow for big samples, especially when scrolling!) - int16_t smp16, minVal, maxVal, *ptr16; - - minVal = 32767; - maxVal = -32768; - - ptr16 = (int16_t *)p; - for (uint32_t i = 0; i < scanLen; i++) - { - smp16 = ptr16[i]; - if (smp16 < minVal) minVal = smp16; - if (smp16 > maxVal) maxVal = smp16; - } - - *min16 = minVal; - *max16 = maxVal; - } -} - -static void getMinMax8(const void *p, uint32_t scanLen, int8_t *min8, int8_t *max8) -{ -#if defined __APPLE__ || defined _WIN32 || defined __amd64__ || (defined __i386__ && defined __SSE2__) - if (cpu.hasSSE2) - { - /* Taken with permission from the OpenMPT project (and slightly modified). - ** - ** SSE2 implementation for min/max finder, packs 16*int8 in a 128-bit XMM register. - ** scanLen = How many samples to process - */ - const int8_t *p8; - uint32_t scanLen16; - const __m128i *v; - __m128i xorVal, minVal, maxVal, minVal2, maxVal2, curVals; - - // Put minimum / maximum in 8 packed int16 values (-1 and 0 because unsigned) - minVal = _mm_set1_epi8(-1); - maxVal = _mm_set1_epi8(0); - - // For signed <-> unsigned conversion (_mm_min_epi8/_mm_max_epi8 is SSE4) - xorVal = _mm_set1_epi8(0x80); - - scanLen16 = scanLen / 16; - if (scanLen16 > 0) - { - v = (__m128i *)p; - p = (const __m128i *)p + scanLen16; - - while (scanLen16--) - { - curVals = _mm_loadu_si128(v++); - curVals = _mm_xor_si128(curVals, xorVal); - minVal = _mm_min_epu8(minVal, curVals); - maxVal = _mm_max_epu8(maxVal, curVals); - } - - /* Now we have 16 minima and maxima each. - ** Move the upper 8 values to the lower half and compute the minima/maxima of that. */ - minVal2 = _mm_unpackhi_epi64(minVal, minVal); - maxVal2 = _mm_unpackhi_epi64(maxVal, maxVal); - minVal = _mm_min_epu8(minVal, minVal2); - maxVal = _mm_max_epu8(maxVal, maxVal2); - - /* Now we have 8 minima and maxima each. - ** Move the upper 4 values to the lower half and compute the minima/maxima of that. */ - minVal2 = _mm_shuffle_epi32(minVal, _MM_SHUFFLE(1, 1, 1, 1)); - maxVal2 = _mm_shuffle_epi32(maxVal, _MM_SHUFFLE(1, 1, 1, 1)); - minVal = _mm_min_epu8(minVal, minVal2); - maxVal = _mm_max_epu8(maxVal, maxVal2); - - /* Now we have 4 minima and maxima each. - ** Move the upper 2 values to the lower half and compute the minima/maxima of that. */ - minVal2 = _mm_srai_epi32(minVal, 16); - maxVal2 = _mm_srai_epi32(maxVal, 16); - minVal = _mm_min_epu8(minVal, minVal2); - maxVal = _mm_max_epu8(maxVal, maxVal2); - - // Compute the minima/maxima of the both remaining values - minVal2 = _mm_srai_epi16(minVal, 8); - maxVal2 = _mm_srai_epi16(maxVal, 8); - minVal = _mm_min_epu8(minVal, minVal2); - maxVal = _mm_max_epu8(maxVal, maxVal2); - } - - p8 = (const int8_t *)p; - while (scanLen-- & 15) - { - curVals = _mm_set1_epi8(*p8++ ^ 0x80); - minVal = _mm_min_epu8(minVal, curVals); - maxVal = _mm_max_epu8(maxVal, curVals); - } - - *min8 = (int8_t)(_mm_cvtsi128_si32(minVal) ^ 0x80); - *max8 = (int8_t)(_mm_cvtsi128_si32(maxVal) ^ 0x80); - } - else -#endif - { - // non-SSE version (really slow for big samples, especially when scrolling!) - int8_t smp8, minVal, maxVal, *ptr8; - - minVal = 127; - maxVal = -128; - - ptr8 = (int8_t *)p; - for (uint32_t i = 0; i < scanLen; i++) - { - smp8 = ptr8[i]; - if (smp8 < minVal) minVal = smp8; - if (smp8 > maxVal) maxVal = smp8; - } - - *min8 = minVal; - *max8 = maxVal; - } -} - -static void getSampleDataPeak(sampleTyp *s, int32_t index, int32_t numBytes, int16_t *outMin, int16_t *outMax) -{ - int8_t min8, max8; - int16_t min16, max16; - - if (numBytes == 0 || s->pek == NULL || s->len <= 0) - { - *outMin = SAMPLE_AREA_Y_CENTER; - *outMax = SAMPLE_AREA_Y_CENTER; - return; - } - - if (s->typ & 16) - { - // 16-bit sample - - assert(!(index & 1)); - - getMinMax16((int16_t *)&s->pek[index], numBytes >> 1, &min16, &max16); - - *outMin = SAMPLE_AREA_Y_CENTER - ((min16 * SAMPLE_AREA_HEIGHT) >> 16); - *outMax = SAMPLE_AREA_Y_CENTER - ((max16 * SAMPLE_AREA_HEIGHT) >> 16); - } - else - { - // 8-bit sample - - getMinMax8(&s->pek[index], numBytes, &min8, &max8); - - *outMin = SAMPLE_AREA_Y_CENTER - ((min8 * SAMPLE_AREA_HEIGHT) >> 8); - *outMax = SAMPLE_AREA_Y_CENTER - ((max8 * SAMPLE_AREA_HEIGHT) >> 8); - } -} - -static void writeWaveform(void) -{ - int16_t x, y1, y2, min, max, oldMin, oldMax; - int32_t smpIdx, smpNum, smpNumMin; - uint32_t viewSizeSamples; - sampleTyp *s; - - // clear sample data area - memset(&video.frameBuffer[174 * SCREEN_W], 0, SAMPLE_AREA_WIDTH * SAMPLE_AREA_HEIGHT * sizeof (int32_t)); - - // draw center line - hLine(0, SAMPLE_AREA_Y_CENTER, SAMPLE_AREA_WIDTH, PAL_DESKTOP); - - if (instr[editor.curInstr] == NULL || smpEd_ViewSize == 0) - return; - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - if (s->pek == NULL || s->len == 0) - return; - - y1 = SAMPLE_AREA_Y_CENTER - getScaledSample(s, scr2SmpPos(0)); - - viewSizeSamples = smpEd_ViewSize; - if (s->typ & 16) - viewSizeSamples /= 2; - - if (viewSizeSamples <= SAMPLE_AREA_WIDTH) - { - // 1:1 or zoomed in - for (x = 1; x < SAMPLE_AREA_WIDTH; x++) - { - y2 = SAMPLE_AREA_Y_CENTER - getScaledSample(s, scr2SmpPos(x)); - sampleLine(x - 1, x, y1, y2); - y1 = y2; - } - } - else - { - // zoomed out - - oldMin = y1; - oldMax = y1; - - smpNumMin = (s->typ & 16) ? 2 : 1; - for (x = 0; x < SAMPLE_AREA_WIDTH; x++) - { - smpIdx = scr2SmpPos(x); - smpNum = scr2SmpPos(x+1) - smpIdx; - - // prevent look-up overflow (yes, this can happen near the end of the sample) - if (smpIdx+smpNum > s->len) - smpNum = s->len - smpNum; - - if (smpNum < smpNumMin) - smpNum = smpNumMin; - - getSampleDataPeak(s, smpIdx, smpNum, &min, &max); - - if (x != 0) - { - if (min > oldMax) sampleLine(x - 1, x, oldMax, min); - if (max < oldMin) sampleLine(x - 1, x, oldMin, max); - } - - sampleLine(x, x, max, min); - - oldMin = min; - oldMax = max; - } - } -} - -void writeSample(bool forceSmpRedraw) -{ - int32_t tmpRx1, tmpRx2; - sampleTyp *s; - - // update sample loop points for visuals - - if (instr[editor.curInstr] == NULL) - s = &instr[0]->samp[0]; - else - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - curSmpRepS = s->repS; - curSmpRepL = s->repL; - - // exchange range variables if x1 is after x2 - if (smpEd_Rx1 > smpEd_Rx2) - { - tmpRx2 = smpEd_Rx2; - smpEd_Rx2 = smpEd_Rx1; - smpEd_Rx1 = tmpRx2; - } - - // clamp range - smpEd_Rx1 = CLAMP(smpEd_Rx1, 0, s->len); - smpEd_Rx2 = CLAMP(smpEd_Rx2, 0, s->len); - - // sanitize sample scroll position - if (smpEd_ScrPos+smpEd_ViewSize > s->len) - { - smpEd_ScrPos = s->len - smpEd_ViewSize; - updateScrPos(); - } - - if (smpEd_ScrPos < 0) - { - smpEd_ScrPos = 0; - updateScrPos(); - - if (smpEd_ViewSize > s->len) - { - smpEd_ViewSize = s->len; - updateViewSize(); - } - } - - // handle updating - if (editor.ui.sampleEditorShown) - { - // check if we need to redraw sample data - if (forceSmpRedraw || (old_SmpScrPos != smpEd_ScrPos || old_ViewSize != smpEd_ViewSize)) - { - if (editor.ui.sampleEditorShown) - writeWaveform(); - - old_SmpScrPos = smpEd_ScrPos; - old_ViewSize = smpEd_ViewSize; - - if (editor.ui.sampleEditorShown) - writeRange(); // range was overwritten, draw it again - - smpEd_OldSmpPosLine = -1; - - old_Rx1 = smpEd_Rx1; - old_Rx2 = smpEd_Rx2; - } - - // check if we need to write new range - if (old_Rx1 != smpEd_Rx1 || old_Rx2 != smpEd_Rx2) - { - tmpRx1 = smpEd_Rx1; - tmpRx2 = smpEd_Rx2; - - // remove old range - smpEd_Rx1 = old_Rx1; - smpEd_Rx2 = old_Rx2; - - if (editor.ui.sampleEditorShown) - writeRange(); - - // write new range - smpEd_Rx1 = tmpRx1; - smpEd_Rx2 = tmpRx2; - - if (editor.ui.sampleEditorShown) - writeRange(); - - old_Rx1 = smpEd_Rx1; - old_Rx2 = smpEd_Rx2; - } - - fixRepeatGadgets(); - } - - if (editor.ui.sampleEditorShown) - fixSampleDrag(); - - updateSampleEditor(); -} - -static void setSampleRange(int32_t start, int32_t end) -{ - sampleTyp *s; - - if (instr[editor.curInstr] == NULL) - { - smpEd_Rx1 = 0; - smpEd_Rx2 = 0; - return; - } - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - if (start < 0) - start = 0; - - if (end < 0) - end = 0; - - // kludge so that you can mark the last sample of what we see - // XXX: This doesn't seem to work properly! - if (end == SCREEN_W-1) - { - if (smpEd_ViewSize < SAMPLE_AREA_WIDTH) // zoomed in - end += 2; - else if (smpEd_ScrPos+smpEd_ViewSize >= s->len) - end++; - } - - smpEd_Rx1 = scr2SmpPos(start); - smpEd_Rx2 = scr2SmpPos(end); - - // 2-byte align if sample is 16-bit - if (s->typ & 16) - { - smpEd_Rx1 &= 0xFFFFFFFE; - smpEd_Rx2 &= 0xFFFFFFFE; - } -} - -void updateSampleEditorSample(void) -{ - smpEd_Rx1 = 0; - smpEd_Rx2 = 0; - - smpEd_ScrPos = 0; - updateScrPos(); - - if (instr[editor.curInstr] == NULL) - smpEd_ViewSize = 0; - else - smpEd_ViewSize = instr[editor.curInstr]->samp[editor.curSmp].len; - - updateViewSize(); - - writeSample(true); -} - -void updateSampleEditor(void) -{ - char noteChar1, noteChar2, octaChar; - uint8_t note, typ; - int32_t sampleLen; - - if (!editor.ui.sampleEditorShown) - return; - - if (instr[editor.curInstr] == NULL) - { - typ = 0; - sampleLen = 0; - } - else - { - typ = instr[editor.curInstr]->samp[editor.curSmp].typ; - sampleLen = instr[editor.curInstr]->samp[editor.curSmp].len; - } - - // sample bit depth radio buttons - uncheckRadioButtonGroup(RB_GROUP_SAMPLE_DEPTH); - if (typ & 16) - radioButtons[RB_SAMPLE_16BIT].state = RADIOBUTTON_CHECKED; - else - radioButtons[RB_SAMPLE_8BIT].state = RADIOBUTTON_CHECKED; - showRadioButtonGroup(RB_GROUP_SAMPLE_DEPTH); - - // sample loop radio buttons - uncheckRadioButtonGroup(RB_GROUP_SAMPLE_LOOP); - if (typ & 3) - { - if (typ & 2) - radioButtons[RB_SAMPLE_PINGPONG_LOOP].state = RADIOBUTTON_CHECKED; - else - radioButtons[RB_SAMPLE_FORWARD_LOOP].state = RADIOBUTTON_CHECKED; - } - else - { - radioButtons[RB_SAMPLE_NO_LOOP].state = RADIOBUTTON_CHECKED; - } - showRadioButtonGroup(RB_GROUP_SAMPLE_LOOP); - - // draw sample play note - - note = (editor.smpEd_NoteNr - 1) % 12; - if (config.ptnAcc == 0) - { - noteChar1 = sharpNote1Char[note]; - noteChar2 = sharpNote2Char[note]; - } - else - { - noteChar1 = flatNote1Char[note]; - noteChar2 = flatNote2Char[note]; - } - - octaChar = '0' + ((editor.smpEd_NoteNr - 1) / 12); - - charOutBg(7, 369, PAL_FORGRND, PAL_BCKGRND, noteChar1); - charOutBg(15, 369, PAL_FORGRND, PAL_BCKGRND, noteChar2); - charOutBg(23, 369, PAL_FORGRND, PAL_BCKGRND, octaChar); - - // draw sample display/length - - hexOutBg(536, 350, PAL_FORGRND, PAL_DESKTOP, smpEd_ViewSize, 8); - hexOutBg(536, 362, PAL_FORGRND, PAL_DESKTOP, sampleLen, 8); -} - -void sampPlayNoteUp(void) -{ - if (editor.smpEd_NoteNr < 96) - { - editor.smpEd_NoteNr++; - updateSampleEditor(); - } -} - -void sampPlayNoteDown(void) -{ - if (editor.smpEd_NoteNr > 1) - { - editor.smpEd_NoteNr--; - updateSampleEditor(); - } -} - -void scrollSampleDataLeft(void) -{ - int32_t scrollAmount, sampleLen; - - if (instr[editor.curInstr] == NULL) - sampleLen = 0; - else - sampleLen = instr[editor.curInstr]->samp[editor.curSmp].len; - - if (smpEd_ViewSize == 0 || smpEd_ViewSize == sampleLen) - return; - - if (mouse.rightButtonPressed) - { - scrollAmount = smpEd_ViewSize / 14; // rounded from 16 (70Hz) - if (scrollAmount < 1) - scrollAmount = 1; - } - else - { - scrollAmount = smpEd_ViewSize / 27; // rounded from 32 (70Hz) - if (scrollAmount < 1) - scrollAmount = 1; - } - - smpEd_ScrPos -= scrollAmount; - if (smpEd_ScrPos < 0) - smpEd_ScrPos = 0; - - updateScrPos(); -} - -void scrollSampleDataRight(void) -{ - int32_t scrollAmount, sampleLen; - - if (instr[editor.curInstr] == NULL) - sampleLen = 0; - else - sampleLen = instr[editor.curInstr]->samp[editor.curSmp].len; - - if (smpEd_ViewSize == 0 || smpEd_ViewSize == sampleLen) - return; - - if (mouse.rightButtonPressed) - { - scrollAmount = smpEd_ViewSize / 14; // was 16 (70Hz->60Hz) - if (scrollAmount < 1) - scrollAmount = 1; - } - else - { - scrollAmount = smpEd_ViewSize / 27; // was 32 (70Hz->60Hz) - if (scrollAmount < 1) - scrollAmount = 1; - } - - smpEd_ScrPos += scrollAmount; - if (smpEd_ScrPos+smpEd_ViewSize > sampleLen) - smpEd_ScrPos = sampleLen - smpEd_ViewSize; - - updateScrPos(); -} - -void scrollSampleData(uint32_t pos) -{ - int32_t sampleLen; - - if (instr[editor.curInstr] == NULL) - sampleLen = 0; - else - sampleLen = instr[editor.curInstr]->samp[editor.curSmp].len; - - if (smpEd_ViewSize == 0 || smpEd_ViewSize == sampleLen) - return; - - smpEd_ScrPos = (int32_t)pos; - updateScrPos(); -} - -void sampPlayWave(void) -{ - playSample(editor.cursor.ch, editor.curInstr, editor.curSmp, editor.smpEd_NoteNr, 0, 0); -} - -void sampPlayDisplay(void) -{ - playRange(editor.cursor.ch, editor.curInstr, editor.curSmp, editor.smpEd_NoteNr, 0, 0, smpEd_ScrPos, smpEd_ViewSize); -} - -void sampPlayRange(void) -{ - playRange(editor.cursor.ch, editor.curInstr, editor.curSmp, editor.smpEd_NoteNr, 0, 0, smpEd_Rx1, smpEd_Rx2 - smpEd_Rx1); -} - -void showRange(void) -{ - sampleTyp *s; - - if (editor.curInstr == 0 || instr[editor.curInstr] == NULL) - return; - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - if (s->pek == NULL) - return; - - if (smpEd_Rx1 < smpEd_Rx2) - { - smpEd_ViewSize = smpEd_Rx2 - smpEd_Rx1; - - if (s->typ & 16) - { - if (smpEd_ViewSize < 4) - smpEd_ViewSize = 4; - } - else if (smpEd_ViewSize < 2) - { - smpEd_ViewSize = 2; - } - - updateViewSize(); - - smpEd_ScrPos = smpEd_Rx1; - updateScrPos(); - } - else - { - okBox(0, "System message", "Cannot show empty range!"); - } -} - -void rangeAll(void) -{ - if (editor.curInstr == 0 || - instr[editor.curInstr] == NULL || - instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) - { - return; - } - - smpEd_Rx1 = smpEd_ScrPos; - smpEd_Rx2 = smpEd_ScrPos + smpEd_ViewSize; -} - -static void zoomSampleDataIn(int32_t step, int16_t x) -{ - int32_t tmp32, minViewSize; - int64_t newScrPos64; - sampleTyp *s; - - if (editor.curInstr == 0 || - instr[editor.curInstr] == NULL || - instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) - { - return; - } - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - minViewSize = (s->typ & 16) ? 4 : 2; - if (old_ViewSize <= minViewSize) - return; - - if (step < 1) - step = 1; - - smpEd_ViewSize = old_ViewSize - (step * 2); - if (smpEd_ViewSize < minViewSize) - smpEd_ViewSize = minViewSize; - - updateViewSize(); - - tmp32 = (x - (SAMPLE_AREA_WIDTH / 2)) * step; - step += (int32_t)round(tmp32 / (double)(SAMPLE_AREA_WIDTH / 2)); - - newScrPos64 = old_SmpScrPos + step; - if (newScrPos64+smpEd_ViewSize > s->len) - newScrPos64 = s->len - smpEd_ViewSize; - - smpEd_ScrPos = newScrPos64 & 0xFFFFFFFF; - updateScrPos(); -} - -static void zoomSampleDataOut(int32_t step, int16_t x) -{ - int32_t tmp32; - int64_t newViewSize64; - sampleTyp *s; - - if (editor.curInstr == 0 || - instr[editor.curInstr] == NULL || - instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) - { - return; - } - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - if (old_ViewSize == s->len) - return; - - if (step < 1) - step = 1; - - newViewSize64 = (int64_t)old_ViewSize + (step * 2); - if (newViewSize64 > s->len) - { - smpEd_ViewSize = s->len; - smpEd_ScrPos = 0; - } - else - { - tmp32 = (x - (SAMPLE_AREA_WIDTH / 2)) * step; - step += (int32_t)round(tmp32 / (double)(SAMPLE_AREA_WIDTH / 2)); - - smpEd_ViewSize = newViewSize64 & 0xFFFFFFFF; - - smpEd_ScrPos = old_SmpScrPos - step; - if (smpEd_ScrPos < 0) - smpEd_ScrPos = 0; - - if ((smpEd_ScrPos + smpEd_ViewSize) > s->len) - smpEd_ScrPos = s->len - smpEd_ViewSize; - } - - updateViewSize(); - updateScrPos(); -} - -void mouseZoomSampleDataIn(void) -{ - int32_t step; - - if (editor.curInstr == 0 || - instr[editor.curInstr] == NULL || - instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) - { - return; - } - - step = (int32_t)round(old_ViewSize / 10.0); - zoomSampleDataIn(step, mouse.x); -} - -void mouseZoomSampleDataOut(void) -{ - int32_t step; - - if (editor.curInstr == 0 || - instr[editor.curInstr] == NULL || - instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) - { - return; - } - - step = (int32_t)round(old_ViewSize / 10.0); - zoomSampleDataOut(step, mouse.x); -} - -void zoomOut(void) -{ - sampleTyp *s; - - if (editor.curInstr == 0 || - instr[editor.curInstr] == NULL || - instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) - { - return; - } - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - if (old_ViewSize == s->len) - return; - - smpEd_ScrPos = (int32_t)round(old_SmpScrPos - (old_ViewSize / 2.0)); - if (smpEd_ScrPos < 0) - smpEd_ScrPos = 0; - - smpEd_ViewSize = old_ViewSize * 2; - if (smpEd_ViewSize < old_ViewSize) - { - smpEd_ViewSize = s->len; - smpEd_ScrPos = 0; - } - else if (smpEd_ViewSize+smpEd_ScrPos > s->len) - { - smpEd_ViewSize = s->len - smpEd_ScrPos; - } - - updateViewSize(); - updateScrPos(); -} - -void showAll(void) -{ - if (editor.curInstr == 0 || - instr[editor.curInstr] == NULL || - instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) - { - return; - } - - smpEd_ScrPos = 0; - updateScrPos(); - - smpEd_ViewSize = instr[editor.curInstr]->samp[editor.curSmp].len; - updateViewSize(); -} - -void saveRange(void) -{ - UNICHAR *filenameU; - - if (editor.curInstr == 0 || - instr[editor.curInstr] == NULL || - instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) - { - return; - } - - if (smpEd_Rx1 >= smpEd_Rx2) - { - okBox(0, "System message", "No range specified!"); - return; - } - - smpEd_SysReqText[0] = '\0'; - if (inputBox(1, "Enter filename:", smpEd_SysReqText, sizeof (smpEd_SysReqText) - 1) != 1) - return; - - if (smpEd_SysReqText[0] == '\0') - { - okBox(0, "System message", "Filename can't be empty!"); - return; - } - - if (smpEd_SysReqText[0] == '.') - { - okBox(0, "System message", "The very first character in the filename can't be '.' (dot)!"); - return; - } - - if (strpbrk(smpEd_SysReqText, "\\/:*?\"<>|") != NULL) - { - okBox(0, "System message", "The filename can't contain the following characters: \\ / : * ? \" < > |"); - return; - } - - switch (editor.sampleSaveMode) - { - case SMP_SAVE_MODE_RAW: changeFilenameExt(smpEd_SysReqText, ".raw", sizeof (smpEd_SysReqText) - 1); break; - case SMP_SAVE_MODE_IFF: changeFilenameExt(smpEd_SysReqText, ".iff", sizeof (smpEd_SysReqText) - 1); break; - default: case SMP_SAVE_MODE_WAV: changeFilenameExt(smpEd_SysReqText, ".wav", sizeof (smpEd_SysReqText) - 1); break; - } - - filenameU = cp437ToUnichar(smpEd_SysReqText); - if (filenameU == NULL) - { - okBox(0, "System message", "Error converting string locale!"); - return; - } - - saveSample(filenameU, SAVE_RANGE); - free(filenameU); -} - -static bool cutRange(bool cropMode, int32_t r1, int32_t r2) -{ - int8_t *newPtr; - int32_t len, repE; - sampleTyp *s = getCurSample(); - - if (s == NULL) - return false; - - assert(!(s->typ & 16) || (!(r1 & 1) && !(r2 & 1) && !(s->len & 1))); - - if (!cropMode) - { - if (editor.curInstr == 0 || s->pek == NULL || s->len == 0) - return false; - - pauseAudio(); - restoreSample(s); - - if (config.smpCutToBuffer) - { - if (!getCopyBuffer(r2 - r1)) - { - if (!cropMode) - { - fixSample(s); - resumeAudio(); - } - - okBoxThreadSafe(0, "System message", "Not enough memory!"); - return false; - } - - memcpy(smpCopyBuff, &s->pek[r1], r2 - r1); - smpCopyBits = (s->typ & 16) ? 16 : 8; - } - } - - memmove(&s->pek[r1], &s->pek[r2], s->len - r2); - - len = s->len - r2 + r1; - if (len > 0) - { - newPtr = (int8_t *)realloc(s->pek, len + LOOP_FIX_LEN); - if (newPtr == NULL) - { - freeSample(editor.curInstr, editor.curSmp); - editor.updateCurSmp = true; - - if (!cropMode) - resumeAudio(); - - okBoxThreadSafe(0, "System message", "Not enough memory!"); - return false; - } - - s->pek = newPtr; - s->len = len; - - repE = s->repS + s->repL; - if (s->repS > r1) - { - s->repS -= r2 - r1; - if (s->repS < r1) - s->repS = r1; - } - - if (repE > r1) - { - repE -= r2 - r1; - if (repE < r1) - repE = r1; - } - - s->repL = repE - s->repS; - if (s->repL < 0) - s->repL = 0; - - if (s->repS+s->repL > len) - s->repL = len - s->repS; - - // 2-byte align loop points if sample is 16-bit - if (s->typ & 16) - { - s->repL &= 0xFFFFFFFE; - s->repS &= 0xFFFFFFFE; - } - - if (s->repL == 0) - { - s->repS = 0; - s->typ &= ~3; // disable loop - } - - if (!cropMode) - fixSample(s); - } - else - { - freeSample(editor.curInstr, editor.curSmp); - editor.updateCurSmp = true; - } - - if (!cropMode) - { - resumeAudio(); - setSongModifiedFlag(); - - setMouseBusy(false); - - smpEd_Rx2 = r1; - writeSampleFlag = true; - } - - return true; -} - -static int32_t SDLCALL sampCutThread(void *ptr) -{ - (void)ptr; - - if (!cutRange(false, smpEd_Rx1, smpEd_Rx2)) - okBoxThreadSafe(0, "System message", "Not enough memory! (Disable \"cut to buffer\")"); - else - writeSampleFlag = true; - - return true; -} - -void sampCut(void) -{ - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0 || smpEd_Rx2 == 0 || smpEd_Rx2 < smpEd_Rx1) - return; - - mouseAnimOn(); - thread = SDL_CreateThread(sampCutThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -static int32_t SDLCALL sampCopyThread(void *ptr) -{ - bool smpMustBeFixed; - sampleTyp *s = getCurSample(); - - (void)ptr; - - assert(s != NULL && (!(s->typ & 16) || (!(smpEd_Rx1 & 1) && !(smpEd_Rx2 & 1)))); - - if (!getCopyBuffer(smpEd_Rx2 - smpEd_Rx1)) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - return true; - } - - // if smp loop fix is within marked range, we need to restore and fix the sample before copy - smpMustBeFixed = (smpEd_Rx1 >= s->fixedPos) || (smpEd_Rx2 >= s->fixedPos); - - if (smpMustBeFixed) - restoreSample(s); - - memcpy(smpCopyBuff, &s->pek[smpEd_Rx1], smpEd_Rx2 - smpEd_Rx1); - - if (smpMustBeFixed) - fixSample(s); - - smpCopyBits = (s->typ & 16) ? 16 : 8; - setMouseBusy(false); - - return true; -} - -void sampCopy(void) -{ - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0 || smpEd_Rx2 == 0 || smpEd_Rx2 < smpEd_Rx1) - return; - - mouseAnimOn(); - thread = SDL_CreateThread(sampCopyThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -static int32_t SDLCALL sampPasteThread(void *ptr) -{ - int8_t *p, *ptr8; - int16_t *ptr16; - int32_t i, l, d, realCopyLen, len32; - sampleTyp *s; - - (void)ptr; - - if (instr[editor.curInstr] == NULL && !allocateInstr(editor.curInstr)) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - return true; - } - - s = getCurSample(); - - if (smpEd_Rx2 == 0) // paste without selecting where (overwrite) - { - p = (int8_t *)malloc(smpCopySize + LOOP_FIX_LEN); - if (p == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - return true; - } - - pauseAudio(); - - if (s->pek != NULL) - free(s->pek); - - memset(s, 0, sizeof (sampleTyp)); - memcpy(p, smpCopyBuff, smpCopySize); - - s->pek = p; - s->len = smpCopySize; - s->vol = 64; - s->pan = 128; - s->typ = (smpCopyBits == 16) ? 16 : 0; - - fixSample(s); - resumeAudio(); - - editor.updateCurSmp = true; - setSongModifiedFlag(); - setMouseBusy(false); - - return true; - } - - assert(!(s->typ & 16) || (!(smpEd_Rx1 & 1) && !(smpEd_Rx2 & 1) && !(s->len & 1))); - - if (s->len+smpCopySize > MAX_SAMPLE_LEN) - { - okBoxThreadSafe(0, "System message", "Not enough room in sample!"); - return true; - } - - realCopyLen = smpCopySize; - if (s->pek != NULL) - { - if (!(s->typ & 16)) - { - // destination sample is 8-bit - - // copy buffer is 16-bit, divide by 2 - if (smpCopyBits == 16) - { - realCopyLen &= 0xFFFFFFFE; - realCopyLen /= 2; - } - } - else - { - // destination sample is 16-bit - - // copy buffer is 8-bit, multiply by 2 - if (smpCopyBits == 8) - realCopyLen *= 2; - } - - d = realCopyLen - (smpEd_Rx1 - smpEd_Rx2); - l = s->len + realCopyLen - (smpEd_Rx2 - smpEd_Rx1); - } - else - { - // destination sample is empty - d = 0; - l = smpCopySize; - } - - p = (int8_t *)malloc(l + LOOP_FIX_LEN); - if (p == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - return true; - } - - pauseAudio(); - restoreSample(s); - - if (s->pek != NULL) - { - // copy first part of sample (left side before copy part) - memcpy(p, s->pek, smpEd_Rx1); - - if (s->typ & 16) - { - // destination sample = 16-bit - - if (smpCopyBits == 16) - { - // src/dst = equal bits, copy directly - memcpy(&p[smpEd_Rx1], smpCopyBuff, realCopyLen); - } - else - { - // convert copy data to 16-bit then paste - ptr16 = (int16_t *)&p[smpEd_Rx1]; - len32 = realCopyLen / 2; - - for (i = 0; i < len32; i++) - ptr16[i] = smpCopyBuff[i] << 8; - } - } - else - { - // destination sample = 8-bit - - if (smpCopyBits == 8) - { - // src/dst = equal bits, copy directly - memcpy(&p[smpEd_Rx1], smpCopyBuff, realCopyLen); - } - else - { - // convert copy data to 8-bit then paste - ptr8 = (int8_t *)&p[smpEd_Rx1]; - ptr16 = (int16_t *)smpCopyBuff; - - for (i = 0; i < realCopyLen; i++) - ptr8[i] = ptr16[i] >> 8; - } - } - - // copy remaining data from original sample - memmove(&p[smpEd_Rx1+realCopyLen], &s->pek[smpEd_Rx2], s->len - smpEd_Rx2); - free(s->pek); - - // adjust loop points if necessary - if (smpEd_Rx2-smpEd_Rx1 != realCopyLen) - { - if (s->repS > smpEd_Rx2) - { - s->repS += d; - s->repL -= d; - } - - if (s->repS+s->repL > smpEd_Rx2) - s->repL += d; - - if (s->repS > l) - { - s->repS = 0; - s->repL = 0; - } - - if (s->repS+s->repL > l) - s->repL = l - s->repS; - - // 2-byte align loop points if smaple is 16-bit - if (s->typ & 16) - { - s->repL &= 0xFFFFFFFE; - s->repS &= 0xFFFFFFFE; - } - } - } - else - { - // we pasted to an empty sample - - // copy over copy buffer data - memcpy(p, smpCopyBuff, smpCopySize); - - // set new sample bit depth - if (smpCopyBits == 16) - s->typ |= 16; - else - s->typ &= ~16; - - smpEd_ViewSize = l; - updateViewSize(); - } - - s->len = l; - s->pek = p; - - fixSample(s); - resumeAudio(); - - setSongModifiedFlag(); - setMouseBusy(false); - - // set new range - smpEd_Rx2 = smpEd_Rx1 + realCopyLen; - - if (s->typ & 16) - { - smpEd_Rx1 &= 0xFFFFFFFE; - smpEd_Rx2 &= 0xFFFFFFFE; - } - - writeSampleFlag = true; - return true; -} - -void sampPaste(void) -{ - if (editor.curInstr == 0 || smpEd_Rx2 < smpEd_Rx1 || smpCopyBuff == NULL || smpCopySize == 0) - return; - - mouseAnimOn(); - thread = SDL_CreateThread(sampPasteThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -static int32_t SDLCALL sampCropThread(void *ptr) -{ - int32_t r1, r2; - sampleTyp *s = getCurSample(); - - (void)ptr; - - assert(!(s->typ & 16) || (!(smpEd_Rx1 & 1) && !(smpEd_Rx2 & 1) && !(s->len & 1))); - - r1 = smpEd_Rx1; - r2 = smpEd_Rx2; - - pauseAudio(); - restoreSample(s); - - if (!cutRange(true, 0, r1) || !cutRange(true, r2 - r1, s->len)) - { - fixSample(s); - resumeAudio(); - return true; - } - - fixSample(s); - resumeAudio(); - - r1 = 0; - r2 = s->len; - - if (s->typ & 16) - r2 &= 0xFFFFFFFE; - - setSongModifiedFlag(); - setMouseBusy(false); - - smpEd_Rx1 = r1; - smpEd_Rx2 = r2; - writeSampleFlag = true; - - return true; -} - -void sampCrop(void) -{ - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0 || smpEd_Rx1 >= smpEd_Rx2) - return; - - if (smpEd_Rx1 == 0 && smpEd_Rx2 == s->len) - return; // no need to crop (the whole sample is marked) - - mouseAnimOn(); - thread = SDL_CreateThread(sampCropThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -void sampXFade(void) -{ - bool is16Bit; - uint8_t t; - int16_t c ,d; - int32_t i, x1, x2, y1, y2, a, b, d1, d2, d3, dist; - double dR, dS1, dS2, dS3, dS4; - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - assert(!(s->typ & 16) || (!(smpEd_Rx1 & 1) && !(smpEd_Rx2 & 1) && !(s->len & 1))); - - t = s->typ; - - // check if the sample has the loop flag enabled - if ((t & 3) == 0) - { - okBox(0, "System message", "X-Fade can only be used on a loop-enabled sample!"); - return; - } - - // check if we selected a range - if (smpEd_Rx2 == 0) - { - okBox(0, "System message", "No range selected! Make a small range that includes loop start or loop end."); - return; - } - - // check if we selected a valid range length - if (smpEd_Rx2-smpEd_Rx1 <= 2) - { - okBox(0, "System message", "Invalid range!"); - return; - } - - x1 = smpEd_Rx1; - x2 = smpEd_Rx2; - - is16Bit = (t & 16) ? true : false; - - if ((t & 3) >= 2) - { - // pingpong loop - - y1 = s->repS; - if (x1 <= y1) - { - // first loop point - - if (x2 <= y1 || x2 >= s->repS+s->repL) - { - okBox(0, "System message", "Not enough sample data outside loop!"); - return; - } - - d1 = y1 - x1; - if (x2-y1 > d1) - d1 = x2 - y1; - - d2 = y1 - x1; - d3 = x2 - y1; - - if (d1 < 1 || d2 < 1 || d3 < 1) - { - okBox(0, "System message", "Not enough sample data outside loop!"); - return; - } - - if (y1-d1 < 0 || y1+d1 >= s->len) - { - okBox(0, "System message", "Invalid range!"); - return; - } - - dist = 1; - if (is16Bit) - dist++; - - pauseAudio(); - restoreSample(s); - - i = 0; - while (i < d1) - { - a = getSampleValueNr(s->pek, t, y1 + dist * (-i - 1)); - b = getSampleValueNr(s->pek, t, y1 + dist * i); - - dS1 = 1.0 - i / (double)d2; dS2 = 2.0 - dS1; - dS3 = 1.0 - i / (double)d3; dS4 = 2.0 - dS3; - - c = (int16_t)round((a * dS2 + b * dS1) / (dS1 + dS2)); - d = (int16_t)round((b * dS4 + a * dS3) / (dS3 + dS4)); - - if (i < d2) putSampleValueNr(s->pek, t, y1 + dist * (-i - 1), c); - if (i < d3) putSampleValueNr(s->pek, t, y1 + dist * i, d); - - i += dist; - } - - fixSample(s); - resumeAudio(); - } - else - { - // last loop point - - y1 += s->repL; - if (x1 >= y1 || x2 <= y1 || x2 >= s->len) - { - okBox(0, "System message", "Not enough sample data outside loop!"); - return; - } - - d1 = y1 - x1; - if (x2-y1 > d1) - d1 = x2 - y1; - - d2 = y1 - x1; - d3 = x2 - y1; - - if (d1 < 1 || d2 < 1 || d3 < 1) - { - okBox(0, "System message", "Not enough sample data outside loop!"); - return; - } - - if (y1-d1 < 0 || y1+d1 >= s->len) - { - okBox(0, "System message", "Invalid range!"); - return; - } - - dist = is16Bit ? 2 : 1; - - pauseAudio(); - restoreSample(s); - - i = 0; - while (i < d1) - { - a = getSampleValueNr(s->pek, t, y1 - i - dist); - b = getSampleValueNr(s->pek, t, y1 + i); - - dS1 = 1.0 - i / (double)d2; dS2 = 2.0 - dS1; - dS3 = 1.0 - i / (double)d3; dS4 = 2.0 - dS3; - - c = (int16_t)round((a * dS2 + b * dS1) / (dS1 + dS2)); - d = (int16_t)round((b * dS4 + a * dS3) / (dS3 + dS4)); - - if (i < d2) putSampleValueNr(s->pek, t, y1 - i - dist, c); - if (i < d3) putSampleValueNr(s->pek, t, y1 + i, d); - - i += dist; - } - - fixSample(s); - resumeAudio(); - } - } - else - { - // standard loop - - if (x1 > s->repS) - { - x1 -= s->repL; - x2 -= s->repL; - } - - if (x1 < 0 || x2 <= x1 || x2 >= s->len) - { - okBox(0, "System message", "Not enough sample data outside loop!"); - return; - } - - i = (x2 - x1 + 1) / 2; - y1 = s->repS - i; - y2 = s->repS + s->repL - i; - - if (t & 16) - { - y1 &= 0xFFFFFFFE; - y2 &= 0xFFFFFFFE; - } - - if (y1 < 0 || y2+(x2-x1) >= s->len) - { - okBox(0, "System message", "Invalid range!"); - return; - } - - d1 = x2 - x1; - d2 = s->repS - y1; - d3 = x2 - x1 - d2; - - if (y1+(x2-x1) <= s->repS || d1 == 0 || d3 == 0 || d1 > s->repL) - { - okBox(0, "System message", "Not enough sample data outside loop!"); - return; - } - - dR = (s->repS - i) / (double)(x2 - x1); - dist = is16Bit ? 2 : 1; - - pauseAudio(); - restoreSample(s); - - i = 0; - while (i < x2-x1) - { - a = getSampleValueNr(s->pek, t, y1 + i); - b = getSampleValueNr(s->pek, t, y2 + i); - - dS2 = i / (double)d1; - dS1 = 1.0 - dS2; - - if (y1+i < s->repS) - { - dS3 = 1.0 - (1.0 - dR) * i / d2; - dS4 = dR * i / d2; - - c = (int16_t)round((a * dS3 + b * dS4) / (dS3 + dS4)); - d = (int16_t)round((a * dS2 + b * dS1) / (dS1 + dS2)); - } - else - { - dS3 = 1.0 - (1.0 - dR) * (d1 - i) / d3; - dS4 = dR * (d1 - i) / d3; - - c = (int16_t)round((a * dS2 + b * dS1) / (dS1 + dS2)); - d = (int16_t)round((a * dS4 + b * dS3) / (dS3 + dS4)); - } - - putSampleValueNr(s->pek, t, y1 + i, c); - putSampleValueNr(s->pek, t, y2 + i, d); - - i += dist; - } - - fixSample(s); - resumeAudio(); - } - - writeSample(true); - setSongModifiedFlag(); -} - -void rbSampleNoLoop(void) -{ - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - lockMixerCallback(); - restoreSample(s); - - s->typ &= ~3; - - fixSample(s); - unlockMixerCallback(); - - updateSampleEditor(); - writeSample(true); - setSongModifiedFlag(); -} - -void rbSampleForwardLoop(void) -{ - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - lockMixerCallback(); - restoreSample(s); - - s->typ = (s->typ & ~3) | 1; - - if (s->repL+s->repS == 0) - { - s->repS = 0; - s->repL = s->len; - } - - fixSample(s); - unlockMixerCallback(); - - updateSampleEditor(); - writeSample(true); - setSongModifiedFlag(); -} - -void rbSamplePingpongLoop(void) -{ - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - lockMixerCallback(); - restoreSample(s); - - s->typ = (s->typ & ~3) | 2; - - if (s->repL+s->repS == 0) - { - s->repS = 0; - s->repL = s->len; - } - - fixSample(s); - unlockMixerCallback(); - - updateSampleEditor(); - writeSample(true); - setSongModifiedFlag(); -} - -static int32_t SDLCALL convSmp8Bit(void *ptr) -{ - int8_t *dst8, *newPtr; - int16_t *src16; - int32_t i, newLen; - sampleTyp *s = getCurSample(); - - (void)ptr; - - pauseAudio(); - restoreSample(s); - - src16 = (int16_t *)s->pek; - dst8 = s->pek; - - newLen = s->len / 2; - for (i = 0; i < newLen; i++) - dst8[i] = src16[i] >> 8; - - newPtr = (int8_t *)realloc(s->pek, newLen + LOOP_FIX_LEN); - if (newPtr != NULL) - s->pek = newPtr; - - s->repL /= 2; - s->repS /= 2; - s->len /= 2; - s->typ &= ~16; // remove 16-bit flag - - fixSample(s); - resumeAudio(); - - editor.updateCurSmp = true; - setSongModifiedFlag(); - setMouseBusy(false); - - return true; -} - -void rbSample8bit(void) -{ - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - if (okBox(2, "System request", "Convert sampledata?") == 1) - { - mouseAnimOn(); - thread = SDL_CreateThread(convSmp8Bit, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); - return; - } - else - { - lockMixerCallback(); - restoreSample(s); - - s->typ &= ~16; // remove 16-bit flag - - fixSample(s); - unlockMixerCallback(); - - updateSampleEditorSample(); - updateSampleEditor(); - writeSample(true); - setSongModifiedFlag(); - } -} - -static int32_t SDLCALL convSmp16Bit(void *ptr) -{ - int8_t *src8, *newPtr; - int16_t smp16, *dst16; - int32_t i; - sampleTyp *s = getCurSample(); - - (void)ptr; - - pauseAudio(); - restoreSample(s); - - newPtr = (int8_t *)realloc(s->pek, (s->len * 2) + LOOP_FIX_LEN); - if (newPtr == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - return true; - } - else - { - s->pek = newPtr; - } - - src8 = s->pek; - dst16 = (int16_t *)s->pek; - - for (i = s->len-1; i >= 0; i--) - { - smp16 = src8[i] << 8; - dst16[i] = smp16; - } - - s->len *= 2; - s->repL *= 2; - s->repS *= 2; - s->typ |= 16; // add 16-bit flag - - fixSample(s); - resumeAudio(); - - editor.updateCurSmp = true; - setSongModifiedFlag(); - setMouseBusy(false); - - return true; -} - -void rbSample16bit(void) -{ - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - if (okBox(2, "System request", "Convert sampledata?") == 1) - { - mouseAnimOn(); - thread = SDL_CreateThread(convSmp16Bit, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); - return; - } - else - { - lockMixerCallback(); - restoreSample(s); - - s->typ |= 16; // add 16-bit flag - - // make sure stuff is 2-byte aligned for 16-bit mode - s->repS &= 0xFFFFFFFE; - s->repL &= 0xFFFFFFFE; - s->len &= 0xFFFFFFFE; - - fixSample(s); - unlockMixerCallback(); - - updateSampleEditorSample(); - updateSampleEditor(); - writeSample(true); - setSongModifiedFlag(); - } -} - -void clearSample(void) -{ - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - if (okBox(1, "System request", "Clear sample?") != 1) - return; - - freeSample(editor.curInstr, editor.curSmp); - updateNewSample(); - setSongModifiedFlag(); -} - -void sampMin(void) -{ - int8_t *newPtr; - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - if (!(s->typ & 3) || (s->repS+s->repL >= s->len || s->repS+s->repL <= 0)) - { - okBox(0, "System message", "Sample is already minimized."); - } - else - { - lockMixerCallback(); - - s->len = s->repS + s->repL; - - newPtr = (int8_t *)realloc(s->pek, s->len + LOOP_FIX_LEN); - if (newPtr != NULL) - s->pek = newPtr; - - unlockMixerCallback(); - - updateSampleEditorSample(); - updateSampleEditor(); - setSongModifiedFlag(); - } -} - -void sampRepeatUp(void) -{ - int32_t repS, repL, addVal, lenSub; - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - if (s->typ & 16) - { - lenSub = 4; - addVal = 2; - } - else - { - lenSub = 2; - addVal = 1; - } - - repS = curSmpRepS; - repL = curSmpRepL; - - if (repS < s->len-lenSub) - repS += addVal; - - if (repS+repL > s->len) - repL = s->len - repS; - - curSmpRepS = (s->typ & 16) ? (int32_t)(repS & 0xFFFFFFFE) : repS; - curSmpRepL = (s->typ & 16) ? (int32_t)(repL & 0xFFFFFFFE) : repL; - - fixRepeatGadgets(); - updateLoopsOnMouseUp = true; -} - -void sampRepeatDown(void) -{ - int32_t repS; - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - if (s->typ & 16) - repS = curSmpRepS - 2; - else - repS = curSmpRepS - 1; - - if (repS < 0) - repS = 0; - - curSmpRepS = (s->typ & 16) ? (int32_t)(repS & 0xFFFFFFFE) : repS; - - fixRepeatGadgets(); - updateLoopsOnMouseUp = true; -} - -void sampReplenUp(void) -{ - int32_t repL; - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - if (s->typ & 16) - repL = curSmpRepL + 2; - else - repL = curSmpRepL + 1; - - if (curSmpRepS+repL > s->len) - repL = s->len - curSmpRepS; - - curSmpRepL = (s->typ & 16) ? (int32_t)(repL & 0xFFFFFFFE) : repL; - - fixRepeatGadgets(); - updateLoopsOnMouseUp = true; -} - -void sampReplenDown(void) -{ - int32_t repL; - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - if (s->typ & 16) - repL = curSmpRepL - 2; - else - repL = curSmpRepL - 1; - - if (repL < 0) - repL = 0; - - curSmpRepL = (s->typ & 16) ? (int32_t)(repL & 0xFFFFFFFE) : repL; - - fixRepeatGadgets(); - updateLoopsOnMouseUp = true; -} - -void hideSampleEditor(void) -{ - hidePushButton(PB_SAMP_SCROLL_LEFT); - hidePushButton(PB_SAMP_SCROLL_RIGHT); - hidePushButton(PB_SAMP_PNOTE_UP); - hidePushButton(PB_SAMP_PNOTE_DOWN); - hidePushButton(PB_SAMP_STOP); - hidePushButton(PB_SAMP_PWAVE); - hidePushButton(PB_SAMP_PRANGE); - hidePushButton(PB_SAMP_PDISPLAY); - hidePushButton(PB_SAMP_SHOW_RANGE); - hidePushButton(PB_SAMP_RANGE_ALL); - hidePushButton(PB_SAMP_CLR_RANGE); - hidePushButton(PB_SAMP_ZOOM_OUT); - hidePushButton(PB_SAMP_SHOW_ALL); - hidePushButton(PB_SAMP_SAVE_RNG); - hidePushButton(PB_SAMP_CUT); - hidePushButton(PB_SAMP_COPY); - hidePushButton(PB_SAMP_PASTE); - hidePushButton(PB_SAMP_CROP); - hidePushButton(PB_SAMP_VOLUME); - hidePushButton(PB_SAMP_XFADE); - hidePushButton(PB_SAMP_EXIT); - hidePushButton(PB_SAMP_CLEAR); - hidePushButton(PB_SAMP_MIN); - hidePushButton(PB_SAMP_REPEAT_UP); - hidePushButton(PB_SAMP_REPEAT_DOWN); - hidePushButton(PB_SAMP_REPLEN_UP); - hidePushButton(PB_SAMP_REPLEN_DOWN); - - hideRadioButtonGroup(RB_GROUP_SAMPLE_LOOP); - hideRadioButtonGroup(RB_GROUP_SAMPLE_DEPTH); - - hideScrollBar(SB_SAMP_SCROLL); - - editor.ui.sampleEditorShown = false; - - hideSprite(SPRITE_LEFT_LOOP_PIN); - hideSprite(SPRITE_RIGHT_LOOP_PIN); -} - -void exitSampleEditor(void) -{ - hideSampleEditor(); - - if (editor.ui.sampleEditorExtShown) - hideSampleEditorExt(); - - showPatternEditor(); -} - -void showSampleEditor(void) -{ - if (editor.ui.extended) - exitPatternEditorExtended(); - - hideInstEditor(); - hidePatternEditor(); - editor.ui.sampleEditorShown = true; - - drawFramework(0, 329, 632, 17, FRAMEWORK_TYPE1); - drawFramework(0, 346, 115, 54, FRAMEWORK_TYPE1); - drawFramework(115, 346, 133, 54, FRAMEWORK_TYPE1); - drawFramework(248, 346, 49, 54, FRAMEWORK_TYPE1); - drawFramework(297, 346, 56, 54, FRAMEWORK_TYPE1); - drawFramework(353, 346, 74, 54, FRAMEWORK_TYPE1); - drawFramework(427, 346, 205, 54, FRAMEWORK_TYPE1); - drawFramework(2, 366, 34, 15, FRAMEWORK_TYPE2); - - textOutShadow(5, 352, PAL_FORGRND, PAL_DSKTOP2, "Play:"); - textOutShadow(371, 352, PAL_FORGRND, PAL_DSKTOP2, "No loop"); - textOutShadow(371, 369, PAL_FORGRND, PAL_DSKTOP2, "Forward"); - textOutShadow(371, 386, PAL_FORGRND, PAL_DSKTOP2, "Pingpong"); - textOutShadow(446, 369, PAL_FORGRND, PAL_DSKTOP2, "8-bit"); - textOutShadow(445, 385, PAL_FORGRND, PAL_DSKTOP2, "16-bit"); - textOutShadow(488, 349, PAL_FORGRND, PAL_DSKTOP2, "Display"); - textOutShadow(488, 361, PAL_FORGRND, PAL_DSKTOP2, "Length"); - textOutShadow(488, 375, PAL_FORGRND, PAL_DSKTOP2, "Repeat"); - textOutShadow(488, 387, PAL_FORGRND, PAL_DSKTOP2, "Replen."); - - showPushButton(PB_SAMP_SCROLL_LEFT); - showPushButton(PB_SAMP_SCROLL_RIGHT); - showPushButton(PB_SAMP_PNOTE_UP); - showPushButton(PB_SAMP_PNOTE_DOWN); - showPushButton(PB_SAMP_STOP); - showPushButton(PB_SAMP_PWAVE); - showPushButton(PB_SAMP_PRANGE); - showPushButton(PB_SAMP_PDISPLAY); - showPushButton(PB_SAMP_SHOW_RANGE); - showPushButton(PB_SAMP_RANGE_ALL); - showPushButton(PB_SAMP_CLR_RANGE); - showPushButton(PB_SAMP_ZOOM_OUT); - showPushButton(PB_SAMP_SHOW_ALL); - showPushButton(PB_SAMP_SAVE_RNG); - showPushButton(PB_SAMP_CUT); - showPushButton(PB_SAMP_COPY); - showPushButton(PB_SAMP_PASTE); - showPushButton(PB_SAMP_CROP); - showPushButton(PB_SAMP_VOLUME); - showPushButton(PB_SAMP_XFADE); - showPushButton(PB_SAMP_EXIT); - showPushButton(PB_SAMP_CLEAR); - showPushButton(PB_SAMP_MIN); - showPushButton(PB_SAMP_REPEAT_UP); - showPushButton(PB_SAMP_REPEAT_DOWN); - showPushButton(PB_SAMP_REPLEN_UP); - showPushButton(PB_SAMP_REPLEN_DOWN); - - showRadioButtonGroup(RB_GROUP_SAMPLE_LOOP); - showRadioButtonGroup(RB_GROUP_SAMPLE_DEPTH); - - showScrollBar(SB_SAMP_SCROLL); - - // clear two lines that are never written to when the sampler is open - hLine(0, 173, SAMPLE_AREA_WIDTH, PAL_BCKGRND); - hLine(0, 328, SAMPLE_AREA_WIDTH, PAL_BCKGRND); - - updateSampleEditor(); - writeSample(true); -} - -void toggleSampleEditor(void) -{ - hideInstEditor(); - - if (editor.ui.sampleEditorShown) - { - exitSampleEditor(); - } - else - { - hidePatternEditor(); - showSampleEditor(); - } -} - -static void writeSmpXORLine(int32_t x) -{ - uint32_t *ptr32; - - if (x < 0 || x >= SCREEN_W) - return; - - ptr32 = &video.frameBuffer[(174 * SCREEN_W) + x]; - for (int32_t y = 0; y < SAMPLE_AREA_HEIGHT; y++) - { - *ptr32 = video.palette[(*ptr32 >> 24) ^ 1]; // ">> 24" to get palette, XOR 1 to switch between normal/inverted mode - ptr32 += SCREEN_W; - } -} - -static void writeSamplePosLine(void) -{ - uint8_t ins, smp; - int32_t smpPos, scrPos; - lastChInstr_t *c; - - assert(editor.curSmpChannel < MAX_VOICES); - - c = &lastChInstr[editor.curSmpChannel]; - if (c->instrNr == 130) // "Play Wave/Range/Display" in Smp. Ed. - { - ins = editor.curPlayInstr; - smp = editor.curPlaySmp; - } - else - { - ins = c->instrNr; - smp = c->sampleNr; - } - - if (editor.curInstr == ins && editor.curSmp == smp) - { - smpPos = getSamplePosition(editor.curSmpChannel); - if (smpPos != -1) - { - // convert sample position to screen position - scrPos = smpPos2Scr(smpPos); - if (scrPos != -1) - { - if (scrPos != smpEd_OldSmpPosLine) - { - writeSmpXORLine(smpEd_OldSmpPosLine); // remove old line - writeSmpXORLine(scrPos); // write new line - } - - smpEd_OldSmpPosLine = scrPos; - return; - } - } - } - - if (smpEd_OldSmpPosLine != -1) - writeSmpXORLine(smpEd_OldSmpPosLine); - - smpEd_OldSmpPosLine = -1; -} - -void handleSamplerRedrawing(void) -{ - // update sample editor - - if (!editor.ui.sampleEditorShown || editor.samplingAudioFlag) - return; - - if (writeSampleFlag) - { - writeSampleFlag = false; - writeSample(true); - } - else if (smpEd_Rx1 != old_Rx1 || smpEd_Rx2 != old_Rx2 || smpEd_ScrPos != old_SmpScrPos || smpEd_ViewSize != old_ViewSize) - { - writeSample(false); - } - - writeSamplePosLine(); -} - -static void setLeftLoopPinPos(int32_t x) -{ - int32_t repS, repL, newPos; - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - newPos = scr2SmpPos(x) - curSmpRepS; - - repS = curSmpRepS + newPos; - repL = curSmpRepL - newPos; - - if (repS < 0) - { - repL += repS; - repS = 0; - } - - if (repL < 0) - { - repL = 0; - repS = curSmpRepS + curSmpRepL; - } - - if (s->typ & 16) - { - repS &= 0xFFFFFFFE; - repL &= 0xFFFFFFFE; - } - - curSmpRepS = repS; - curSmpRepL = repL; - - fixRepeatGadgets(); - updateLoopsOnMouseUp = true; -} - -static void setRightLoopPinPos(int32_t x) -{ - int32_t repL; - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - repL = scr2SmpPos(x) - curSmpRepS; - if (repL < 0) - repL = 0; - - if (repL+curSmpRepS > s->len) - repL = s->len - curSmpRepS; - - if (repL < 0) - repL = 0; - - if (s->typ & 16) - repL &= 0xFFFFFFFE; - - curSmpRepL = repL; - - fixRepeatGadgets(); - updateLoopsOnMouseUp = true; -} - -static void editSampleData(bool mouseButtonHeld) -{ - int8_t *ptr8; - int16_t *ptr16; - int32_t mx, my, tmp32, p, vl, tvl, r, rl, rvl; - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - // ported directly from FT2 and slightly modified - - mx = mouse.x; - my = mouse.y; - - if (!mouseButtonHeld) - { - pauseAudio(); - restoreSample(s); - editor.editSampleFlag = true; - - lastDrawX = scr2SmpPos(mx); - if (s->typ & 16) - lastDrawX /= 2; - - if (my == 250) // center - { - lastDrawY = 128; - } - else - { - lastDrawY = (int32_t)round((my - 174) * (256.0 / SAMPLE_AREA_HEIGHT)); - lastDrawY = 255 - CLAMP(lastDrawY, 0, 255); - } - - lastMouseX = mx; - lastMouseY = my; - } - else if (mx == lastMouseX && my == lastMouseY) - { - return; // don't continue if we didn't move the mouse - } - - // kludge so that you can edit the very end of the sample - if (mx == SCREEN_W-1 && smpEd_ScrPos+smpEd_ViewSize >= s->len) - mx++; - - if (mx != lastMouseX) - { - p = scr2SmpPos(mx); - if (s->typ & 16) - p /= 2; - } - else - { - p = lastDrawX; - } - - if (!keyb.leftShiftPressed && my != lastMouseY) - { - if (my == 250) // center - { - vl = 128; - } - else - { - vl = (int32_t)round((my - 174) * (256.0 / SAMPLE_AREA_HEIGHT)); - vl = 255 - CLAMP(vl, 0, 255); - } - } - else - { - vl = lastDrawY; - } - - lastMouseX = mx; - lastMouseY = my; - - r = p; - rvl = vl; - - // swap x/y if needed - if (p > lastDrawX) - { - // swap x - tmp32 = p; - p = lastDrawX; - lastDrawX = tmp32; - - // swap y - tmp32 = lastDrawY; - lastDrawY = vl; - vl = tmp32; - } - - if (s->typ & 16) - { - // 16-bit - ptr16 = (int16_t *)s->pek; - for (rl = p; rl <= lastDrawX; rl++) - { - if (rl >= 0 && rl*2 < s->len) - { - if (p != lastDrawX) - tvl = (vl - lastDrawY) * (rl - p) / (p - lastDrawX) + vl; - else - tvl = vl; - - tvl <<= 8; - ptr16[rl] = (int16_t)tvl ^ 0x8000; - } - } - } - else - { - // 8-bit - ptr8 = s->pek; - for (rl = p; rl <= lastDrawX; rl++) - { - if (rl >= 0 && rl < s->len) - { - if (p != lastDrawX) - tvl = (vl - lastDrawY) * (rl - p) / (p - lastDrawX) + vl; - else - tvl = vl; - - ptr8[rl] = (int8_t)tvl ^ 0x80; - } - } - } - - lastDrawY = rvl; - lastDrawX = r; - - writeSample(true); -} - -void handleSampleDataMouseDown(bool mouseButtonHeld) -{ - int32_t tmp, leftLoopPinPos, rightLoopPinPos; - - if (editor.curInstr == 0) - return; - - if (!mouseButtonHeld) - { - editor.ui.rightLoopPinMoving = false; - editor.ui.leftLoopPinMoving = false; - editor.ui.sampleDataOrLoopDrag = -1; - - mouseXOffs = 0; - lastMouseX = mouse.x; - lastMouseY = mouse.y; - - mouse.lastUsedObjectType = OBJECT_SMPDATA; - - if (mouse.leftButtonPressed) - { - // move loop pins - if (mouse.y < 183) - { - leftLoopPinPos = getSpritePosX(SPRITE_LEFT_LOOP_PIN); - if (mouse.x >= leftLoopPinPos && mouse.x <= leftLoopPinPos+16) - { - mouseXOffs = (leftLoopPinPos + 8) - mouse.x; - - editor.ui.sampleDataOrLoopDrag = true; - - setLeftLoopPinState(true); - lastMouseX = mouse.x; - - editor.ui.leftLoopPinMoving = true; - return; - } - } - else if (mouse.y > 318) - { - rightLoopPinPos = getSpritePosX(SPRITE_RIGHT_LOOP_PIN); - if (mouse.x >= rightLoopPinPos && mouse.x <= rightLoopPinPos+16) - { - mouseXOffs = (rightLoopPinPos + 8) - mouse.x; - - editor.ui.sampleDataOrLoopDrag = true; - - setRightLoopPinState(true); - lastMouseX = mouse.x; - - editor.ui.rightLoopPinMoving = true; - return; - } - } - - // mark data - editor.ui.sampleDataOrLoopDrag = mouse.x; - lastMouseX = editor.ui.sampleDataOrLoopDrag; - setSampleRange(editor.ui.sampleDataOrLoopDrag, editor.ui.sampleDataOrLoopDrag); - } - else if (mouse.rightButtonPressed) - { - // edit data - editor.ui.sampleDataOrLoopDrag = true; - editSampleData(false); - } - - return; - } - - if (mouse.rightButtonPressed) - { - editSampleData(true); - return; - } - - if (mouse.x != lastMouseX) - { - if (mouse.leftButtonPressed) - { - if (editor.ui.leftLoopPinMoving) - { - lastMouseX = mouse.x; - setLeftLoopPinPos(mouseXOffs + lastMouseX); - } - else if (editor.ui.rightLoopPinMoving) - { - lastMouseX = mouse.x; - setRightLoopPinPos(mouseXOffs + lastMouseX); - } - else if (editor.ui.sampleDataOrLoopDrag >= 0) - { - // mark data - - lastMouseX = mouse.x; - tmp = lastMouseX; - - if (lastMouseX > editor.ui.sampleDataOrLoopDrag) - setSampleRange(editor.ui.sampleDataOrLoopDrag, tmp); - else if (lastMouseX == editor.ui.sampleDataOrLoopDrag) - setSampleRange(editor.ui.sampleDataOrLoopDrag, editor.ui.sampleDataOrLoopDrag); - else if (lastMouseX < editor.ui.sampleDataOrLoopDrag) - setSampleRange(tmp, editor.ui.sampleDataOrLoopDrag); - } - } - } -} - -// SAMPLE EDITOR EXTENSION - -void handleSampleEditorExtRedrawing(void) -{ - hexOutBg(35, 96, PAL_FORGRND, PAL_DESKTOP, smpEd_Rx1, 8); - hexOutBg(99, 96, PAL_FORGRND, PAL_DESKTOP, smpEd_Rx2, 8); - hexOutBg(99, 110, PAL_FORGRND, PAL_DESKTOP, smpEd_Rx2 - smpEd_Rx1, 8); - hexOutBg(99, 124, PAL_FORGRND, PAL_DESKTOP, smpCopySize, 8); - hexOutBg(226, 96, PAL_FORGRND, PAL_DESKTOP, editor.srcInstr, 2); - hexOutBg(274, 96, PAL_FORGRND, PAL_DESKTOP, editor.srcSmp, 2); - hexOutBg(226, 109, PAL_FORGRND, PAL_DESKTOP, editor.curInstr, 2); - hexOutBg(274, 109, PAL_FORGRND, PAL_DESKTOP, editor.curSmp, 2); -} - -void drawSampleEditorExt(void) -{ - drawFramework(0, 92, 158, 44, FRAMEWORK_TYPE1); - drawFramework(0, 136, 158, 37, FRAMEWORK_TYPE1); - drawFramework(158, 92, 133, 81, FRAMEWORK_TYPE1); - - textOutShadow( 4, 96, PAL_FORGRND, PAL_DSKTOP2, "Rng.:"); - charOutShadow(91, 95, PAL_FORGRND, PAL_DSKTOP2, '-'); - textOutShadow( 4, 109, PAL_FORGRND, PAL_DSKTOP2, "Rangesize"); - textOutShadow( 4, 123, PAL_FORGRND, PAL_DSKTOP2, "Copybuffersize"); - - textOutShadow(162, 95, PAL_FORGRND, PAL_DSKTOP2, "Src.instr."); - textOutShadow(245, 96, PAL_FORGRND, PAL_DSKTOP2, "smp."); - textOutShadow(162, 109, PAL_FORGRND, PAL_DSKTOP2, "Dest.instr."); - textOutShadow(245, 109, PAL_FORGRND, PAL_DSKTOP2, "smp."); - - showPushButton(PB_SAMP_EXT_CLEAR_COPYBUF); - showPushButton(PB_SAMP_EXT_CONV); - showPushButton(PB_SAMP_EXT_ECHO); - showPushButton(PB_SAMP_EXT_BACKWARDS); - showPushButton(PB_SAMP_EXT_CONV_W); - showPushButton(PB_SAMP_EXT_MORPH); - showPushButton(PB_SAMP_EXT_COPY_INS); - showPushButton(PB_SAMP_EXT_COPY_SMP); - showPushButton(PB_SAMP_EXT_XCHG_INS); - showPushButton(PB_SAMP_EXT_XCHG_SMP); - showPushButton(PB_SAMP_EXT_RESAMPLE); - showPushButton(PB_SAMP_EXT_MIX_SAMPLE); -} - -void showSampleEditorExt(void) -{ - hideTopScreen(); - showTopScreen(false); - - if (editor.ui.extended) - exitPatternEditorExtended(); - - if (!editor.ui.sampleEditorShown) - showSampleEditor(); - - editor.ui.sampleEditorExtShown = true; - editor.ui.scopesShown = false; - drawSampleEditorExt(); -} - -void hideSampleEditorExt(void) -{ - editor.ui.sampleEditorExtShown = false; - - hidePushButton(PB_SAMP_EXT_CLEAR_COPYBUF); - hidePushButton(PB_SAMP_EXT_CONV); - hidePushButton(PB_SAMP_EXT_ECHO); - hidePushButton(PB_SAMP_EXT_BACKWARDS); - hidePushButton(PB_SAMP_EXT_CONV_W); - hidePushButton(PB_SAMP_EXT_MORPH); - hidePushButton(PB_SAMP_EXT_COPY_INS); - hidePushButton(PB_SAMP_EXT_COPY_SMP); - hidePushButton(PB_SAMP_EXT_XCHG_INS); - hidePushButton(PB_SAMP_EXT_XCHG_SMP); - hidePushButton(PB_SAMP_EXT_RESAMPLE); - hidePushButton(PB_SAMP_EXT_MIX_SAMPLE); - - editor.ui.scopesShown = true; - drawScopeFramework(); -} - -void toggleSampleEditorExt(void) -{ - if (editor.ui.sampleEditorExtShown) - hideSampleEditorExt(); - else - showSampleEditorExt(); -} - -static int32_t SDLCALL sampleBackwardsThread(void *ptr) -{ - int8_t tmp8, *ptrStart, *ptrEnd; - int16_t tmp16, *ptrStart16, *ptrEnd16; - sampleTyp *s = getCurSample(); - - (void)ptr; - - if (s->typ & 16) - { - if (smpEd_Rx1 >= smpEd_Rx2) - { - ptrStart16 = (int16_t *)s->pek; - ptrEnd16 = (int16_t *)&s->pek[s->len-2]; - } - else - { - ptrStart16 = (int16_t *)&s->pek[smpEd_Rx1]; - ptrEnd16 = (int16_t *)&s->pek[smpEd_Rx2-2]; - } - - pauseAudio(); - restoreSample(s); - - while (ptrStart16 < ptrEnd16) - { - tmp16 = *ptrStart16; - *ptrStart16++ = *ptrEnd16; - *ptrEnd16-- = tmp16; - } - - fixSample(s); - resumeAudio(); - } - else - { - if (smpEd_Rx1 >= smpEd_Rx2) - { - ptrStart = s->pek; - ptrEnd = &s->pek[s->len-1]; - } - else - { - ptrStart = &s->pek[smpEd_Rx1]; - ptrEnd = &s->pek[smpEd_Rx2-1]; - } - - pauseAudio(); - restoreSample(s); - - while (ptrStart < ptrEnd) - { - tmp8 = *ptrStart; - *ptrStart++ = *ptrEnd; - *ptrEnd-- = tmp8; - } - - fixSample(s); - resumeAudio(); - } - - setSongModifiedFlag(); - setMouseBusy(false); - writeSampleFlag = true; - - return true; -} - -void sampleBackwards(void) -{ - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len < 2) - return; - - mouseAnimOn(); - thread = SDL_CreateThread(sampleBackwardsThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -static int32_t SDLCALL sampleConvThread(void *ptr) -{ - int8_t *ptr8; - int16_t *ptr16; - int32_t i, len; - sampleTyp *s = getCurSample(); - - (void)ptr; - - pauseAudio(); - restoreSample(s); - - if (s->typ & 16) - { - len = s->len / 2; - ptr16 = (int16_t *)s->pek; - - for (i = 0; i < len; i++) - ptr16[i] ^= 0x8000; - } - else - { - len = s->len; - ptr8 = s->pek; - - for (i = 0; i < len; i++) - ptr8[i] ^= 0x80; - } - - fixSample(s); - resumeAudio(); - - setSongModifiedFlag(); - setMouseBusy(false); - writeSampleFlag = true; - - return true; -} - -void sampleConv(void) -{ - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - mouseAnimOn(); - thread = SDL_CreateThread(sampleConvThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -static int32_t SDLCALL sampleConvWThread(void *ptr) -{ - int8_t *ptr8, tmp; - int32_t len; - sampleTyp *s = getCurSample(); - - (void)ptr; - - pauseAudio(); - restoreSample(s); - - len = s->len / 2; - ptr8 = s->pek; - - for (int32_t i = 0; i < len; i++) - { - tmp = ptr8[0]; - ptr8[0] = ptr8[1]; - ptr8[1] = tmp; - - ptr8 += 2; - } - - fixSample(s); - resumeAudio(); - - setSongModifiedFlag(); - setMouseBusy(false); - writeSampleFlag = true; - - return true; -} - -void sampleConvW(void) -{ - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - mouseAnimOn(); - thread = SDL_CreateThread(sampleConvWThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -static int32_t SDLCALL fixDCThread(void *ptr) -{ - int8_t *ptr8; - int16_t *ptr16; - int32_t i, len, smpSub, smp32; - int64_t offset; - sampleTyp *s = getCurSample(); - - (void)ptr; - - offset = 0; - if (s->typ & 16) - { - if (smpEd_Rx1 >= smpEd_Rx2) - { - assert(!(s->len & 1)); - - ptr16 = (int16_t *)s->pek; - len = s->len / 2; - } - else - { - assert(!(smpEd_Rx1 & 1)); - assert(!(smpEd_Rx2 & 1)); - - ptr16 = (int16_t *)&s->pek[smpEd_Rx1]; - len = (smpEd_Rx2 - smpEd_Rx1) / 2; - } - - if (len < 0 || len > s->len/2) - { - setMouseBusy(false); - return true; - } - - pauseAudio(); - restoreSample(s); - - for (i = 0; i < len; i++) - offset += ptr16[i]; - offset /= len; - - smpSub = (int32_t)offset; - for (i = 0; i < len; i++) - { - smp32 = ptr16[i] - smpSub; - CLAMP16(smp32); - ptr16[i] = (int16_t)smp32; - } - - fixSample(s); - resumeAudio(); - } - else - { - if (smpEd_Rx1 >= smpEd_Rx2) - { - ptr8 = s->pek; - len = s->len; - } - else - { - ptr8 = &s->pek[smpEd_Rx1]; - len = smpEd_Rx2 - smpEd_Rx1; - } - - if (len < 0 || len > s->len) - { - setMouseBusy(false); - return true; - } - - pauseAudio(); - restoreSample(s); - - for (i = 0; i < len; i++) - offset += ptr8[i]; - offset /= len; - - smpSub = (int32_t)offset; - for (i = 0; i < len; i++) - { - smp32 = ptr8[i] - smpSub; - CLAMP8(smp32); - ptr8[i] = (int8_t)smp32; - } - - fixSample(s); - resumeAudio(); - } - - writeSampleFlag = true; - setSongModifiedFlag(); - setMouseBusy(false); - - return true; -} - -void fixDC(void) -{ - sampleTyp *s = getCurSample(); - - if (s == NULL || s->pek == NULL || s->len <= 0) - return; - - mouseAnimOn(); - thread = SDL_CreateThread(fixDCThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -void smpEdStop(void) -{ - // safely kills all voices - lockMixerCallback(); - unlockMixerCallback(); -} - -void testSmpEdMouseUp(void) // used for setting new loop points -{ - sampleTyp *s; - - if (updateLoopsOnMouseUp) - { - updateLoopsOnMouseUp = false; - - s = getCurSample(); - if (s == NULL) - return; - - if (s->repS != curSmpRepS || s->repL != curSmpRepL) - { - lockMixerCallback(); - restoreSample(s); - - setSongModifiedFlag(); - - s->repS = curSmpRepS; - s->repL = curSmpRepL; - - fixSample(s); - unlockMixerCallback(); - - writeSample(true); - } - } -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include +#include +#ifndef _WIN32 +#include // chdir() in UNICHAR_CHDIR() +#endif +#include "ft2_header.h" +#include "ft2_config.h" +#include "ft2_audio.h" +#include "ft2_pattern_ed.h" +#include "ft2_gui.h" +#include "ft2_scopes.h" +#include "ft2_video.h" +#include "ft2_inst_ed.h" +#include "ft2_sample_ed.h" +#include "ft2_sample_saver.h" +#include "ft2_mouse.h" +#include "ft2_diskop.h" +#include "ft2_keyboard.h" + +static const char sharpNote1Char[12] = { 'C', 'C', 'D', 'D', 'E', 'F', 'F', 'G', 'G', 'A', 'A', 'B' }; +static const char sharpNote2Char[12] = { '-', '#', '-', '#', '-', '-', '#', '-', '#', '-', '#', '-' }; +static const char flatNote1Char[12] = { 'C', 'D', 'D', 'E', 'E', 'F', 'G', 'G', 'A', 'A', 'B', 'B' }; +static const char flatNote2Char[12] = { '-', 'b', '-', 'b', '-', '-', 'b', '-', 'b', '-', 'b', '-' }; + +static char smpEd_SysReqText[64]; +static int8_t *smpCopyBuff; +static bool updateLoopsOnMouseUp, writeSampleFlag; +static int32_t smpEd_OldSmpPosLine = -1; +static int32_t smpEd_ViewSize, smpEd_ScrPos, smpCopySize, smpCopyBits; +static int32_t old_Rx1, old_Rx2, old_ViewSize, old_SmpScrPos; +static int32_t lastMouseX, lastMouseY, lastDrawX, lastDrawY, mouseXOffs, curSmpRepS, curSmpRepL; +static double dScrPosScaled, dPos2ScrMul, dScr2SmpPosMul; +static SDL_Thread *thread; + +// globals +int32_t smpEd_Rx1 = 0, smpEd_Rx2 = 0; + +sampleTyp *getCurSample(void) +{ + if (editor.curInstr == 0 || instr[editor.curInstr] == NULL) + return NULL; + + return &instr[editor.curInstr]->samp[editor.curSmp]; +} + +// adds wrapped samples after loop/end (for branchless mixer interpolation) +void fixSample(sampleTyp *s) +{ + uint8_t loopType; + int16_t *ptr16; + int32_t loopStart, loopLen, loopEnd, len; + + assert(s != NULL); + if (s->origPek == NULL) + return; // empty sample + + assert(s->pek != NULL); + + loopType = s->typ & 3; + if (loopType == 0) + { + len = s->len; + + // no loop (don't mess with fixed, fixSpar of fixedPos) + + if (s->typ & 16) + { + if (len < 2) + return; + + len /= 2; + ptr16 = (int16_t *)s->pek; + + // write new values + ptr16[-1] = 0; + ptr16[len+0] = 0; +#ifndef LERPMIX + ptr16[len+1] = 0; +#endif + } + else + { + if (len < 1) + return; + + // write new values + s->pek[-1] = 0; + s->pek[len+0] = 0; +#ifndef LERPMIX + s->pek[len+1] = 0; +#endif + } + + return; + } + + if (s->fixed) + return; // already fixed + + if (loopType == 1) + { + // forward loop + + if (s->typ & 16) + { + // 16-bit sample + + if (s->repL < 2) + return; + + loopStart = s->repS / 2; + loopEnd = (s->repS + s->repL) / 2; + + ptr16 = (int16_t *)s->pek; + + // store old fix position and old values + s->fixedPos = s->repS + s->repL; + s->fixedSmp1 = ptr16[loopEnd+0]; +#ifndef LERPMIX + s->fixedSmp2 = ptr16[loopEnd+1]; +#endif + // write new values + ptr16[loopEnd+0] = ptr16[loopStart+0]; +#ifndef LERPMIX + if (loopStart == 0 && loopEnd > 0) + ptr16[-1] = ptr16[loopEnd-1]; + + ptr16[loopEnd+1] = ptr16[loopStart+1]; +#endif + } + else + { + // 8-bit sample + + if (s->repL < 1) + return; + + loopStart = s->repS; + loopEnd = s->repS + s->repL; + + // store old fix position and old values + s->fixedPos = loopEnd; + s->fixedSmp1 = s->pek[loopEnd+0]; +#ifndef LERPMIX + s->fixedSmp2 = s->pek[loopEnd+1]; +#endif + // write new values + s->pek[loopEnd+0] = s->pek[loopStart+0]; +#ifndef LERPMIX + if (loopStart == 0 && loopEnd > 0) + s->pek[-1] = s->pek[loopEnd-1]; + + s->pek[loopEnd+1] = s->pek[loopStart+1]; +#endif + } + } + else + { + // pingpong loop + + if (s->typ & 16) + { + // 16-bit sample + + if (s->repL < 2) + return; + + loopStart = s->repS / 2; + loopLen = s->repL/ 2; + + loopEnd = loopStart + loopLen; + ptr16 = (int16_t *)s->pek; + + // store old fix position and old values + s->fixedPos = s->repS + s->repL; + s->fixedSmp1 = ptr16[loopEnd+0]; +#ifndef LERPMIX + s->fixedSmp2 = ptr16[loopEnd+1]; +#endif + // write new values + ptr16[loopEnd+0] = ptr16[loopEnd-1]; +#ifndef LERPMIX + if (loopStart == 0) + ptr16[-1] = ptr16[0]; + + if (loopLen >= 2) + ptr16[loopEnd+1] = ptr16[loopEnd-2]; + else + ptr16[loopEnd+1] = ptr16[loopStart+0]; +#endif + } + else + { + // 8-bit sample + + if (s->repL < 1) + return; + + loopStart = s->repS; + loopLen = s->repL; + + loopEnd = loopStart + loopLen; + + // store old fix position and old values + s->fixedPos = loopEnd; + s->fixedSmp1 = s->pek[loopEnd+0]; +#ifndef LERPMIX + s->fixedSmp2 = s->pek[loopEnd+1]; +#endif + // write new values + s->pek[loopEnd+0] = s->pek[loopEnd-1]; +#ifndef LERPMIX + if (loopStart == 0) + s->pek[-1] = s->pek[0]; + + if (loopLen >= 2) + s->pek[loopEnd+1] = s->pek[loopEnd-2]; + else + s->pek[loopEnd+1] = s->pek[loopStart+0]; +#endif + } + } + + s->fixed = true; +} + +// reverts wrapped samples after loop/end (for branchless mixer interpolation) +void restoreSample(sampleTyp *s) +{ + int16_t *ptr16; + int32_t fixedPos16; + + assert(s != NULL); + if (s->origPek == NULL || s->len == 0 || (s->typ & 3) == 0 || !s->fixed) + return; // empty sample, no loop or not fixed + + assert(s->pek != NULL); + s->fixed = false; + + // clear pre-start bytes + s->pek[-4] = 0; + s->pek[-3] = 0; + s->pek[-2] = 0; + s->pek[-1] = 0; + + if (s->typ & 16) + { + // 16-bit sample + + ptr16 = (int16_t *)s->pek; + fixedPos16 = s->fixedPos >> 1; + + ptr16[fixedPos16+0] = s->fixedSmp1; +#ifndef LERPMIX + ptr16[fixedPos16+1] = s->fixedSmp2; +#endif + } + else + { + // 8-bit sample + + s->pek[s->fixedPos+0] = (int8_t)s->fixedSmp1; +#ifndef LERPMIX + s->pek[s->fixedPos+1] = (int8_t)s->fixedSmp2; +#endif + } +} + +inline int16_t getSampleValueNr(int8_t *ptr, uint8_t typ, int32_t pos) +{ + assert(pos >= 0); + if (ptr == NULL) + return 0; + + if (typ & 16) + { + assert(!(pos & 1)); + return *(int16_t *)&ptr[pos]; + } + else + { + return ptr[pos]; + } +} + +inline void putSampleValueNr(int8_t *ptr, uint8_t typ, int32_t pos, int16_t val) +{ + assert(pos >= 0); + if (ptr == NULL) + return; + + if (typ & 16) + { + assert(!(pos & 1)); + *(int16_t *)&ptr[pos] = val; + } + else + { + ptr[pos] = (int8_t)val; + } +} + +void clearCopyBuffer(void) +{ + if (smpCopyBuff != NULL) + { + free(smpCopyBuff); + smpCopyBuff = NULL; + } + + smpCopySize = 0; + smpCopyBits = 8; +} + +int32_t getSampleMiddleCRate(sampleTyp *s) +{ + int32_t realFineTune = (int32_t)s->fine >> 3; // the FT2 replayer is ASR'ing the finetune to the right by 3 + double dFTune = realFineTune * (1.0 / 16.0); // new range is -16..15 + + double dFreq = 8363.0 * exp2((s->relTon + dFTune) * (1.0 / 12.0)); + return (int32_t)(dFreq + 0.5); +} + +int32_t getSampleRangeStart(void) +{ + return smpEd_Rx1; +} + +int32_t getSampleRangeEnd(void) +{ + return smpEd_Rx2; +} + +int32_t getSampleRangeLength(void) +{ + return smpEd_Rx2 - smpEd_Rx1; +} + +// for smpPos2Scr() / scr2SmpPos() +static void updateViewSize(void) +{ + if (smpEd_ViewSize == 0) + dPos2ScrMul = 1.0; + else + dPos2ScrMul = (double)SAMPLE_AREA_WIDTH / smpEd_ViewSize; + + dScr2SmpPosMul = smpEd_ViewSize / (double)SAMPLE_AREA_WIDTH; +} + +static void updateScrPos(void) +{ + dScrPosScaled = trunc(smpEd_ScrPos * dPos2ScrMul); +} + +// sample pos -> screen x pos (if outside of visible area, will return <0 or >=SCREEN_W) +static int32_t smpPos2Scr(int32_t pos) +{ + double dPos; + sampleTyp *s; + + if (smpEd_ViewSize <= 0) + return -1; + + s = getCurSample(); + if (s == NULL) + return -1; + + if (pos > s->len) + pos = s->len; + + dPos = (pos * dPos2ScrMul) + 0.5; // rounding is needed here (+ 0.5) + dPos -= dScrPosScaled; + + // this is important, or else the result can mess up in some cases + dPos = CLAMP(dPos, INT32_MIN, INT32_MAX); + pos = (int32_t)dPos; + + return pos; +} + +// screen x pos -> sample pos +static int32_t scr2SmpPos(int32_t x) +{ + double dPos; + sampleTyp *s; + + if (smpEd_ViewSize <= 0) + return 0; + + s = getCurSample(); + if (s == NULL) + return 0; + + if (x < 0) + x = 0; + + dPos = (dScrPosScaled + x) * dScr2SmpPosMul; + x = (int32_t)dPos; + + if (x > s->len) + x = s->len; + + if (s->typ & 16) + x &= 0xFFFFFFFE; + + return x; +} + +static void fixRepeatGadgets(void) +{ + int32_t repS, repE; + sampleTyp *s; + + s = getCurSample(); + if (s == NULL || s->len <= 0 || s->pek == NULL || (s->typ & 3) == 0) + { + hideSprite(SPRITE_LEFT_LOOP_PIN); + hideSprite(SPRITE_RIGHT_LOOP_PIN); + + if (editor.ui.sampleEditorShown) + { + hexOutBg(536, 375, PAL_FORGRND, PAL_DESKTOP, 0, 8); + hexOutBg(536, 387, PAL_FORGRND, PAL_DESKTOP, 0, 8); + } + return; + } + + // draw sample loop points + + repS = smpPos2Scr(curSmpRepS); + repE = smpPos2Scr(curSmpRepS+curSmpRepL); + + // do -8 test because part of the loop sprite sticks out on the left/right + + if (repS >= -8 && repS <= SAMPLE_AREA_WIDTH+8) + setSpritePos(SPRITE_LEFT_LOOP_PIN, (int16_t)(repS - 8), 174); + else + hideSprite(SPRITE_LEFT_LOOP_PIN); + + if (repE >= -8) + { + if (repE <= SAMPLE_AREA_WIDTH+8) + setSpritePos(SPRITE_RIGHT_LOOP_PIN, (int16_t)(repE - 8), 174); + else + hideSprite(SPRITE_RIGHT_LOOP_PIN); + } + else + { + hideSprite(SPRITE_RIGHT_LOOP_PIN); + } + + if (editor.ui.sampleEditorShown) + { + hexOutBg(536, 375, PAL_FORGRND, PAL_DESKTOP, curSmpRepS, 8); + hexOutBg(536, 387, PAL_FORGRND, PAL_DESKTOP, curSmpRepL, 8); + } +} + +static void fixSampleDrag(void) +{ + sampleTyp *s = getCurSample(); + if (s == NULL) + { + setScrollBarPageLength(SB_SAMP_SCROLL, 0); + setScrollBarEnd(SB_SAMP_SCROLL, 0); + setScrollBarPos(SB_SAMP_SCROLL, 0, false); + return; + } + + setScrollBarPageLength(SB_SAMP_SCROLL, smpEd_ViewSize); + setScrollBarEnd(SB_SAMP_SCROLL, instr[editor.curInstr]->samp[editor.curSmp].len); + setScrollBarPos(SB_SAMP_SCROLL, smpEd_ScrPos, false); +} + +static bool getCopyBuffer(int32_t size) +{ + if (smpCopyBuff != NULL) + free(smpCopyBuff); + + if (size > MAX_SAMPLE_LEN) + size = MAX_SAMPLE_LEN; + + smpCopyBuff = (int8_t *)malloc(size); + if (smpCopyBuff == NULL) + { + smpCopySize = 0; + return false; + } + + smpCopySize = size; + return true; +} + +static int32_t SDLCALL copySampleThread(void *ptr) +{ + bool error; + int8_t *p; + int16_t destIns, destSmp, sourceIns, sourceSmp; + sampleTyp *src, *dst; + + (void)ptr; + + error = false; + + destIns = editor.curInstr; + destSmp = editor.curSmp; + sourceIns = editor.srcInstr; + sourceSmp = editor.srcSmp; + + pauseAudio(); + + if (instr[destIns] == NULL) + error = !allocateInstr(destIns); + + if (!error) + { + freeSample(destIns, destSmp); + + src = &instr[sourceIns]->samp[sourceSmp]; + dst = &instr[destIns]->samp[destSmp]; + + if (instr[sourceIns] != NULL && src->origPek != NULL) + { + p = (int8_t *)malloc(src->len + LOOP_FIX_LEN); + if (p != NULL) + { + memcpy(dst, src, sizeof (sampleTyp)); + memcpy(p, src->origPek, src->len + LOOP_FIX_LEN); + dst->origPek = p; + dst->pek = dst->origPek + SMP_DAT_OFFSET; + } + else error = true; + } + } + + resumeAudio(); + + if (error) + okBoxThreadSafe(0, "System message", "Not enough memory!"); + + editor.updateCurSmp = true; + setSongModifiedFlag(); + setMouseBusy(false); + + return true; +} + +void copySmp(void) // copy sample from srcInstr->srcSmp to curInstr->curSmp +{ + if (editor.curInstr == 0 || (editor.curInstr == editor.srcInstr && editor.curSmp == editor.srcSmp)) + return; + + mouseAnimOn(); + thread = SDL_CreateThread(copySampleThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +void xchgSmp(void) // dstSmp <-> srcSmp +{ + sampleTyp *src, *dst, dstTmp; + + if (editor.curInstr == 0 || + (editor.curInstr == editor.srcInstr && editor.curSmp == editor.srcSmp) || + instr[editor.curInstr] == NULL) + { + return; + } + + src = &instr[editor.curInstr]->samp[editor.srcSmp]; + dst = &instr[editor.curInstr]->samp[editor.curSmp]; + + lockMixerCallback(); + dstTmp = *dst; + *dst = *src; + *src = dstTmp; + unlockMixerCallback(); + + updateNewSample(); + setSongModifiedFlag(); +} + +static void writeRange(void) +{ + int32_t start, end, rangeLen; + uint32_t *ptr32; + + // very first sample (rx1=0,rx2=0) is the "no range" special case + if (!editor.ui.sampleEditorShown || smpEd_ViewSize == 0 || (smpEd_Rx1 == 0 && smpEd_Rx2 == 0)) + return; + + // test if range is outside of view (passed it by scrolling) + start = smpPos2Scr(smpEd_Rx1); + if (start >= SAMPLE_AREA_WIDTH) + return; + + // test if range is outside of view (passed it by scrolling) + end = smpPos2Scr(smpEd_Rx2); + if (end < 0) + return; + + start = CLAMP(start, 0, SAMPLE_AREA_WIDTH - 1); + end = CLAMP(end, 0, SAMPLE_AREA_WIDTH - 1); + rangeLen = (end + 1) - start; + + assert(start+rangeLen <= SCREEN_W); + + ptr32 = &video.frameBuffer[(174 * SCREEN_W) + start]; + for (int32_t y = 0; y < SAMPLE_AREA_HEIGHT; y++) + { + for (int32_t x = 0; x < rangeLen; x++) + ptr32[x] = video.palette[(ptr32[x] >> 24) ^ 2]; // ">> 24" to get palette, XOR 2 to switch between mark/normal palette + + ptr32 += SCREEN_W; + } +} + +static int8_t getScaledSample(sampleTyp *s, int32_t index) +{ + int8_t *ptr8, sample; + int16_t *ptr16; + int32_t tmp32; + + if (s->pek == NULL || index < 0 || index >= s->len) + return 0; // return center value if overflown (e.g. sample is shorter than screen width) + + if (s->typ & 16) + { + ptr16 = (int16_t *)s->pek; + + assert(!(index & 1)); + + // restore fixed mixer interpolation sample(s) + if (s->fixed) + { + if (index == s->fixedPos) + tmp32 = s->fixedSmp1; +#ifndef LERPMIX + else if (index == s->fixedPos+2) + tmp32 = s->fixedSmp2; +#endif + else + tmp32 = ptr16[index >> 1]; + } + else + { + tmp32 = ptr16[index >> 1]; + } + + sample = (int8_t)((tmp32 * SAMPLE_AREA_HEIGHT) >> 16); + } + else + { + ptr8 = s->pek; + + // restore fixed mixer interpolation sample(s) + if (s->fixed) + { + if (index == s->fixedPos) + tmp32 = s->fixedSmp1; +#ifndef LERPMIX + else if (index == s->fixedPos+1) + tmp32 = s->fixedSmp2; +#endif + else + tmp32 = ptr8[index]; + } + else + { + tmp32 = ptr8[index]; + } + + sample = (int8_t)((tmp32 * SAMPLE_AREA_HEIGHT) >> 8); + } + + return sample; +} + +static void sampleLine(int16_t x1, int16_t x2, int16_t y1, int16_t y2) +{ + int16_t d, x, y, sx, sy, dx, dy; + uint16_t ax, ay; + int32_t pitch; + uint32_t pal1, pal2, pixVal, *dst32; + + // get coefficients + dx = x2 - x1; + ax = ABS(dx) * 2; + sx = SGN(dx); + dy = y2 - y1; + ay = ABS(dy) * 2; + sy = SGN(dy); + x = x1; + y = y1; + + pal1 = video.palette[PAL_DESKTOP]; + pal2 = video.palette[PAL_FORGRND]; + pixVal = video.palette[PAL_PATTEXT]; + pitch = sy * SCREEN_W; + + dst32 = &video.frameBuffer[(y * SCREEN_W) + x]; + + // draw line + if (ax > ay) + { + d = ay - (ax / 2); + + while (true) + { + // invert certain colors + if (*dst32 != pal2) + { + if (*dst32 == pal1) + *dst32 = pal2; + else + *dst32 = pixVal; + } + + if (x == x2) + break; + + if (d >= 0) + { + d -= ax; + dst32 += pitch; + } + + x += sx; + d += ay; + dst32 += sx; + } + } + else + { + d = ax - (ay / 2); + + while (true) + { + // invert certain colors + if (*dst32 != pal2) + { + if (*dst32 == pal1) + *dst32 = pal2; + else + *dst32 = pixVal; + } + + if (y == y2) + break; + + if (d >= 0) + { + d -= ay; + dst32 += sx; + } + + y += sy; + d += ax; + dst32 += pitch; + } + } +} + +static void getMinMax16(const void *p, uint32_t scanLen, int16_t *min16, int16_t *max16) +{ +#if defined __APPLE__ || defined _WIN32 || defined __amd64__ || (defined __i386__ && defined __SSE2__) + if (cpu.hasSSE2) + { + /* Taken with permission from the OpenMPT project (and slightly modified). + ** + ** SSE2 implementation for min/max finder, packs 8*int16 in a 128-bit XMM register. + ** scanLen = How many samples to process + */ + const int16_t *p16; + uint32_t scanLen8; + const __m128i *v; + __m128i minVal, maxVal, minVal2, maxVal2, curVals; + + // Put minimum / maximum in 8 packed int16 values + minVal = _mm_set1_epi16(32767); + maxVal = _mm_set1_epi16(-32768); + + scanLen8 = scanLen / 8; + if (scanLen8 > 0) + { + v = (__m128i *)p; + p = (const __m128i *)p + scanLen8; + + while (scanLen8--) + { + curVals = _mm_loadu_si128(v++); + minVal = _mm_min_epi16(minVal, curVals); + maxVal = _mm_max_epi16(maxVal, curVals); + } + + /* Now we have 8 minima and maxima each. + ** Move the upper 4 values to the lower half and compute the minima/maxima of that. */ + minVal2 = _mm_unpackhi_epi64(minVal, minVal); + maxVal2 = _mm_unpackhi_epi64(maxVal, maxVal); + minVal = _mm_min_epi16(minVal, minVal2); + maxVal = _mm_max_epi16(maxVal, maxVal2); + + /* Now we have 4 minima and maxima each. + ** Move the upper 2 values to the lower half and compute the minima/maxima of that. */ + minVal2 = _mm_shuffle_epi32(minVal, _MM_SHUFFLE(1, 1, 1, 1)); + maxVal2 = _mm_shuffle_epi32(maxVal, _MM_SHUFFLE(1, 1, 1, 1)); + minVal = _mm_min_epi16(minVal, minVal2); + maxVal = _mm_max_epi16(maxVal, maxVal2); + + // Compute the minima/maxima of the both remaining values + minVal2 = _mm_shufflelo_epi16(minVal, _MM_SHUFFLE(1, 1, 1, 1)); + maxVal2 = _mm_shufflelo_epi16(maxVal, _MM_SHUFFLE(1, 1, 1, 1)); + minVal = _mm_min_epi16(minVal, minVal2); + maxVal = _mm_max_epi16(maxVal, maxVal2); + } + + p16 = (const int16_t *)p; + while (scanLen-- & 7) + { + curVals = _mm_set1_epi16(*p16++); + minVal = _mm_min_epi16(minVal, curVals); + maxVal = _mm_max_epi16(maxVal, curVals); + } + + *min16 = (int16_t)_mm_cvtsi128_si32(minVal); + *max16 = (int16_t)_mm_cvtsi128_si32(maxVal); + } + else +#endif + { + // non-SSE version (really slow for big samples, especially when scrolling!) + int16_t smp16, minVal, maxVal, *ptr16; + + minVal = 32767; + maxVal = -32768; + + ptr16 = (int16_t *)p; + for (uint32_t i = 0; i < scanLen; i++) + { + smp16 = ptr16[i]; + if (smp16 < minVal) minVal = smp16; + if (smp16 > maxVal) maxVal = smp16; + } + + *min16 = minVal; + *max16 = maxVal; + } +} + +static void getMinMax8(const void *p, uint32_t scanLen, int8_t *min8, int8_t *max8) +{ +#if defined __APPLE__ || defined _WIN32 || defined __amd64__ || (defined __i386__ && defined __SSE2__) + if (cpu.hasSSE2) + { + /* Taken with permission from the OpenMPT project (and slightly modified). + ** + ** SSE2 implementation for min/max finder, packs 16*int8 in a 128-bit XMM register. + ** scanLen = How many samples to process + */ + const int8_t *p8; + uint32_t scanLen16; + const __m128i *v; + __m128i xorVal, minVal, maxVal, minVal2, maxVal2, curVals; + + // Put minimum / maximum in 8 packed int16 values (-1 and 0 because unsigned) + minVal = _mm_set1_epi8(-1); + maxVal = _mm_set1_epi8(0); + + // For signed <-> unsigned conversion (_mm_min_epi8/_mm_max_epi8 is SSE4) + xorVal = _mm_set1_epi8(0x80); + + scanLen16 = scanLen / 16; + if (scanLen16 > 0) + { + v = (__m128i *)p; + p = (const __m128i *)p + scanLen16; + + while (scanLen16--) + { + curVals = _mm_loadu_si128(v++); + curVals = _mm_xor_si128(curVals, xorVal); + minVal = _mm_min_epu8(minVal, curVals); + maxVal = _mm_max_epu8(maxVal, curVals); + } + + /* Now we have 16 minima and maxima each. + ** Move the upper 8 values to the lower half and compute the minima/maxima of that. */ + minVal2 = _mm_unpackhi_epi64(minVal, minVal); + maxVal2 = _mm_unpackhi_epi64(maxVal, maxVal); + minVal = _mm_min_epu8(minVal, minVal2); + maxVal = _mm_max_epu8(maxVal, maxVal2); + + /* Now we have 8 minima and maxima each. + ** Move the upper 4 values to the lower half and compute the minima/maxima of that. */ + minVal2 = _mm_shuffle_epi32(minVal, _MM_SHUFFLE(1, 1, 1, 1)); + maxVal2 = _mm_shuffle_epi32(maxVal, _MM_SHUFFLE(1, 1, 1, 1)); + minVal = _mm_min_epu8(minVal, minVal2); + maxVal = _mm_max_epu8(maxVal, maxVal2); + + /* Now we have 4 minima and maxima each. + ** Move the upper 2 values to the lower half and compute the minima/maxima of that. */ + minVal2 = _mm_srai_epi32(minVal, 16); + maxVal2 = _mm_srai_epi32(maxVal, 16); + minVal = _mm_min_epu8(minVal, minVal2); + maxVal = _mm_max_epu8(maxVal, maxVal2); + + // Compute the minima/maxima of the both remaining values + minVal2 = _mm_srai_epi16(minVal, 8); + maxVal2 = _mm_srai_epi16(maxVal, 8); + minVal = _mm_min_epu8(minVal, minVal2); + maxVal = _mm_max_epu8(maxVal, maxVal2); + } + + p8 = (const int8_t *)p; + while (scanLen-- & 15) + { + curVals = _mm_set1_epi8(*p8++ ^ 0x80); + minVal = _mm_min_epu8(minVal, curVals); + maxVal = _mm_max_epu8(maxVal, curVals); + } + + *min8 = (int8_t)(_mm_cvtsi128_si32(minVal) ^ 0x80); + *max8 = (int8_t)(_mm_cvtsi128_si32(maxVal) ^ 0x80); + } + else +#endif + { + // non-SSE version (really slow for big samples, especially when scrolling!) + int8_t smp8, minVal, maxVal, *ptr8; + + minVal = 127; + maxVal = -128; + + ptr8 = (int8_t *)p; + for (uint32_t i = 0; i < scanLen; i++) + { + smp8 = ptr8[i]; + if (smp8 < minVal) minVal = smp8; + if (smp8 > maxVal) maxVal = smp8; + } + + *min8 = minVal; + *max8 = maxVal; + } +} + +static void getSampleDataPeak(sampleTyp *s, int32_t index, int32_t numBytes, int16_t *outMin, int16_t *outMax) +{ + int8_t min8, max8; + int16_t min16, max16; + + if (numBytes == 0 || s->pek == NULL || s->len <= 0) + { + *outMin = SAMPLE_AREA_Y_CENTER; + *outMax = SAMPLE_AREA_Y_CENTER; + return; + } + + if (s->typ & 16) + { + // 16-bit sample + + assert(!(index & 1)); + + getMinMax16((int16_t *)&s->pek[index], numBytes >> 1, &min16, &max16); + + *outMin = SAMPLE_AREA_Y_CENTER - ((min16 * SAMPLE_AREA_HEIGHT) >> 16); + *outMax = SAMPLE_AREA_Y_CENTER - ((max16 * SAMPLE_AREA_HEIGHT) >> 16); + } + else + { + // 8-bit sample + + getMinMax8(&s->pek[index], numBytes, &min8, &max8); + + *outMin = SAMPLE_AREA_Y_CENTER - ((min8 * SAMPLE_AREA_HEIGHT) >> 8); + *outMax = SAMPLE_AREA_Y_CENTER - ((max8 * SAMPLE_AREA_HEIGHT) >> 8); + } +} + +static void writeWaveform(void) +{ + int16_t x, y1, y2, min, max, oldMin, oldMax; + int32_t smpIdx, smpNum, smpNumMin; + uint32_t viewSizeSamples; + sampleTyp *s; + + // clear sample data area + memset(&video.frameBuffer[174 * SCREEN_W], 0, SAMPLE_AREA_WIDTH * SAMPLE_AREA_HEIGHT * sizeof (int32_t)); + + // draw center line + hLine(0, SAMPLE_AREA_Y_CENTER, SAMPLE_AREA_WIDTH, PAL_DESKTOP); + + if (instr[editor.curInstr] == NULL || smpEd_ViewSize == 0) + return; + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + if (s->pek == NULL || s->len == 0) + return; + + y1 = SAMPLE_AREA_Y_CENTER - getScaledSample(s, scr2SmpPos(0)); + + viewSizeSamples = smpEd_ViewSize; + if (s->typ & 16) + viewSizeSamples /= 2; + + if (viewSizeSamples <= SAMPLE_AREA_WIDTH) + { + // 1:1 or zoomed in + for (x = 1; x < SAMPLE_AREA_WIDTH; x++) + { + y2 = SAMPLE_AREA_Y_CENTER - getScaledSample(s, scr2SmpPos(x)); + sampleLine(x - 1, x, y1, y2); + y1 = y2; + } + } + else + { + // zoomed out + + oldMin = y1; + oldMax = y1; + + smpNumMin = (s->typ & 16) ? 2 : 1; + for (x = 0; x < SAMPLE_AREA_WIDTH; x++) + { + smpIdx = scr2SmpPos(x); + smpNum = scr2SmpPos(x+1) - smpIdx; + + // prevent look-up overflow (yes, this can happen near the end of the sample) + if (smpIdx+smpNum > s->len) + smpNum = s->len - smpNum; + + if (smpNum < smpNumMin) + smpNum = smpNumMin; + + getSampleDataPeak(s, smpIdx, smpNum, &min, &max); + + if (x != 0) + { + if (min > oldMax) sampleLine(x - 1, x, oldMax, min); + if (max < oldMin) sampleLine(x - 1, x, oldMin, max); + } + + sampleLine(x, x, max, min); + + oldMin = min; + oldMax = max; + } + } +} + +void writeSample(bool forceSmpRedraw) +{ + int32_t tmpRx1, tmpRx2; + sampleTyp *s; + + // update sample loop points for visuals + + if (instr[editor.curInstr] == NULL) + s = &instr[0]->samp[0]; + else + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + curSmpRepS = s->repS; + curSmpRepL = s->repL; + + // exchange range variables if x1 is after x2 + if (smpEd_Rx1 > smpEd_Rx2) + { + tmpRx2 = smpEd_Rx2; + smpEd_Rx2 = smpEd_Rx1; + smpEd_Rx1 = tmpRx2; + } + + // clamp range + smpEd_Rx1 = CLAMP(smpEd_Rx1, 0, s->len); + smpEd_Rx2 = CLAMP(smpEd_Rx2, 0, s->len); + + // sanitize sample scroll position + if (smpEd_ScrPos+smpEd_ViewSize > s->len) + { + smpEd_ScrPos = s->len - smpEd_ViewSize; + updateScrPos(); + } + + if (smpEd_ScrPos < 0) + { + smpEd_ScrPos = 0; + updateScrPos(); + + if (smpEd_ViewSize > s->len) + { + smpEd_ViewSize = s->len; + updateViewSize(); + } + } + + // handle updating + if (editor.ui.sampleEditorShown) + { + // check if we need to redraw sample data + if (forceSmpRedraw || (old_SmpScrPos != smpEd_ScrPos || old_ViewSize != smpEd_ViewSize)) + { + if (editor.ui.sampleEditorShown) + writeWaveform(); + + old_SmpScrPos = smpEd_ScrPos; + old_ViewSize = smpEd_ViewSize; + + if (editor.ui.sampleEditorShown) + writeRange(); // range was overwritten, draw it again + + smpEd_OldSmpPosLine = -1; + + old_Rx1 = smpEd_Rx1; + old_Rx2 = smpEd_Rx2; + } + + // check if we need to write new range + if (old_Rx1 != smpEd_Rx1 || old_Rx2 != smpEd_Rx2) + { + tmpRx1 = smpEd_Rx1; + tmpRx2 = smpEd_Rx2; + + // remove old range + smpEd_Rx1 = old_Rx1; + smpEd_Rx2 = old_Rx2; + + if (editor.ui.sampleEditorShown) + writeRange(); + + // write new range + smpEd_Rx1 = tmpRx1; + smpEd_Rx2 = tmpRx2; + + if (editor.ui.sampleEditorShown) + writeRange(); + + old_Rx1 = smpEd_Rx1; + old_Rx2 = smpEd_Rx2; + } + + fixRepeatGadgets(); + } + + if (editor.ui.sampleEditorShown) + fixSampleDrag(); + + updateSampleEditor(); +} + +static void setSampleRange(int32_t start, int32_t end) +{ + sampleTyp *s; + + if (instr[editor.curInstr] == NULL) + { + smpEd_Rx1 = 0; + smpEd_Rx2 = 0; + return; + } + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + if (start < 0) + start = 0; + + if (end < 0) + end = 0; + + // kludge so that you can mark the last sample of what we see + // XXX: This doesn't seem to work properly! + if (end == SCREEN_W-1) + { + if (smpEd_ViewSize < SAMPLE_AREA_WIDTH) // zoomed in + end += 2; + else if (smpEd_ScrPos+smpEd_ViewSize >= s->len) + end++; + } + + smpEd_Rx1 = scr2SmpPos(start); + smpEd_Rx2 = scr2SmpPos(end); + + // 2-byte align if sample is 16-bit + if (s->typ & 16) + { + smpEd_Rx1 &= 0xFFFFFFFE; + smpEd_Rx2 &= 0xFFFFFFFE; + } +} + +void updateSampleEditorSample(void) +{ + smpEd_Rx1 = 0; + smpEd_Rx2 = 0; + + smpEd_ScrPos = 0; + updateScrPos(); + + if (instr[editor.curInstr] == NULL) + smpEd_ViewSize = 0; + else + smpEd_ViewSize = instr[editor.curInstr]->samp[editor.curSmp].len; + + updateViewSize(); + + writeSample(true); +} + +void updateSampleEditor(void) +{ + char noteChar1, noteChar2, octaChar; + uint8_t note, typ; + int32_t sampleLen; + + if (!editor.ui.sampleEditorShown) + return; + + if (instr[editor.curInstr] == NULL) + { + typ = 0; + sampleLen = 0; + } + else + { + typ = instr[editor.curInstr]->samp[editor.curSmp].typ; + sampleLen = instr[editor.curInstr]->samp[editor.curSmp].len; + } + + // sample bit depth radio buttons + uncheckRadioButtonGroup(RB_GROUP_SAMPLE_DEPTH); + if (typ & 16) + radioButtons[RB_SAMPLE_16BIT].state = RADIOBUTTON_CHECKED; + else + radioButtons[RB_SAMPLE_8BIT].state = RADIOBUTTON_CHECKED; + showRadioButtonGroup(RB_GROUP_SAMPLE_DEPTH); + + // sample loop radio buttons + uncheckRadioButtonGroup(RB_GROUP_SAMPLE_LOOP); + if (typ & 3) + { + if (typ & 2) + radioButtons[RB_SAMPLE_PINGPONG_LOOP].state = RADIOBUTTON_CHECKED; + else + radioButtons[RB_SAMPLE_FORWARD_LOOP].state = RADIOBUTTON_CHECKED; + } + else + { + radioButtons[RB_SAMPLE_NO_LOOP].state = RADIOBUTTON_CHECKED; + } + showRadioButtonGroup(RB_GROUP_SAMPLE_LOOP); + + // draw sample play note + + note = (editor.smpEd_NoteNr - 1) % 12; + if (config.ptnAcc == 0) + { + noteChar1 = sharpNote1Char[note]; + noteChar2 = sharpNote2Char[note]; + } + else + { + noteChar1 = flatNote1Char[note]; + noteChar2 = flatNote2Char[note]; + } + + octaChar = '0' + ((editor.smpEd_NoteNr - 1) / 12); + + charOutBg(7, 369, PAL_FORGRND, PAL_BCKGRND, noteChar1); + charOutBg(15, 369, PAL_FORGRND, PAL_BCKGRND, noteChar2); + charOutBg(23, 369, PAL_FORGRND, PAL_BCKGRND, octaChar); + + // draw sample display/length + + hexOutBg(536, 350, PAL_FORGRND, PAL_DESKTOP, smpEd_ViewSize, 8); + hexOutBg(536, 362, PAL_FORGRND, PAL_DESKTOP, sampleLen, 8); +} + +void sampPlayNoteUp(void) +{ + if (editor.smpEd_NoteNr < 96) + { + editor.smpEd_NoteNr++; + updateSampleEditor(); + } +} + +void sampPlayNoteDown(void) +{ + if (editor.smpEd_NoteNr > 1) + { + editor.smpEd_NoteNr--; + updateSampleEditor(); + } +} + +void scrollSampleDataLeft(void) +{ + int32_t scrollAmount, sampleLen; + + if (instr[editor.curInstr] == NULL) + sampleLen = 0; + else + sampleLen = instr[editor.curInstr]->samp[editor.curSmp].len; + + if (smpEd_ViewSize == 0 || smpEd_ViewSize == sampleLen) + return; + + if (mouse.rightButtonPressed) + { + scrollAmount = smpEd_ViewSize / 14; // rounded from 16 (70Hz) + if (scrollAmount < 1) + scrollAmount = 1; + } + else + { + scrollAmount = smpEd_ViewSize / 27; // rounded from 32 (70Hz) + if (scrollAmount < 1) + scrollAmount = 1; + } + + smpEd_ScrPos -= scrollAmount; + if (smpEd_ScrPos < 0) + smpEd_ScrPos = 0; + + updateScrPos(); +} + +void scrollSampleDataRight(void) +{ + int32_t scrollAmount, sampleLen; + + if (instr[editor.curInstr] == NULL) + sampleLen = 0; + else + sampleLen = instr[editor.curInstr]->samp[editor.curSmp].len; + + if (smpEd_ViewSize == 0 || smpEd_ViewSize == sampleLen) + return; + + if (mouse.rightButtonPressed) + { + scrollAmount = smpEd_ViewSize / 14; // was 16 (70Hz->60Hz) + if (scrollAmount < 1) + scrollAmount = 1; + } + else + { + scrollAmount = smpEd_ViewSize / 27; // was 32 (70Hz->60Hz) + if (scrollAmount < 1) + scrollAmount = 1; + } + + smpEd_ScrPos += scrollAmount; + if (smpEd_ScrPos+smpEd_ViewSize > sampleLen) + smpEd_ScrPos = sampleLen - smpEd_ViewSize; + + updateScrPos(); +} + +void scrollSampleData(uint32_t pos) +{ + int32_t sampleLen; + + if (instr[editor.curInstr] == NULL) + sampleLen = 0; + else + sampleLen = instr[editor.curInstr]->samp[editor.curSmp].len; + + if (smpEd_ViewSize == 0 || smpEd_ViewSize == sampleLen) + return; + + smpEd_ScrPos = (int32_t)pos; + updateScrPos(); +} + +void sampPlayWave(void) +{ + playSample(editor.cursor.ch, editor.curInstr, editor.curSmp, editor.smpEd_NoteNr, 0, 0); +} + +void sampPlayDisplay(void) +{ + playRange(editor.cursor.ch, editor.curInstr, editor.curSmp, editor.smpEd_NoteNr, 0, 0, smpEd_ScrPos, smpEd_ViewSize); +} + +void sampPlayRange(void) +{ + playRange(editor.cursor.ch, editor.curInstr, editor.curSmp, editor.smpEd_NoteNr, 0, 0, smpEd_Rx1, smpEd_Rx2 - smpEd_Rx1); +} + +void showRange(void) +{ + sampleTyp *s; + + if (editor.curInstr == 0 || instr[editor.curInstr] == NULL) + return; + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + if (s->pek == NULL) + return; + + if (smpEd_Rx1 < smpEd_Rx2) + { + smpEd_ViewSize = smpEd_Rx2 - smpEd_Rx1; + + if (s->typ & 16) + { + if (smpEd_ViewSize < 4) + smpEd_ViewSize = 4; + } + else if (smpEd_ViewSize < 2) + { + smpEd_ViewSize = 2; + } + + updateViewSize(); + + smpEd_ScrPos = smpEd_Rx1; + updateScrPos(); + } + else + { + okBox(0, "System message", "Cannot show empty range!"); + } +} + +void rangeAll(void) +{ + if (editor.curInstr == 0 || + instr[editor.curInstr] == NULL || + instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) + { + return; + } + + smpEd_Rx1 = smpEd_ScrPos; + smpEd_Rx2 = smpEd_ScrPos + smpEd_ViewSize; +} + +static void zoomSampleDataIn(int32_t step, int16_t x) +{ + int32_t tmp32, minViewSize; + int64_t newScrPos64; + sampleTyp *s; + + if (editor.curInstr == 0 || + instr[editor.curInstr] == NULL || + instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) + { + return; + } + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + minViewSize = (s->typ & 16) ? 4 : 2; + if (old_ViewSize <= minViewSize) + return; + + if (step < 1) + step = 1; + + smpEd_ViewSize = old_ViewSize - (step * 2); + if (smpEd_ViewSize < minViewSize) + smpEd_ViewSize = minViewSize; + + updateViewSize(); + + tmp32 = (x - (SAMPLE_AREA_WIDTH / 2)) * step; + tmp32 += SAMPLE_AREA_WIDTH/4; // rounding bias + tmp32 /= SAMPLE_AREA_WIDTH/2; + + step += tmp32; + + newScrPos64 = old_SmpScrPos + step; + if (newScrPos64+smpEd_ViewSize > s->len) + newScrPos64 = s->len - smpEd_ViewSize; + + smpEd_ScrPos = newScrPos64 & 0xFFFFFFFF; + updateScrPos(); +} + +static void zoomSampleDataOut(int32_t step, int16_t x) +{ + int32_t tmp32; + int64_t newViewSize64; + sampleTyp *s; + + if (editor.curInstr == 0 || + instr[editor.curInstr] == NULL || + instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) + { + return; + } + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + if (old_ViewSize == s->len) + return; + + if (step < 1) + step = 1; + + newViewSize64 = (int64_t)old_ViewSize + (step * 2); + if (newViewSize64 > s->len) + { + smpEd_ViewSize = s->len; + smpEd_ScrPos = 0; + } + else + { + tmp32 = (x - (SAMPLE_AREA_WIDTH / 2)) * step; + tmp32 += SAMPLE_AREA_WIDTH/4; // rounding bias + tmp32 /= SAMPLE_AREA_WIDTH/2; + + step += tmp32; + + smpEd_ViewSize = newViewSize64 & 0xFFFFFFFF; + + smpEd_ScrPos = old_SmpScrPos - step; + if (smpEd_ScrPos < 0) + smpEd_ScrPos = 0; + + if ((smpEd_ScrPos + smpEd_ViewSize) > s->len) + smpEd_ScrPos = s->len - smpEd_ViewSize; + } + + updateViewSize(); + updateScrPos(); +} + +void mouseZoomSampleDataIn(void) +{ + if (editor.curInstr == 0 || + instr[editor.curInstr] == NULL || + instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) + { + return; + } + + zoomSampleDataIn((old_ViewSize + 5) / 10, mouse.x); +} + +void mouseZoomSampleDataOut(void) +{ + if (editor.curInstr == 0 || + instr[editor.curInstr] == NULL || + instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) + { + return; + } + + zoomSampleDataOut((old_ViewSize + 5) / 10, mouse.x); +} + +void zoomOut(void) +{ + sampleTyp *s; + + if (editor.curInstr == 0 || + instr[editor.curInstr] == NULL || + instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) + { + return; + } + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + if (old_ViewSize == s->len) + return; + + int32_t tmp32 = old_ViewSize; + tmp32++; // rounding bias + tmp32 >>= 1; + + smpEd_ScrPos = old_SmpScrPos - tmp32; + if (smpEd_ScrPos < 0) + smpEd_ScrPos = 0; + + smpEd_ViewSize = old_ViewSize * 2; + if (smpEd_ViewSize < old_ViewSize) + { + smpEd_ViewSize = s->len; + smpEd_ScrPos = 0; + } + else if (smpEd_ViewSize+smpEd_ScrPos > s->len) + { + smpEd_ViewSize = s->len - smpEd_ScrPos; + } + + updateViewSize(); + updateScrPos(); +} + +void showAll(void) +{ + if (editor.curInstr == 0 || + instr[editor.curInstr] == NULL || + instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) + { + return; + } + + smpEd_ScrPos = 0; + updateScrPos(); + + smpEd_ViewSize = instr[editor.curInstr]->samp[editor.curSmp].len; + updateViewSize(); +} + +void saveRange(void) +{ + UNICHAR *filenameU; + + if (editor.curInstr == 0 || + instr[editor.curInstr] == NULL || + instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) + { + return; + } + + if (smpEd_Rx1 >= smpEd_Rx2) + { + okBox(0, "System message", "No range specified!"); + return; + } + + smpEd_SysReqText[0] = '\0'; + if (inputBox(1, "Enter filename:", smpEd_SysReqText, sizeof (smpEd_SysReqText) - 1) != 1) + return; + + if (smpEd_SysReqText[0] == '\0') + { + okBox(0, "System message", "Filename can't be empty!"); + return; + } + + if (smpEd_SysReqText[0] == '.') + { + okBox(0, "System message", "The very first character in the filename can't be '.' (dot)!"); + return; + } + + if (strpbrk(smpEd_SysReqText, "\\/:*?\"<>|") != NULL) + { + okBox(0, "System message", "The filename can't contain the following characters: \\ / : * ? \" < > |"); + return; + } + + switch (editor.sampleSaveMode) + { + case SMP_SAVE_MODE_RAW: changeFilenameExt(smpEd_SysReqText, ".raw", sizeof (smpEd_SysReqText) - 1); break; + case SMP_SAVE_MODE_IFF: changeFilenameExt(smpEd_SysReqText, ".iff", sizeof (smpEd_SysReqText) - 1); break; + default: case SMP_SAVE_MODE_WAV: changeFilenameExt(smpEd_SysReqText, ".wav", sizeof (smpEd_SysReqText) - 1); break; + } + + filenameU = cp437ToUnichar(smpEd_SysReqText); + if (filenameU == NULL) + { + okBox(0, "System message", "Error converting string locale!"); + return; + } + + saveSample(filenameU, SAVE_RANGE); + free(filenameU); +} + +static bool cutRange(bool cropMode, int32_t r1, int32_t r2) +{ + int8_t *newPtr; + int32_t len, repE; + sampleTyp *s = getCurSample(); + + if (s == NULL) + return false; + + assert(!(s->typ & 16) || (!(r1 & 1) && !(r2 & 1) && !(s->len & 1))); + + if (!cropMode) + { + if (editor.curInstr == 0 || s->pek == NULL || s->len == 0) + return false; + + pauseAudio(); + restoreSample(s); + + if (config.smpCutToBuffer) + { + if (!getCopyBuffer(r2 - r1)) + { + fixSample(s); + resumeAudio(); + + okBoxThreadSafe(0, "System message", "Not enough memory!"); + return false; + } + + memcpy(smpCopyBuff, &s->pek[r1], r2 - r1); + smpCopyBits = (s->typ & 16) ? 16 : 8; + } + } + + memmove(&s->pek[r1], &s->pek[r2], s->len - r2); + + len = s->len - r2 + r1; + if (len > 0) + { + newPtr = (int8_t *)realloc(s->origPek, len + LOOP_FIX_LEN); + if (newPtr == NULL) + { + freeSample(editor.curInstr, editor.curSmp); + editor.updateCurSmp = true; + + if (!cropMode) + resumeAudio(); + + okBoxThreadSafe(0, "System message", "Not enough memory!"); + return false; + } + + s->origPek = newPtr; + s->pek = s->origPek + SMP_DAT_OFFSET; + + s->len = len; + + repE = s->repS + s->repL; + if (s->repS > r1) + { + s->repS -= r2 - r1; + if (s->repS < r1) + s->repS = r1; + } + + if (repE > r1) + { + repE -= r2 - r1; + if (repE < r1) + repE = r1; + } + + s->repL = repE - s->repS; + if (s->repL < 0) + s->repL = 0; + + if (s->repS+s->repL > len) + s->repL = len - s->repS; + + // 2-byte align loop points if sample is 16-bit + if (s->typ & 16) + { + s->repL &= 0xFFFFFFFE; + s->repS &= 0xFFFFFFFE; + } + + if (s->repL == 0) + { + s->repS = 0; + s->typ &= ~3; // disable loop + } + + if (!cropMode) + fixSample(s); + } + else + { + freeSample(editor.curInstr, editor.curSmp); + editor.updateCurSmp = true; + } + + if (!cropMode) + { + resumeAudio(); + setSongModifiedFlag(); + + setMouseBusy(false); + + smpEd_Rx2 = r1; + writeSampleFlag = true; + } + + return true; +} + +static int32_t SDLCALL sampCutThread(void *ptr) +{ + (void)ptr; + + if (!cutRange(false, smpEd_Rx1, smpEd_Rx2)) + okBoxThreadSafe(0, "System message", "Not enough memory! (Disable \"cut to buffer\")"); + else + writeSampleFlag = true; + + return true; +} + +void sampCut(void) +{ + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0 || smpEd_Rx2 == 0 || smpEd_Rx2 < smpEd_Rx1) + return; + + mouseAnimOn(); + thread = SDL_CreateThread(sampCutThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +static int32_t SDLCALL sampCopyThread(void *ptr) +{ + sampleTyp *s = getCurSample(); + + (void)ptr; + + assert(s != NULL && (!(s->typ & 16) || (!(smpEd_Rx1 & 1) && !(smpEd_Rx2 & 1)))); + + if (!getCopyBuffer(smpEd_Rx2 - smpEd_Rx1)) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + return true; + } + + restoreSample(s); + memcpy(smpCopyBuff, &s->pek[smpEd_Rx1], smpEd_Rx2 - smpEd_Rx1); + fixSample(s); + + smpCopyBits = (s->typ & 16) ? 16 : 8; + setMouseBusy(false); + + return true; +} + +void sampCopy(void) +{ + sampleTyp *s = getCurSample(); + + if (s == NULL || s->origPek == NULL || s->len <= 0 || smpEd_Rx2 == 0 || smpEd_Rx2 < smpEd_Rx1) + return; + + mouseAnimOn(); + thread = SDL_CreateThread(sampCopyThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +static void pasteOverwrite(sampleTyp *s) +{ + int8_t *p = (int8_t *)malloc(smpCopySize + LOOP_FIX_LEN); + if (p == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + return; + } + + pauseAudio(); + + if (s->origPek != NULL) + free(s->origPek); + + memset(s, 0, sizeof (sampleTyp)); + + s->origPek = p; + s->pek = p + SMP_DAT_OFFSET; + + memcpy(s->pek, smpCopyBuff, smpCopySize); + + s->len = smpCopySize; + s->vol = 64; + s->pan = 128; + s->typ = (smpCopyBits == 16) ? 16 : 0; + + fixSample(s); + resumeAudio(); + + editor.updateCurSmp = true; + setSongModifiedFlag(); + setMouseBusy(false); +} + +static void pasteCopiedData(int8_t *pek, int32_t offset, int32_t length, bool smpIs16Bit) +{ + if (smpIs16Bit) + { + // destination sample = 16-bit + + if (smpCopyBits == 16) + { + // src/dst = equal bits, copy directly + memcpy(&pek[offset], smpCopyBuff, length); + } + else + { + // convert copy data to 16-bit then paste + int16_t *ptr16 = (int16_t *)&pek[offset]; + int32_t len32 = length >> 1; + + for (int32_t i = 0; i < len32; i++) + ptr16[i] = smpCopyBuff[i] << 8; + } + } + else + { + // destination sample = 8-bit + + if (smpCopyBits == 8) + { + // src/dst = equal bits, copy directly + memcpy(&pek[offset], smpCopyBuff, length); + } + else + { + // convert copy data to 8-bit then paste + int8_t *ptr8 = (int8_t *)&pek[offset]; + int16_t *ptr16 = (int16_t *)smpCopyBuff; + + for (int32_t i = 0; i < length; i++) + ptr8[i] = ptr16[i] >> 8; + } + } +} + +static int32_t SDLCALL sampPasteThread(void *ptr) +{ + int8_t *p; + int32_t newLength, realCopyLen; + sampleTyp *s; + + (void)ptr; + + if (instr[editor.curInstr] == NULL && !allocateInstr(editor.curInstr)) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + return true; + } + + s = getCurSample(); + + if (smpEd_Rx2 == 0 || s == NULL || s->pek == NULL) + { + pasteOverwrite(s); + return true; + } + + bool smpIs16Bit = (s->typ >> 4) & 1; + + assert(!smpIs16Bit || (!(smpEd_Rx1 & 1) && !(smpEd_Rx2 & 1) && !(s->len & 1))); + + if (s->len+smpCopySize > MAX_SAMPLE_LEN) + { + okBoxThreadSafe(0, "System message", "Not enough room in sample!"); + return true; + } + + realCopyLen = smpCopySize; + + if (smpIs16Bit) + { + // destination sample is 16-bit + + if (smpCopyBits == 8) // copy buffer is 8-bit, multiply length by 2 + realCopyLen <<= 1; + } + else + { + // destination sample is 8-bit + + if (smpCopyBits == 16) // copy buffer is 16-bit, divide length by 2 + realCopyLen >>= 1; + } + + newLength = s->len + realCopyLen - (smpEd_Rx2 - smpEd_Rx1); + if (newLength <= 0) + return true; + + if (newLength > MAX_SAMPLE_LEN) + { + okBoxThreadSafe(0, "System message", "Not enough room in sample!"); + return true; + } + + p = (int8_t *)malloc(newLength + LOOP_FIX_LEN); + if (p == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + return true; + } + + int8_t *newPek = p + SMP_DAT_OFFSET; + + pauseAudio(); + restoreSample(s); + + // paste left part of original sample + if (smpEd_Rx1 > 0) + memcpy(newPek, s->pek, smpEd_Rx1); + + // paste copied data + pasteCopiedData(newPek, smpEd_Rx1, realCopyLen, smpIs16Bit); + + // paste right part of original sample + if (smpEd_Rx2 < s->len) + memmove(&newPek[smpEd_Rx1+realCopyLen], &s->pek[smpEd_Rx2], s->len - smpEd_Rx2); + + free(s->origPek); + + // adjust loop points if necessary + if (smpEd_Rx2-smpEd_Rx1 != realCopyLen) + { + int32_t loopAdjust = realCopyLen - (smpEd_Rx1 - smpEd_Rx2); + + if (s->repS > smpEd_Rx2) + { + s->repS += loopAdjust; + s->repL -= loopAdjust; + } + + if (s->repS+s->repL > smpEd_Rx2) + s->repL += loopAdjust; + + if (s->repS > newLength) + { + s->repS = 0; + s->repL = 0; + } + + if (s->repS+s->repL > newLength) + s->repL = newLength - s->repS; + + // align loop points if sample is 16-bit + if (smpIs16Bit) + { + s->repL &= 0xFFFFFFFE; + s->repS &= 0xFFFFFFFE; + } + } + + s->len = newLength; + s->origPek = p; + s->pek = s->origPek + SMP_DAT_OFFSET; + + fixSample(s); + resumeAudio(); + + setSongModifiedFlag(); + setMouseBusy(false); + + // set new range + smpEd_Rx2 = smpEd_Rx1 + realCopyLen; + + // align sample marking points if sample is 16-bit + if (smpIs16Bit) + { + smpEd_Rx1 &= 0xFFFFFFFE; + smpEd_Rx2 &= 0xFFFFFFFE; + } + + writeSampleFlag = true; + return true; +} + +void sampPaste(void) +{ + if (editor.curInstr == 0 || smpEd_Rx2 < smpEd_Rx1 || smpCopyBuff == NULL || smpCopySize == 0) + return; + + if (smpEd_Rx2 == 0) // no sample data marked, overwrite sample with copy buffer + { + sampleTyp *s = getCurSample(); + if (s != NULL && s->pek != NULL) + { + if (okBox(2, "System request", "The current sample is not empty. Do you really want to overwrite it?") != 1) + return; + } + } + + mouseAnimOn(); + thread = SDL_CreateThread(sampPasteThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +static int32_t SDLCALL sampCropThread(void *ptr) +{ + int32_t r1, r2; + sampleTyp *s = getCurSample(); + + (void)ptr; + + assert(!(s->typ & 16) || (!(smpEd_Rx1 & 1) && !(smpEd_Rx2 & 1) && !(s->len & 1))); + + r1 = smpEd_Rx1; + r2 = smpEd_Rx2; + + pauseAudio(); + restoreSample(s); + + if (!cutRange(true, 0, r1) || !cutRange(true, r2 - r1, s->len)) + { + fixSample(s); + resumeAudio(); + return true; + } + + fixSample(s); + resumeAudio(); + + r1 = 0; + r2 = s->len; + + if (s->typ & 16) + r2 &= 0xFFFFFFFE; + + setSongModifiedFlag(); + setMouseBusy(false); + + smpEd_Rx1 = r1; + smpEd_Rx2 = r2; + writeSampleFlag = true; + + return true; +} + +void sampCrop(void) +{ + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0 || smpEd_Rx1 >= smpEd_Rx2) + return; + + if (smpEd_Rx1 == 0 && smpEd_Rx2 >= s->len) + return; // no need to crop (the whole sample is marked) + + mouseAnimOn(); + thread = SDL_CreateThread(sampCropThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +void sampXFade(void) +{ + bool is16Bit; + uint8_t t; + int16_t c ,d; + int32_t tmp32, i, x1, x2, y1, y2, a, b, d1, d2, d3, dist; + double dR, dS1, dS2, dS3, dS4; + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + assert(!(s->typ & 16) || (!(smpEd_Rx1 & 1) && !(smpEd_Rx2 & 1) && !(s->len & 1))); + + t = s->typ; + + // check if the sample has the loop flag enabled + if ((t & 3) == 0) + { + okBox(0, "System message", "X-Fade can only be used on a loop-enabled sample!"); + return; + } + + // check if we selected a range + if (smpEd_Rx2 == 0) + { + okBox(0, "System message", "No range selected! Make a small range that includes loop start or loop end."); + return; + } + + // check if we selected a valid range length + if (smpEd_Rx2-smpEd_Rx1 <= 2) + { + okBox(0, "System message", "Invalid range!"); + return; + } + + x1 = smpEd_Rx1; + x2 = smpEd_Rx2; + + is16Bit = (t & 16) ? true : false; + + if ((t & 3) >= 2) + { + // pingpong loop + + y1 = s->repS; + if (x1 <= y1) + { + // first loop point + + if (x2 <= y1 || x2 >= s->repS+s->repL) + { + okBox(0, "System message", "Not enough sample data outside loop!"); + return; + } + + d1 = y1 - x1; + if (x2-y1 > d1) + d1 = x2 - y1; + + d2 = y1 - x1; + d3 = x2 - y1; + + if (d1 < 1 || d2 < 1 || d3 < 1) + { + okBox(0, "System message", "Not enough sample data outside loop!"); + return; + } + + if (y1-d1 < 0 || y1+d1 >= s->len) + { + okBox(0, "System message", "Invalid range!"); + return; + } + + dist = 1; + if (is16Bit) + dist++; + + pauseAudio(); + restoreSample(s); + + i = 0; + while (i < d1) + { + a = getSampleValueNr(s->pek, t, y1 + dist * (-i - 1)); + b = getSampleValueNr(s->pek, t, y1 + dist * i); + + dS1 = 1.0 - i / (double)d2; dS2 = 2.0 - dS1; + dS3 = 1.0 - i / (double)d3; dS4 = 2.0 - dS3; + + tmp32 = (int32_t)round((a * dS2 + b * dS1) / (dS1 + dS2)); + c = (int16_t)tmp32; + + tmp32 = (int32_t)round((b * dS4 + a * dS3) / (dS3 + dS4)); + d = (int16_t)tmp32; + + if (i < d2) putSampleValueNr(s->pek, t, y1 + dist * (-i - 1), c); + if (i < d3) putSampleValueNr(s->pek, t, y1 + dist * i, d); + + i += dist; + } + + fixSample(s); + resumeAudio(); + } + else + { + // last loop point + + y1 += s->repL; + if (x1 >= y1 || x2 <= y1 || x2 >= s->len) + { + okBox(0, "System message", "Not enough sample data outside loop!"); + return; + } + + d1 = y1 - x1; + if (x2-y1 > d1) + d1 = x2 - y1; + + d2 = y1 - x1; + d3 = x2 - y1; + + if (d1 < 1 || d2 < 1 || d3 < 1) + { + okBox(0, "System message", "Not enough sample data outside loop!"); + return; + } + + if (y1-d1 < 0 || y1+d1 >= s->len) + { + okBox(0, "System message", "Invalid range!"); + return; + } + + dist = is16Bit ? 2 : 1; + + pauseAudio(); + restoreSample(s); + + i = 0; + while (i < d1) + { + a = getSampleValueNr(s->pek, t, y1 - i - dist); + b = getSampleValueNr(s->pek, t, y1 + i); + + dS1 = 1.0 - i / (double)d2; dS2 = 2.0 - dS1; + dS3 = 1.0 - i / (double)d3; dS4 = 2.0 - dS3; + + tmp32 = (int32_t)round((a * dS2 + b * dS1) / (dS1 + dS2)); + c = (int16_t)tmp32; + + tmp32 = (int32_t)round((b * dS4 + a * dS3) / (dS3 + dS4)); + d = (int16_t)tmp32; + + if (i < d2) putSampleValueNr(s->pek, t, y1 - i - dist, c); + if (i < d3) putSampleValueNr(s->pek, t, y1 + i, d); + + i += dist; + } + + fixSample(s); + resumeAudio(); + } + } + else + { + // standard loop + + if (x1 > s->repS) + { + x1 -= s->repL; + x2 -= s->repL; + } + + if (x1 < 0 || x2 <= x1 || x2 >= s->len) + { + okBox(0, "System message", "Not enough sample data outside loop!"); + return; + } + + i = (x2 - x1 + 1) / 2; + y1 = s->repS - i; + y2 = s->repS + s->repL - i; + + if (t & 16) + { + y1 &= 0xFFFFFFFE; + y2 &= 0xFFFFFFFE; + } + + if (y1 < 0 || y2+(x2-x1) >= s->len) + { + okBox(0, "System message", "Invalid range!"); + return; + } + + d1 = x2 - x1; + d2 = s->repS - y1; + d3 = x2 - x1 - d2; + + if (y1+(x2-x1) <= s->repS || d1 == 0 || d3 == 0 || d1 > s->repL) + { + okBox(0, "System message", "Not enough sample data outside loop!"); + return; + } + + dR = (s->repS - i) / (double)(x2 - x1); + dist = is16Bit ? 2 : 1; + + pauseAudio(); + restoreSample(s); + + i = 0; + while (i < x2-x1) + { + a = getSampleValueNr(s->pek, t, y1 + i); + b = getSampleValueNr(s->pek, t, y2 + i); + + dS2 = i / (double)d1; + dS1 = 1.0 - dS2; + + if (y1+i < s->repS) + { + dS3 = 1.0 - (1.0 - dR) * i / d2; + dS4 = dR * i / d2; + + tmp32 = (int32_t)round((a * dS3 + b * dS4) / (dS3 + dS4)); + c = (int16_t)tmp32; + + tmp32 = (int32_t)round((a * dS2 + b * dS1) / (dS1 + dS2)); + d = (int16_t)tmp32; + } + else + { + dS3 = 1.0 - (1.0 - dR) * (d1 - i) / d3; + dS4 = dR * (d1 - i) / d3; + + tmp32 = (int32_t)round((a * dS2 + b * dS1) / (dS1 + dS2)); + c = (int16_t)tmp32; + + tmp32 = (int32_t)round((a * dS4 + b * dS3) / (dS3 + dS4)); + d = (int16_t)tmp32; + } + + putSampleValueNr(s->pek, t, y1 + i, c); + putSampleValueNr(s->pek, t, y2 + i, d); + + i += dist; + } + + fixSample(s); + resumeAudio(); + } + + writeSample(true); + setSongModifiedFlag(); +} + +void rbSampleNoLoop(void) +{ + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + lockMixerCallback(); + restoreSample(s); + + s->typ &= ~3; + + fixSample(s); + unlockMixerCallback(); + + updateSampleEditor(); + writeSample(true); + setSongModifiedFlag(); +} + +void rbSampleForwardLoop(void) +{ + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + lockMixerCallback(); + restoreSample(s); + + s->typ = (s->typ & ~3) | 1; + + if (s->repL+s->repS == 0) + { + s->repS = 0; + s->repL = s->len; + } + + fixSample(s); + unlockMixerCallback(); + + updateSampleEditor(); + writeSample(true); + setSongModifiedFlag(); +} + +void rbSamplePingpongLoop(void) +{ + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + lockMixerCallback(); + restoreSample(s); + + s->typ = (s->typ & ~3) | 2; + + if (s->repL+s->repS == 0) + { + s->repS = 0; + s->repL = s->len; + } + + fixSample(s); + unlockMixerCallback(); + + updateSampleEditor(); + writeSample(true); + setSongModifiedFlag(); +} + +static int32_t SDLCALL convSmp8Bit(void *ptr) +{ + int8_t *dst8, *newPtr; + int16_t *src16; + int32_t i, newLen; + sampleTyp *s = getCurSample(); + + (void)ptr; + + pauseAudio(); + restoreSample(s); + + src16 = (int16_t *)s->pek; + dst8 = s->pek; + + newLen = s->len >> 1; + for (i = 0; i < newLen; i++) + dst8[i] = src16[i] >> 8; + + assert(s->origPek != NULL); + + newPtr = (int8_t *)realloc(s->origPek, newLen + LOOP_FIX_LEN); + if (newPtr != NULL) + { + s->origPek = newPtr; + s->pek = s->origPek + SMP_DAT_OFFSET; + } + + s->repL >>= 1; + s->repS >>= 1; + s->len >>= 1; + s->typ &= ~16; // remove 16-bit flag + + fixSample(s); + resumeAudio(); + + editor.updateCurSmp = true; + setSongModifiedFlag(); + setMouseBusy(false); + + return true; +} + +void rbSample8bit(void) +{ + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + if (okBox(2, "System request", "Convert sampledata?") == 1) + { + mouseAnimOn(); + thread = SDL_CreateThread(convSmp8Bit, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); + return; + } + else + { + lockMixerCallback(); + restoreSample(s); + + s->typ &= ~16; // remove 16-bit flag + + fixSample(s); + unlockMixerCallback(); + + updateSampleEditorSample(); + updateSampleEditor(); + setSongModifiedFlag(); + } +} + +static int32_t SDLCALL convSmp16Bit(void *ptr) +{ + int8_t *src8, *newPtr; + int16_t smp16, *dst16; + int32_t i; + sampleTyp *s = getCurSample(); + + (void)ptr; + + pauseAudio(); + restoreSample(s); + + assert(s->origPek != NULL); + + newPtr = (int8_t *)realloc(s->origPek, (s->len * 2) + LOOP_FIX_LEN); + if (newPtr == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + return true; + } + else + { + s->origPek = newPtr; + s->pek = s->origPek + SMP_DAT_OFFSET; + } + + src8 = s->pek; + dst16 = (int16_t *)s->pek; + + for (i = s->len-1; i >= 0; i--) + { + smp16 = src8[i] << 8; + dst16[i] = smp16; + } + + s->len <<= 1; + s->repL <<= 1; + s->repS <<= 1; + s->typ |= 16; // add 16-bit flag + + fixSample(s); + resumeAudio(); + + editor.updateCurSmp = true; + setSongModifiedFlag(); + setMouseBusy(false); + + return true; +} + +void rbSample16bit(void) +{ + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + if (okBox(2, "System request", "Convert sampledata?") == 1) + { + mouseAnimOn(); + thread = SDL_CreateThread(convSmp16Bit, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); + return; + } + else + { + lockMixerCallback(); + restoreSample(s); + + s->typ |= 16; // add 16-bit flag + + // make sure stuff is 2-byte aligned for 16-bit mode + s->repS &= 0xFFFFFFFE; + s->repL &= 0xFFFFFFFE; + s->len &= 0xFFFFFFFE; + + fixSample(s); + unlockMixerCallback(); + + updateSampleEditorSample(); + updateSampleEditor(); + setSongModifiedFlag(); + } +} + +void clearSample(void) +{ + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + if (okBox(1, "System request", "Clear sample?") != 1) + return; + + freeSample(editor.curInstr, editor.curSmp); + updateNewSample(); + setSongModifiedFlag(); +} + +void sampMin(void) +{ + int8_t *newPtr; + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + bool hasLoop = s->typ & 3; + int32_t loopEnd = s->repS + s->repL; + + if (!hasLoop || (loopEnd >= s->len || loopEnd == 0)) + { + okBox(0, "System message", "Sample is already minimized."); + } + else + { + lockMixerCallback(); + + s->len = loopEnd; + + newPtr = (int8_t *)realloc(s->origPek, s->len + LOOP_FIX_LEN); + if (newPtr != NULL) + { + s->origPek = newPtr; + s->pek = s->origPek + SMP_DAT_OFFSET; + } + + unlockMixerCallback(); + + updateSampleEditorSample(); + updateSampleEditor(); + setSongModifiedFlag(); + } +} + +void sampRepeatUp(void) +{ + int32_t repS, repL, addVal, lenSub; + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + if (s->typ & 16) + { + lenSub = 4; + addVal = 2; + } + else + { + lenSub = 2; + addVal = 1; + } + + repS = curSmpRepS; + repL = curSmpRepL; + + if (repS < s->len-lenSub) + repS += addVal; + + if (repS+repL > s->len) + repL = s->len - repS; + + curSmpRepS = (s->typ & 16) ? (int32_t)(repS & 0xFFFFFFFE) : repS; + curSmpRepL = (s->typ & 16) ? (int32_t)(repL & 0xFFFFFFFE) : repL; + + fixRepeatGadgets(); + updateLoopsOnMouseUp = true; +} + +void sampRepeatDown(void) +{ + int32_t repS; + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + if (s->typ & 16) + repS = curSmpRepS - 2; + else + repS = curSmpRepS - 1; + + if (repS < 0) + repS = 0; + + curSmpRepS = (s->typ & 16) ? (int32_t)(repS & 0xFFFFFFFE) : repS; + + fixRepeatGadgets(); + updateLoopsOnMouseUp = true; +} + +void sampReplenUp(void) +{ + int32_t repL; + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + if (s->typ & 16) + repL = curSmpRepL + 2; + else + repL = curSmpRepL + 1; + + if (curSmpRepS+repL > s->len) + repL = s->len - curSmpRepS; + + curSmpRepL = (s->typ & 16) ? (int32_t)(repL & 0xFFFFFFFE) : repL; + + fixRepeatGadgets(); + updateLoopsOnMouseUp = true; +} + +void sampReplenDown(void) +{ + int32_t repL; + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + if (s->typ & 16) + repL = curSmpRepL - 2; + else + repL = curSmpRepL - 1; + + if (repL < 0) + repL = 0; + + curSmpRepL = (s->typ & 16) ? (int32_t)(repL & 0xFFFFFFFE) : repL; + + fixRepeatGadgets(); + updateLoopsOnMouseUp = true; +} + +void hideSampleEditor(void) +{ + hidePushButton(PB_SAMP_SCROLL_LEFT); + hidePushButton(PB_SAMP_SCROLL_RIGHT); + hidePushButton(PB_SAMP_PNOTE_UP); + hidePushButton(PB_SAMP_PNOTE_DOWN); + hidePushButton(PB_SAMP_STOP); + hidePushButton(PB_SAMP_PWAVE); + hidePushButton(PB_SAMP_PRANGE); + hidePushButton(PB_SAMP_PDISPLAY); + hidePushButton(PB_SAMP_SHOW_RANGE); + hidePushButton(PB_SAMP_RANGE_ALL); + hidePushButton(PB_SAMP_CLR_RANGE); + hidePushButton(PB_SAMP_ZOOM_OUT); + hidePushButton(PB_SAMP_SHOW_ALL); + hidePushButton(PB_SAMP_SAVE_RNG); + hidePushButton(PB_SAMP_CUT); + hidePushButton(PB_SAMP_COPY); + hidePushButton(PB_SAMP_PASTE); + hidePushButton(PB_SAMP_CROP); + hidePushButton(PB_SAMP_VOLUME); + hidePushButton(PB_SAMP_XFADE); + hidePushButton(PB_SAMP_EXIT); + hidePushButton(PB_SAMP_CLEAR); + hidePushButton(PB_SAMP_MIN); + hidePushButton(PB_SAMP_REPEAT_UP); + hidePushButton(PB_SAMP_REPEAT_DOWN); + hidePushButton(PB_SAMP_REPLEN_UP); + hidePushButton(PB_SAMP_REPLEN_DOWN); + + hideRadioButtonGroup(RB_GROUP_SAMPLE_LOOP); + hideRadioButtonGroup(RB_GROUP_SAMPLE_DEPTH); + + hideScrollBar(SB_SAMP_SCROLL); + + editor.ui.sampleEditorShown = false; + + hideSprite(SPRITE_LEFT_LOOP_PIN); + hideSprite(SPRITE_RIGHT_LOOP_PIN); +} + +void exitSampleEditor(void) +{ + hideSampleEditor(); + + if (editor.ui.sampleEditorExtShown) + hideSampleEditorExt(); + + showPatternEditor(); +} + +void showSampleEditor(void) +{ + if (editor.ui.extended) + exitPatternEditorExtended(); + + hideInstEditor(); + hidePatternEditor(); + editor.ui.sampleEditorShown = true; + + drawFramework(0, 329, 632, 17, FRAMEWORK_TYPE1); + drawFramework(0, 346, 115, 54, FRAMEWORK_TYPE1); + drawFramework(115, 346, 133, 54, FRAMEWORK_TYPE1); + drawFramework(248, 346, 49, 54, FRAMEWORK_TYPE1); + drawFramework(297, 346, 56, 54, FRAMEWORK_TYPE1); + drawFramework(353, 346, 74, 54, FRAMEWORK_TYPE1); + drawFramework(427, 346, 205, 54, FRAMEWORK_TYPE1); + drawFramework(2, 366, 34, 15, FRAMEWORK_TYPE2); + + textOutShadow(5, 352, PAL_FORGRND, PAL_DSKTOP2, "Play:"); + textOutShadow(371, 352, PAL_FORGRND, PAL_DSKTOP2, "No loop"); + textOutShadow(371, 369, PAL_FORGRND, PAL_DSKTOP2, "Forward"); + textOutShadow(371, 386, PAL_FORGRND, PAL_DSKTOP2, "Pingpong"); + textOutShadow(446, 369, PAL_FORGRND, PAL_DSKTOP2, "8-bit"); + textOutShadow(445, 385, PAL_FORGRND, PAL_DSKTOP2, "16-bit"); + textOutShadow(488, 349, PAL_FORGRND, PAL_DSKTOP2, "Display"); + textOutShadow(488, 361, PAL_FORGRND, PAL_DSKTOP2, "Length"); + textOutShadow(488, 375, PAL_FORGRND, PAL_DSKTOP2, "Repeat"); + textOutShadow(488, 387, PAL_FORGRND, PAL_DSKTOP2, "Replen."); + + showPushButton(PB_SAMP_SCROLL_LEFT); + showPushButton(PB_SAMP_SCROLL_RIGHT); + showPushButton(PB_SAMP_PNOTE_UP); + showPushButton(PB_SAMP_PNOTE_DOWN); + showPushButton(PB_SAMP_STOP); + showPushButton(PB_SAMP_PWAVE); + showPushButton(PB_SAMP_PRANGE); + showPushButton(PB_SAMP_PDISPLAY); + showPushButton(PB_SAMP_SHOW_RANGE); + showPushButton(PB_SAMP_RANGE_ALL); + showPushButton(PB_SAMP_CLR_RANGE); + showPushButton(PB_SAMP_ZOOM_OUT); + showPushButton(PB_SAMP_SHOW_ALL); + showPushButton(PB_SAMP_SAVE_RNG); + showPushButton(PB_SAMP_CUT); + showPushButton(PB_SAMP_COPY); + showPushButton(PB_SAMP_PASTE); + showPushButton(PB_SAMP_CROP); + showPushButton(PB_SAMP_VOLUME); + showPushButton(PB_SAMP_XFADE); + showPushButton(PB_SAMP_EXIT); + showPushButton(PB_SAMP_CLEAR); + showPushButton(PB_SAMP_MIN); + showPushButton(PB_SAMP_REPEAT_UP); + showPushButton(PB_SAMP_REPEAT_DOWN); + showPushButton(PB_SAMP_REPLEN_UP); + showPushButton(PB_SAMP_REPLEN_DOWN); + + showRadioButtonGroup(RB_GROUP_SAMPLE_LOOP); + showRadioButtonGroup(RB_GROUP_SAMPLE_DEPTH); + + showScrollBar(SB_SAMP_SCROLL); + + // clear two lines that are never written to when the sampler is open + hLine(0, 173, SAMPLE_AREA_WIDTH, PAL_BCKGRND); + hLine(0, 328, SAMPLE_AREA_WIDTH, PAL_BCKGRND); + + updateSampleEditor(); + writeSample(true); +} + +void toggleSampleEditor(void) +{ + hideInstEditor(); + + if (editor.ui.sampleEditorShown) + { + exitSampleEditor(); + } + else + { + hidePatternEditor(); + showSampleEditor(); + } +} + +static void writeSmpXORLine(int32_t x) +{ + uint32_t *ptr32; + + if (x < 0 || x >= SCREEN_W) + return; + + ptr32 = &video.frameBuffer[(174 * SCREEN_W) + x]; + for (int32_t y = 0; y < SAMPLE_AREA_HEIGHT; y++) + { + *ptr32 = video.palette[(*ptr32 >> 24) ^ 1]; // ">> 24" to get palette, XOR 1 to switch between normal/inverted mode + ptr32 += SCREEN_W; + } +} + +static void writeSamplePosLine(void) +{ + uint8_t ins, smp; + int32_t smpPos, scrPos; + lastChInstr_t *c; + + assert(editor.curSmpChannel < MAX_VOICES); + + c = &lastChInstr[editor.curSmpChannel]; + if (c->instrNr == 130) // "Play Wave/Range/Display" in Smp. Ed. + { + ins = editor.curPlayInstr; + smp = editor.curPlaySmp; + } + else + { + ins = c->instrNr; + smp = c->sampleNr; + } + + if (editor.curInstr == ins && editor.curSmp == smp) + { + smpPos = getSamplePosition(editor.curSmpChannel); + if (smpPos != -1) + { + // convert sample position to screen position + scrPos = smpPos2Scr(smpPos); + if (scrPos != -1) + { + if (scrPos != smpEd_OldSmpPosLine) + { + writeSmpXORLine(smpEd_OldSmpPosLine); // remove old line + writeSmpXORLine(scrPos); // write new line + } + + smpEd_OldSmpPosLine = scrPos; + return; + } + } + } + + if (smpEd_OldSmpPosLine != -1) + writeSmpXORLine(smpEd_OldSmpPosLine); + + smpEd_OldSmpPosLine = -1; +} + +void handleSamplerRedrawing(void) +{ + // update sample editor + + if (!editor.ui.sampleEditorShown || editor.samplingAudioFlag) + return; + + if (writeSampleFlag) + { + writeSampleFlag = false; + writeSample(true); + } + else if (smpEd_Rx1 != old_Rx1 || smpEd_Rx2 != old_Rx2 || smpEd_ScrPos != old_SmpScrPos || smpEd_ViewSize != old_ViewSize) + { + writeSample(false); + } + + writeSamplePosLine(); +} + +static void setLeftLoopPinPos(int32_t x) +{ + int32_t repS, repL, newPos; + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + newPos = scr2SmpPos(x) - curSmpRepS; + + repS = curSmpRepS + newPos; + repL = curSmpRepL - newPos; + + if (repS < 0) + { + repL += repS; + repS = 0; + } + + if (repL < 0) + { + repL = 0; + repS = curSmpRepS + curSmpRepL; + } + + if (s->typ & 16) + { + repS &= 0xFFFFFFFE; + repL &= 0xFFFFFFFE; + } + + curSmpRepS = repS; + curSmpRepL = repL; + + fixRepeatGadgets(); + updateLoopsOnMouseUp = true; +} + +static void setRightLoopPinPos(int32_t x) +{ + int32_t repL; + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + repL = scr2SmpPos(x) - curSmpRepS; + if (repL < 0) + repL = 0; + + if (repL+curSmpRepS > s->len) + repL = s->len - curSmpRepS; + + if (repL < 0) + repL = 0; + + if (s->typ & 16) + repL &= 0xFFFFFFFE; + + curSmpRepL = repL; + + fixRepeatGadgets(); + updateLoopsOnMouseUp = true; +} + +static void editSampleData(bool mouseButtonHeld) +{ + int8_t *ptr8; + int16_t *ptr16; + int32_t mx, my, tmp32, p, vl, tvl, r, rl, rvl, start, end; + double dVal; + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + // ported directly from FT2 and slightly modified + + mx = mouse.x; + my = mouse.y; + + if (!mouseButtonHeld) + { + pauseAudio(); + restoreSample(s); + editor.editSampleFlag = true; + + lastDrawX = scr2SmpPos(mx); + if (s->typ & 16) + lastDrawX >>= 1; + + if (my == 250) // center + { + lastDrawY = 128; + } + else + { + dVal = (my - 174) * (256.0 / SAMPLE_AREA_HEIGHT); + lastDrawY = (int32_t)(dVal + 0.5); + lastDrawY = CLAMP(lastDrawY, 0, 255); + lastDrawY ^= 0xFF; + } + + lastMouseX = mx; + lastMouseY = my; + } + else if (mx == lastMouseX && my == lastMouseY) + { + return; // don't continue if we didn't move the mouse + } + + // kludge so that you can edit the very end of the sample + if (mx == SCREEN_W-1 && smpEd_ScrPos+smpEd_ViewSize >= s->len) + mx++; + + if (mx != lastMouseX) + { + p = scr2SmpPos(mx); + if (s->typ & 16) + p >>= 1; + } + else + { + p = lastDrawX; + } + + if (!keyb.leftShiftPressed && my != lastMouseY) + { + if (my == 250) // center + { + vl = 128; + } + else + { + dVal = (my - 174) * (256.0 / SAMPLE_AREA_HEIGHT); + vl = (int32_t)(dVal + 0.5); + vl = CLAMP(vl, 0, 255); + vl ^= 0xFF; + } + } + else + { + vl = lastDrawY; + } + + lastMouseX = mx; + lastMouseY = my; + + r = p; + rvl = vl; + + // swap x/y if needed + if (p > lastDrawX) + { + // swap x + tmp32 = p; + p = lastDrawX; + lastDrawX = tmp32; + + // swap y + tmp32 = lastDrawY; + lastDrawY = vl; + vl = tmp32; + } + + if (s->typ & 16) + { + // 16-bit + + ptr16 = (int16_t *)s->pek; + + start = p; + end = lastDrawX+1; + + if (start < 0) + start = 0; + + tmp32 = s->len >> 1; + if (end > tmp32) + end = tmp32; + + if (p == lastDrawX) + { + int16_t smpVal = (int16_t)((vl << 8) ^ 0x8000); + for (rl = start; rl < end; rl++) + ptr16[rl] = smpVal; + } + else + { + int32_t y = lastDrawY - vl; + uint32_t x = lastDrawX - p; + + uint32_t xMul = 0xFFFFFFFF; + if (x != 0) + xMul /= x; + + int32_t i = 0; + for (rl = start; rl < end; rl++) + { + tvl = y * i; + tvl = ((int64_t)tvl * xMul) >> 32; // tvl /= x; + tvl += vl; + tvl <<= 8; + tvl ^= 0x8000; + + ptr16[rl] = (int16_t)tvl; + i++; + } + } + } + else + { + // 8-bit + + ptr8 = s->pek; + + start = p; + if (start < 0) + start = 0; + + end = lastDrawX+1; + if (end > s->len) + end = s->len; + + if (p == lastDrawX) + { + int8_t smpVal = (int8_t)(vl ^ 0x80); + for (rl = start; rl < end; rl++) + ptr8[rl] = smpVal; + } + else + { + int32_t y = lastDrawY - vl; + uint32_t x = lastDrawX - p; + + uint32_t xMul = 0xFFFFFFFF; + if (x != 0) + xMul /= x; + + int32_t i = 0; + for (rl = start; rl < end; rl++) + { + tvl = y * i; + tvl = ((int64_t)tvl * xMul) >> 32; // tvl /= x; + tvl += vl; + tvl ^= 0x80; + + ptr8[rl] = (int8_t)tvl; + i++; + } + } + } + + lastDrawY = rvl; + lastDrawX = r; + + writeSample(true); +} + +void handleSampleDataMouseDown(bool mouseButtonHeld) +{ + int32_t tmp, leftLoopPinPos, rightLoopPinPos; + + if (editor.curInstr == 0) + return; + + if (!mouseButtonHeld) + { + editor.ui.rightLoopPinMoving = false; + editor.ui.leftLoopPinMoving = false; + editor.ui.sampleDataOrLoopDrag = -1; + + mouseXOffs = 0; + lastMouseX = mouse.x; + lastMouseY = mouse.y; + + mouse.lastUsedObjectType = OBJECT_SMPDATA; + + if (mouse.leftButtonPressed) + { + // move loop pins + if (mouse.y < 183) + { + leftLoopPinPos = getSpritePosX(SPRITE_LEFT_LOOP_PIN); + if (mouse.x >= leftLoopPinPos && mouse.x <= leftLoopPinPos+16) + { + mouseXOffs = (leftLoopPinPos + 8) - mouse.x; + + editor.ui.sampleDataOrLoopDrag = true; + + setLeftLoopPinState(true); + lastMouseX = mouse.x; + + editor.ui.leftLoopPinMoving = true; + return; + } + } + else if (mouse.y > 318) + { + rightLoopPinPos = getSpritePosX(SPRITE_RIGHT_LOOP_PIN); + if (mouse.x >= rightLoopPinPos && mouse.x <= rightLoopPinPos+16) + { + mouseXOffs = (rightLoopPinPos + 8) - mouse.x; + + editor.ui.sampleDataOrLoopDrag = true; + + setRightLoopPinState(true); + lastMouseX = mouse.x; + + editor.ui.rightLoopPinMoving = true; + return; + } + } + + // mark data + editor.ui.sampleDataOrLoopDrag = mouse.x; + lastMouseX = editor.ui.sampleDataOrLoopDrag; + setSampleRange(editor.ui.sampleDataOrLoopDrag, editor.ui.sampleDataOrLoopDrag); + } + else if (mouse.rightButtonPressed) + { + // edit data + editor.ui.sampleDataOrLoopDrag = true; + editSampleData(false); + } + + return; + } + + if (mouse.rightButtonPressed) + { + editSampleData(true); + return; + } + + if (mouse.x != lastMouseX) + { + if (mouse.leftButtonPressed) + { + if (editor.ui.leftLoopPinMoving) + { + lastMouseX = mouse.x; + setLeftLoopPinPos(mouseXOffs + lastMouseX); + } + else if (editor.ui.rightLoopPinMoving) + { + lastMouseX = mouse.x; + setRightLoopPinPos(mouseXOffs + lastMouseX); + } + else if (editor.ui.sampleDataOrLoopDrag >= 0) + { + // mark data + + lastMouseX = mouse.x; + tmp = lastMouseX; + + if (lastMouseX > editor.ui.sampleDataOrLoopDrag) + setSampleRange(editor.ui.sampleDataOrLoopDrag, tmp); + else if (lastMouseX == editor.ui.sampleDataOrLoopDrag) + setSampleRange(editor.ui.sampleDataOrLoopDrag, editor.ui.sampleDataOrLoopDrag); + else if (lastMouseX < editor.ui.sampleDataOrLoopDrag) + setSampleRange(tmp, editor.ui.sampleDataOrLoopDrag); + } + } + } +} + +// SAMPLE EDITOR EXTENSION + +void handleSampleEditorExtRedrawing(void) +{ + hexOutBg(35, 96, PAL_FORGRND, PAL_DESKTOP, smpEd_Rx1, 8); + hexOutBg(99, 96, PAL_FORGRND, PAL_DESKTOP, smpEd_Rx2, 8); + hexOutBg(99, 110, PAL_FORGRND, PAL_DESKTOP, smpEd_Rx2 - smpEd_Rx1, 8); + hexOutBg(99, 124, PAL_FORGRND, PAL_DESKTOP, smpCopySize, 8); + hexOutBg(226, 96, PAL_FORGRND, PAL_DESKTOP, editor.srcInstr, 2); + hexOutBg(274, 96, PAL_FORGRND, PAL_DESKTOP, editor.srcSmp, 2); + hexOutBg(226, 109, PAL_FORGRND, PAL_DESKTOP, editor.curInstr, 2); + hexOutBg(274, 109, PAL_FORGRND, PAL_DESKTOP, editor.curSmp, 2); +} + +void drawSampleEditorExt(void) +{ + drawFramework(0, 92, 158, 44, FRAMEWORK_TYPE1); + drawFramework(0, 136, 158, 37, FRAMEWORK_TYPE1); + drawFramework(158, 92, 133, 81, FRAMEWORK_TYPE1); + + textOutShadow( 4, 96, PAL_FORGRND, PAL_DSKTOP2, "Rng.:"); + charOutShadow(91, 95, PAL_FORGRND, PAL_DSKTOP2, '-'); + textOutShadow( 4, 109, PAL_FORGRND, PAL_DSKTOP2, "Range size"); + textOutShadow( 4, 123, PAL_FORGRND, PAL_DSKTOP2, "Copy buf. size"); + + textOutShadow(162, 95, PAL_FORGRND, PAL_DSKTOP2, "Src.instr."); + textOutShadow(245, 96, PAL_FORGRND, PAL_DSKTOP2, "smp."); + textOutShadow(162, 109, PAL_FORGRND, PAL_DSKTOP2, "Dest.instr."); + textOutShadow(245, 109, PAL_FORGRND, PAL_DSKTOP2, "smp."); + + showPushButton(PB_SAMP_EXT_CLEAR_COPYBUF); + showPushButton(PB_SAMP_EXT_CONV); + showPushButton(PB_SAMP_EXT_ECHO); + showPushButton(PB_SAMP_EXT_BACKWARDS); + showPushButton(PB_SAMP_EXT_CONV_W); + showPushButton(PB_SAMP_EXT_MORPH); + showPushButton(PB_SAMP_EXT_COPY_INS); + showPushButton(PB_SAMP_EXT_COPY_SMP); + showPushButton(PB_SAMP_EXT_XCHG_INS); + showPushButton(PB_SAMP_EXT_XCHG_SMP); + showPushButton(PB_SAMP_EXT_RESAMPLE); + showPushButton(PB_SAMP_EXT_MIX_SAMPLE); +} + +void showSampleEditorExt(void) +{ + hideTopScreen(); + showTopScreen(false); + + if (editor.ui.extended) + exitPatternEditorExtended(); + + if (!editor.ui.sampleEditorShown) + showSampleEditor(); + + editor.ui.sampleEditorExtShown = true; + editor.ui.scopesShown = false; + drawSampleEditorExt(); +} + +void hideSampleEditorExt(void) +{ + editor.ui.sampleEditorExtShown = false; + + hidePushButton(PB_SAMP_EXT_CLEAR_COPYBUF); + hidePushButton(PB_SAMP_EXT_CONV); + hidePushButton(PB_SAMP_EXT_ECHO); + hidePushButton(PB_SAMP_EXT_BACKWARDS); + hidePushButton(PB_SAMP_EXT_CONV_W); + hidePushButton(PB_SAMP_EXT_MORPH); + hidePushButton(PB_SAMP_EXT_COPY_INS); + hidePushButton(PB_SAMP_EXT_COPY_SMP); + hidePushButton(PB_SAMP_EXT_XCHG_INS); + hidePushButton(PB_SAMP_EXT_XCHG_SMP); + hidePushButton(PB_SAMP_EXT_RESAMPLE); + hidePushButton(PB_SAMP_EXT_MIX_SAMPLE); + + editor.ui.scopesShown = true; + drawScopeFramework(); +} + +void toggleSampleEditorExt(void) +{ + if (editor.ui.sampleEditorExtShown) + hideSampleEditorExt(); + else + showSampleEditorExt(); +} + +static int32_t SDLCALL sampleBackwardsThread(void *ptr) +{ + int8_t tmp8, *ptrStart, *ptrEnd; + int16_t tmp16, *ptrStart16, *ptrEnd16; + sampleTyp *s = getCurSample(); + + (void)ptr; + + if (s->typ & 16) + { + if (smpEd_Rx1 >= smpEd_Rx2) + { + ptrStart16 = (int16_t *)s->pek; + ptrEnd16 = (int16_t *)&s->pek[s->len-2]; + } + else + { + ptrStart16 = (int16_t *)&s->pek[smpEd_Rx1]; + ptrEnd16 = (int16_t *)&s->pek[smpEd_Rx2-2]; + } + + pauseAudio(); + restoreSample(s); + + while (ptrStart16 < ptrEnd16) + { + tmp16 = *ptrStart16; + *ptrStart16++ = *ptrEnd16; + *ptrEnd16-- = tmp16; + } + + fixSample(s); + resumeAudio(); + } + else + { + if (smpEd_Rx1 >= smpEd_Rx2) + { + ptrStart = s->pek; + ptrEnd = &s->pek[s->len-1]; + } + else + { + ptrStart = &s->pek[smpEd_Rx1]; + ptrEnd = &s->pek[smpEd_Rx2-1]; + } + + pauseAudio(); + restoreSample(s); + + while (ptrStart < ptrEnd) + { + tmp8 = *ptrStart; + *ptrStart++ = *ptrEnd; + *ptrEnd-- = tmp8; + } + + fixSample(s); + resumeAudio(); + } + + setSongModifiedFlag(); + setMouseBusy(false); + writeSampleFlag = true; + + return true; +} + +void sampleBackwards(void) +{ + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len < 2) + return; + + mouseAnimOn(); + thread = SDL_CreateThread(sampleBackwardsThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +static int32_t SDLCALL sampleConvThread(void *ptr) +{ + int8_t *ptr8; + int16_t *ptr16; + int32_t i, len; + sampleTyp *s = getCurSample(); + + (void)ptr; + + pauseAudio(); + restoreSample(s); + + if (s->typ & 16) + { + len = s->len / 2; + ptr16 = (int16_t *)s->pek; + + for (i = 0; i < len; i++) + ptr16[i] ^= 0x8000; + } + else + { + len = s->len; + ptr8 = s->pek; + + for (i = 0; i < len; i++) + ptr8[i] ^= 0x80; + } + + fixSample(s); + resumeAudio(); + + setSongModifiedFlag(); + setMouseBusy(false); + writeSampleFlag = true; + + return true; +} + +void sampleConv(void) +{ + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + mouseAnimOn(); + thread = SDL_CreateThread(sampleConvThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +static int32_t SDLCALL sampleConvWThread(void *ptr) +{ + int8_t *ptr8, tmp; + int32_t len; + sampleTyp *s = getCurSample(); + + (void)ptr; + + pauseAudio(); + restoreSample(s); + + len = s->len / 2; + ptr8 = s->pek; + + for (int32_t i = 0; i < len; i++) + { + tmp = ptr8[0]; + ptr8[0] = ptr8[1]; + ptr8[1] = tmp; + + ptr8 += 2; + } + + fixSample(s); + resumeAudio(); + + setSongModifiedFlag(); + setMouseBusy(false); + writeSampleFlag = true; + + return true; +} + +void sampleConvW(void) +{ + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + mouseAnimOn(); + thread = SDL_CreateThread(sampleConvWThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +static int32_t SDLCALL fixDCThread(void *ptr) +{ + int8_t *ptr8; + int16_t *ptr16; + int32_t i, len, smpSub, smp32; + int64_t averageDC; + sampleTyp *s = getCurSample(); + + (void)ptr; + + averageDC = 0; + + if (s->typ & 16) + { + if (smpEd_Rx1 >= smpEd_Rx2) + { + assert(!(s->len & 1)); + + ptr16 = (int16_t *)s->pek; + len = s->len >> 1; + } + else + { + assert(!(smpEd_Rx1 & 1)); + assert(!(smpEd_Rx2 & 1)); + + ptr16 = (int16_t *)&s->pek[smpEd_Rx1]; + len = (smpEd_Rx2 - smpEd_Rx1) >> 1; + } + + if (len < 0 || len > s->len>>1) + { + setMouseBusy(false); + return true; + } + + pauseAudio(); + restoreSample(s); + + for (i = 0; i < len; i++) + averageDC += ptr16[i]; + averageDC /= len; + + smpSub = (int32_t)averageDC; + for (i = 0; i < len; i++) + { + smp32 = ptr16[i] - smpSub; + CLAMP16(smp32); + ptr16[i] = (int16_t)smp32; + } + + fixSample(s); + resumeAudio(); + } + else + { + if (smpEd_Rx1 >= smpEd_Rx2) + { + ptr8 = s->pek; + len = s->len; + } + else + { + ptr8 = &s->pek[smpEd_Rx1]; + len = smpEd_Rx2 - smpEd_Rx1; + } + + if (len < 0 || len > s->len) + { + setMouseBusy(false); + return true; + } + + pauseAudio(); + restoreSample(s); + + for (i = 0; i < len; i++) + averageDC += ptr8[i]; + averageDC /= len; + + smpSub = (int32_t)averageDC; + for (i = 0; i < len; i++) + { + smp32 = ptr8[i] - smpSub; + CLAMP8(smp32); + ptr8[i] = (int8_t)smp32; + } + + fixSample(s); + resumeAudio(); + } + + writeSampleFlag = true; + setSongModifiedFlag(); + setMouseBusy(false); + + return true; +} + +void fixDC(void) +{ + sampleTyp *s = getCurSample(); + + if (s == NULL || s->pek == NULL || s->len <= 0) + return; + + mouseAnimOn(); + thread = SDL_CreateThread(fixDCThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +void smpEdStop(void) +{ + // safely kills all voices + lockMixerCallback(); + unlockMixerCallback(); +} + +void testSmpEdMouseUp(void) // used for setting new loop points +{ + sampleTyp *s; + + if (updateLoopsOnMouseUp) + { + updateLoopsOnMouseUp = false; + + s = getCurSample(); + if (s == NULL) + return; + + if (s->repS != curSmpRepS || s->repL != curSmpRepL) + { + lockMixerCallback(); + restoreSample(s); + + setSongModifiedFlag(); + + s->repS = curSmpRepS; + s->repL = curSmpRepL; + + fixSample(s); + unlockMixerCallback(); + + writeSample(true); + } + } +} diff --git a/src/ft2_sample_ed.h b/src/ft2_sample_ed.h index c7383ec..9f31f4c 100644 --- a/src/ft2_sample_ed.h +++ b/src/ft2_sample_ed.h @@ -1,74 +1,80 @@ -#pragma once - -#include -#include "ft2_replayer.h" - -#define SAMPLE_AREA_HEIGHT 154 -#define SAMPLE_AREA_WIDTH 632 -#define SAMPLE_AREA_Y_CENTER 250 - -sampleTyp *getCurSample(void); -void fixSample(sampleTyp *s); // adds wrapped sample after loop/end (for branchless mixer interpolation) -void restoreSample(sampleTyp *s); // reverts wrapped sample after loop/end (for branchless mixer interpolation) -void clearSample(void); -void clearCopyBuffer(void); -uint32_t getSampleMiddleCRate(sampleTyp *s); -int32_t getSampleRangeStart(void); -int32_t getSampleRangeEnd(void); -int32_t getSampleRangeLength(void); -void copySmp(void); // dstSmp = srcSmp -void xchgSmp(void); // dstSmp <-> srcSmp -void scrollSampleDataLeft(void); -void scrollSampleDataRight(void); -void scrollSampleData(uint32_t pos); -void sampPlayNoteUp(void); -void sampPlayNoteDown(void); -void sampPlayWave(void); -void sampPlayRange(void); -void sampPlayDisplay(void); -void showRange(void); -void rangeAll(void); -void mouseZoomSampleDataIn(void); -void mouseZoomSampleDataOut(void); -void zoomOut(void); -void showAll(void); -void saveRange(void); -void sampCut(void); -void sampCopy(void); -void sampPaste(void); -void sampCrop(void); -void sampXFade(void); -void rbSampleNoLoop(void); -void rbSampleForwardLoop(void); -void rbSamplePingpongLoop(void); -void rbSample8bit(void); -void rbSample16bit(void); -void sampMin(void); -void sampRepeatUp(void); -void sampRepeatDown(void); -void sampReplenUp(void); -void sampReplenDown(void); -int16_t getSampleValueNr(int8_t *ptr, uint8_t typ, int32_t pos); -void putSampleValueNr(int8_t *ptr, uint8_t typ, int32_t pos, int16_t val); -void writeSample(bool forceSmpRedraw); -void handleSampleDataMouseDown(bool mouseButtonHeld); -void updateSampleEditorSample(void); -void updateSampleEditor(void); -void hideSampleEditor(void); -void exitSampleEditor(void); -void showSampleEditor(void); -void handleSamplerRedrawing(void); -void toggleSampleEditor(void); -void toggleSampleEditorExt(void); -void showSampleEditorExt(void); -void hideSampleEditorExt(void); -void drawSampleEditorExt(void); -void handleSampleEditorExtRedrawing(void); -void sampleBackwards(void); -void sampleConv(void); -void sampleConvW(void); -void fixDC(void); -void smpEdStop(void); -void testSmpEdMouseUp(void); - -extern int32_t smpEd_Rx1, smpEd_Rx2; +#pragma once + +#include +#include "ft2_replayer.h" + +#define SAMPLE_AREA_HEIGHT 154 +#define SAMPLE_AREA_WIDTH 632 +#define SAMPLE_AREA_Y_CENTER 250 + +sampleTyp *getCurSample(void); +void fixSample(sampleTyp *s); // adds wrapped sample after loop/end (for branchless mixer interpolation) +void restoreSample(sampleTyp *s); // reverts wrapped sample after loop/end (for branchless mixer interpolation) +void clearSample(void); +void clearCopyBuffer(void); +int32_t getSampleMiddleCRate(sampleTyp *s); +int32_t getSampleRangeStart(void); +int32_t getSampleRangeEnd(void); +int32_t getSampleRangeLength(void); +void copySmp(void); // dstSmp = srcSmp +void xchgSmp(void); // dstSmp <-> srcSmp +void scrollSampleDataLeft(void); +void scrollSampleDataRight(void); +void scrollSampleData(uint32_t pos); +void sampPlayNoteUp(void); +void sampPlayNoteDown(void); +void sampPlayWave(void); +void sampPlayRange(void); +void sampPlayDisplay(void); +void showRange(void); +void rangeAll(void); +void mouseZoomSampleDataIn(void); +void mouseZoomSampleDataOut(void); +void zoomOut(void); +void showAll(void); +void saveRange(void); +void sampCut(void); +void sampCopy(void); +void sampPaste(void); +void sampCrop(void); +void sampXFade(void); +void rbSampleNoLoop(void); +void rbSampleForwardLoop(void); +void rbSamplePingpongLoop(void); +void rbSample8bit(void); +void rbSample16bit(void); +void sampMin(void); +void sampRepeatUp(void); +void sampRepeatDown(void); +void sampReplenUp(void); +void sampReplenDown(void); +#ifdef _WIN32 +inline +#endif +int16_t getSampleValueNr(int8_t *ptr, uint8_t typ, int32_t pos); +#ifdef _WIN32 +inline +#endif +void putSampleValueNr(int8_t *ptr, uint8_t typ, int32_t pos, int16_t val); +void writeSample(bool forceSmpRedraw); +void handleSampleDataMouseDown(bool mouseButtonHeld); +void updateSampleEditorSample(void); +void updateSampleEditor(void); +void hideSampleEditor(void); +void exitSampleEditor(void); +void showSampleEditor(void); +void handleSamplerRedrawing(void); +void toggleSampleEditor(void); +void toggleSampleEditorExt(void); +void showSampleEditorExt(void); +void hideSampleEditorExt(void); +void drawSampleEditorExt(void); +void handleSampleEditorExtRedrawing(void); +void sampleBackwards(void); +void sampleConv(void); +void sampleConvW(void); +void fixDC(void); +void smpEdStop(void); +void testSmpEdMouseUp(void); + +extern int32_t smpEd_Rx1, smpEd_Rx2; diff --git a/src/ft2_sample_ed_features.c b/src/ft2_sample_ed_features.c index 8f399aa..f52a270 100644 --- a/src/ft2_sample_ed_features.c +++ b/src/ft2_sample_ed_features.c @@ -1,1663 +1,1724 @@ -/* This file contains the routines for the following sample editor functions: -** - Resampler -** - Echo -** - Mix -** - Volume */ - -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include -#include -#include "ft2_header.h" -#include "ft2_mouse.h" -#include "ft2_audio.h" -#include "ft2_gui.h" -#include "ft2_events.h" -#include "ft2_video.h" -#include "ft2_inst_ed.h" -#include "ft2_sample_ed.h" -#include "ft2_keyboard.h" - -static int8_t smpEd_RelReSmp, mix_Balance = 50; -static bool stopThread, echo_AddMemory, exitFlag, outOfMemory; -static int16_t vol_StartVol = 100, vol_EndVol = 100, echo_nEcho = 1, echo_VolChange = 30; -static int32_t echo_Distance = 0x100; -static SDL_Thread *thread; - -static void pbExit(void) -{ - editor.ui.sysReqShown = false; - exitFlag = true; -} - -static void windowOpen(void) -{ - editor.ui.sysReqShown = true; - editor.ui.sysReqEnterPressed = false; - -#ifndef __APPLE__ - if (!video.fullscreen) // release mouse button trap - SDL_SetWindowGrab(video.window, SDL_FALSE); -#endif - - unstuckLastUsedGUIElement(); - SDL_EventState(SDL_DROPFILE, SDL_DISABLE); -} - -static void windowClose(bool rewriteSample) -{ - SDL_EventState(SDL_DROPFILE, SDL_ENABLE); - - if (exitFlag || rewriteSample) - writeSample(true); - else - updateNewSample(); - - mouseAnimOff(); -} - -static void sbSetResampleTones(uint32_t pos) -{ - if (smpEd_RelReSmp != (int8_t)(pos - 36)) - smpEd_RelReSmp = (int8_t)(pos - 36); -} - -static void pbResampleTonesDown(void) -{ - if (smpEd_RelReSmp > -36) - smpEd_RelReSmp--; -} - -static void pbResampleTonesUp(void) -{ - if (smpEd_RelReSmp < 36) - smpEd_RelReSmp++; -} - -static int32_t SDLCALL resampleThread(void *ptr) -{ - int8_t *p1, *p2, *src8, *dst8; - int16_t *src16, *dst16; - uint32_t newLen, mask, resampleLen; - uint64_t posfrac64, delta64; - double dNewLen, dLenMul; - sampleTyp *s; - - (void)ptr; - - if (instr[editor.curInstr] == NULL) - return true; - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - mask = (s->typ & 16) ? 0xFFFFFFFE : 0xFFFFFFFF; - dLenMul = pow(2.0, smpEd_RelReSmp * (1.0 / 12.0)); - - dNewLen = s->len * dLenMul; - if (dNewLen > (double)MAX_SAMPLE_LEN) - dNewLen = (double)MAX_SAMPLE_LEN; - - newLen = (int32_t)dNewLen & mask; - - p2 = (int8_t *)malloc(newLen + LOOP_FIX_LEN); - if (p2 == NULL) - { - outOfMemory = true; - setMouseBusy(false); - editor.ui.sysReqShown = false; - return true; - } - - p1 = s->pek; - - // don't use the potentially clamped newLen value here - delta64 = ((uint64_t)s->len << 32) / (uint64_t)(s->len * dLenMul); - - posfrac64 = 0; - - pauseAudio(); - restoreSample(s); - - if (newLen > 0) - { - if (s->typ & 16) - { - src16 = (int16_t *)p1; - dst16 = (int16_t *)p2; - - resampleLen = newLen / 2; - for (uint32_t i = 0; i < resampleLen; i++) - { - dst16[i] = src16[posfrac64 >> 32]; - posfrac64 += delta64; - } - } - else - { - src8 = p1; - dst8 = p2; - - for (uint32_t i = 0; i < newLen; i++) - { - dst8[i] = src8[posfrac64 >> 32]; - posfrac64 += delta64; - } - } - } - - free(p1); - - s->relTon = CLAMP(s->relTon + smpEd_RelReSmp, -48, 71); - - s->len = newLen; - s->pek = p2; - s->repS = (int32_t)(s->repS * dLenMul) & mask; - s->repL = (int32_t)(s->repL * dLenMul) & mask; - - if (s->repS > s->len) - s->repS = s->len; - - if (s->repS+s->repL > s->len) - s->repL = s->len - s->repS; - - if (s->typ & 16) - { - s->len &= 0xFFFFFFFE; - s->repS &= 0xFFFFFFFE; - s->repL &= 0xFFFFFFFE; - } - - if (s->repL == 0) - s->typ &= ~3; // disable loop - - fixSample(s); - resumeAudio(); - - setSongModifiedFlag(); - setMouseBusy(false); - - editor.ui.sysReqShown = false; - return true; -} - -static void pbDoResampling(void) -{ - mouseAnimOn(); - thread = SDL_CreateThread(resampleThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -static void drawResampleBox(void) -{ - char sign; - const int16_t x = 209; - const int16_t y = 230; - const int16_t w = 214; - const int16_t h = 54; - uint16_t val; - uint32_t mask; - double dNewLen, dLenMul; - sampleTyp *s; - - // main fill - fillRect(x + 1, y + 1, w - 2, h - 2, PAL_BUTTONS); - - // outer border - vLine(x, y, h - 1, PAL_BUTTON1); - hLine(x + 1, y, w - 2, PAL_BUTTON1); - vLine(x + w - 1, y, h, PAL_BUTTON2); - hLine(x, y + h - 1, w - 1, PAL_BUTTON2); - - // inner border - vLine(x + 2, y + 2, h - 5, PAL_BUTTON2); - hLine(x + 3, y + 2, w - 6, PAL_BUTTON2); - vLine(x + w - 3, y + 2, h - 4, PAL_BUTTON1); - hLine(x + 2, y + h - 3, w - 4, PAL_BUTTON1); - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - mask = (s->typ & 16) ? 0xFFFFFFFE : 0xFFFFFFFF; - dLenMul = pow(2.0, smpEd_RelReSmp * (1.0 / 12.0)); - - dNewLen = s->len * dLenMul; - if (dNewLen > (double)MAX_SAMPLE_LEN) - dNewLen = (double)MAX_SAMPLE_LEN; - - textOutShadow(215, 236, PAL_FORGRND, PAL_BUTTON2, "Rel. h.tones"); - textOutShadow(215, 250, PAL_FORGRND, PAL_BUTTON2, "New sample size"); - hexOut(361, 250, PAL_FORGRND, (uint32_t)dNewLen & mask, 8); - - if (smpEd_RelReSmp == 0) sign = ' '; - else if (smpEd_RelReSmp < 0) sign = '-'; - else sign = '+'; - - val = ABS(smpEd_RelReSmp); - if (val > 9) - { - charOut(291, 236, PAL_FORGRND, sign); - charOut(298, 236, PAL_FORGRND, '0' + ((val / 10) % 10)); - charOut(305, 236, PAL_FORGRND, '0' + (val % 10)); - } - else - { - charOut(298, 236, PAL_FORGRND, sign); - charOut(305, 236, PAL_FORGRND, '0' + (val % 10)); - } -} - -static void setupResampleBoxWidgets(void) -{ - pushButton_t *p; - scrollBar_t *s; - - // "Apply" pushbutton - p = &pushButtons[0]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = "Apply"; - p->x = 214; - p->y = 264; - p->w = 73; - p->h = 16; - p->callbackFuncOnUp = pbDoResampling; - p->visible = true; - - // "Exit" pushbutton - p = &pushButtons[1]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = "Exit"; - p->x = 345; - p->y = 264; - p->w = 73; - p->h = 16; - p->callbackFuncOnUp = pbExit; - p->visible = true; - - // scrollbar buttons - - p = &pushButtons[2]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = ARROW_LEFT_STRING; - p->x = 314; - p->y = 234; - p->w = 23; - p->h = 13; - p->preDelay = 1; - p->delayFrames = 3; - p->callbackFuncOnDown = pbResampleTonesDown; - p->visible = true; - - p = &pushButtons[3]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = ARROW_RIGHT_STRING; - p->x = 395; - p->y = 234; - p->w = 23; - p->h = 13; - p->preDelay = 1; - p->delayFrames = 3; - p->callbackFuncOnDown = pbResampleTonesUp; - p->visible = true; - - // echo num scrollbar - s = &scrollBars[0]; - memset(s, 0, sizeof (scrollBar_t)); - s->x = 337; - s->y = 234; - s->w = 58; - s->h = 13; - s->callbackFunc = sbSetResampleTones; - s->visible = true; - setScrollBarPageLength(0, 1); - setScrollBarEnd(0, 36 * 2); -} - -void pbSampleResample(void) -{ - uint16_t i; - - if (editor.curInstr == 0 || - instr[editor.curInstr] == NULL || - instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) - { - return; - } - - setupResampleBoxWidgets(); - windowOpen(); - - outOfMemory = false; - - exitFlag = false; - while (editor.ui.sysReqShown) - { - readInput(); - if (editor.ui.sysReqEnterPressed) - pbDoResampling(); - - setSyncedReplayerVars(); - handleRedrawing(); - - drawResampleBox(); - setScrollBarPos(0, smpEd_RelReSmp + 36, false); - drawCheckBox(0); - for (i = 0; i < 4; i++) drawPushButton(i); - drawScrollBar(0); - - flipFrame(); - } - - for (i = 0; i < 4; i++) hidePushButton(i); - hideScrollBar(0); - - windowClose(false); - - if (outOfMemory) - okBox(0, "System message", "Not enough memory!"); -} - -static void cbEchoAddMemory(void) -{ - echo_AddMemory ^= 1; -} - -static void sbSetEchoNumPos(uint32_t pos) -{ - if (echo_nEcho != (int32_t)pos) - echo_nEcho = (int16_t)pos; -} - -static void sbSetEchoDistPos(uint32_t pos) -{ - if (echo_Distance != (int32_t)pos) - echo_Distance = (int32_t)pos; -} - -static void sbSetEchoFadeoutPos(uint32_t pos) -{ - if (echo_VolChange != (int32_t)pos) - echo_VolChange = (int16_t)pos; -} - -static void pbEchoNumDown(void) -{ - if (echo_nEcho > 0) - echo_nEcho--; -} - -static void pbEchoNumUp(void) -{ - if (echo_nEcho < 1024) - echo_nEcho++; -} - -static void pbEchoDistDown(void) -{ - if (echo_Distance > 0) - echo_Distance--; -} - -static void pbEchoDistUp(void) -{ - if (echo_Distance < 16384) - echo_Distance++; -} - -static void pbEchoFadeoutDown(void) -{ - if (echo_VolChange > 0) - echo_VolChange--; -} - -static void pbEchoFadeoutUp(void) -{ - if (echo_VolChange < 100) - echo_VolChange++; -} - -static int32_t SDLCALL createEchoThread(void *ptr) -{ - int8_t *readPtr, *writePtr, *newPtr; - bool is16Bit; - int16_t *readPtr16, *writePtr16; - int32_t nEchoes, distance, readLen, writeLen, i, j; - int32_t smpOut, volChange, smpMul, echoRead, echoCycle, writeIdx; - int64_t tmp64; - sampleTyp *s; - - (void)ptr; - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - readLen = s->len; - readPtr = s->pek; - is16Bit = (s->typ & 16) ? true : false; - distance = echo_Distance * 16; - - // calculate real number of echoes - j = is16Bit ? 32768 : 128; i = 0; - while (i < echo_nEcho && j > 0) - { - j = (j * echo_VolChange) / 100; - i++; - } - nEchoes = i + 1; - - // set write length (either original length or full echo length) - writeLen = readLen; - if (echo_AddMemory) - { - tmp64 = writeLen + ((int64_t)distance * (nEchoes - 1)); - if (tmp64 > MAX_SAMPLE_LEN) - writeLen = MAX_SAMPLE_LEN; - else - writeLen += distance * (nEchoes - 1); - - if (is16Bit) - writeLen &= 0xFFFFFFFE; - } - - writePtr = (int8_t *)malloc(writeLen + LOOP_FIX_LEN); - if (writePtr == NULL) - { - outOfMemory = true; - setMouseBusy(false); - editor.ui.sysReqShown = false; - return false; - } - - pauseAudio(); - restoreSample(s); - - writeIdx = 0; - - // scale value for faster math and suitable rounding for PCM waveforms (DIV -> arithmetic bitshift right) - volChange = (int32_t)round((echo_VolChange * 256) / 100.0); - if (volChange > 256) - volChange = 256; - - if (is16Bit) - { - readPtr16 = (int16_t *)readPtr; - writePtr16 = (int16_t *)writePtr; - - writeLen >>= 1; - while (!stopThread && writeIdx < writeLen) - { - smpOut = 0; - smpMul = 32768; - - echoRead = writeIdx; - echoCycle = nEchoes; - - while (!stopThread && echoRead > 0 && echoCycle-- > 0) - { - if (echoRead < readLen) - smpOut += (readPtr16[echoRead] * smpMul) >> (16-1); - - smpMul = (smpMul * volChange) >> 8; - echoRead -= distance; - } - CLAMP16(smpOut); - - writePtr16[writeIdx++] = (int16_t)smpOut; - } - writeLen <<= 1; - } - else - { - while (!stopThread && writeIdx < writeLen) - { - smpOut = 0; - smpMul = 65536; - - echoRead = writeIdx; - echoCycle = nEchoes; - - while (!stopThread && echoRead > 0 && echoCycle-- > 0) - { - if (echoRead < readLen) - smpOut += (readPtr[echoRead] * smpMul) >> (16-8); - - smpMul = (smpMul * volChange) >> 8; - echoRead -= distance; - } - CLAMP16(smpOut); - - writePtr[writeIdx++] = (int8_t)(smpOut >> 8); - } - } - - free(readPtr); - - if (stopThread) - { - writeLen = writeIdx; - - newPtr = (int8_t *)realloc(writePtr, writeIdx + LOOP_FIX_LEN); - if (newPtr != NULL) - s->pek = newPtr; - - editor.updateCurSmp = true; - } - else - { - s->pek = writePtr; - } - - if (is16Bit) - writeLen &= 0xFFFFFFFE; - - s->len = writeLen; - - fixSample(s); - resumeAudio(); - - setSongModifiedFlag(); - setMouseBusy(false); - - editor.ui.sysReqShown = false; - return true; -} - -static void pbCreateEcho(void) -{ - stopThread = false; - - mouseAnimOn(); - thread = SDL_CreateThread(createEchoThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -static void drawEchoBox(void) -{ - const int16_t x = 171; - const int16_t y = 220; - const int16_t w = 291; - const int16_t h = 66; - - // main fill - fillRect(x + 1, y + 1, w - 2, h - 2, PAL_BUTTONS); - - // outer border - vLine(x, y, h - 1, PAL_BUTTON1); - hLine(x + 1, y, w - 2, PAL_BUTTON1); - vLine(x + w - 1, y, h, PAL_BUTTON2); - hLine(x, y + h - 1, w - 1, PAL_BUTTON2); - - // inner border - vLine(x + 2, y + 2, h - 5, PAL_BUTTON2); - hLine(x + 3, y + 2, w - 6, PAL_BUTTON2); - vLine(x + w - 3, y + 2, h - 4, PAL_BUTTON1); - hLine(x + 2, y + h - 3, w - 4, PAL_BUTTON1); - - textOutShadow(177, 226, PAL_FORGRND, PAL_BUTTON2, "Number of echoes"); - textOutShadow(177, 239, PAL_FORGRND, PAL_BUTTON2, "Echo distance"); - textOutShadow(177, 253, PAL_FORGRND, PAL_BUTTON2, "Fade out"); - textOutShadow(192, 270, PAL_FORGRND, PAL_BUTTON2, "Add memory to sample"); - - assert(echo_nEcho <= 1024); - - charOut(315 + (0 * 7), 226, PAL_FORGRND, '0' + (echo_nEcho / 1000) % 10); - charOut(315 + (1 * 7), 226, PAL_FORGRND, '0' + (echo_nEcho / 100) % 10); - charOut(315 + (2 * 7), 226, PAL_FORGRND, '0' + (echo_nEcho / 10) % 10); - charOut(315 + (3 * 7), 226, PAL_FORGRND, '0' + (echo_nEcho % 10)); - - assert((echo_Distance * 16) <= 262144); - - hexOut(308, 240, PAL_FORGRND, echo_Distance * 16, 5); - - assert(echo_VolChange <= 100); - - charOut(312 + (0 * 7), 254, PAL_FORGRND, '0' + (echo_VolChange / 100) % 10); - charOut(312 + (1 * 7), 254, PAL_FORGRND, '0' + (echo_VolChange / 10) % 10); - charOut(312 + (2 * 7), 254, PAL_FORGRND, '0' + (echo_VolChange % 10)); - charOutShadow(313 + (3 * 7), 254, PAL_FORGRND, PAL_BUTTON2, '%'); -} - -static void setupEchoBoxWidgets(void) -{ - checkBox_t *c; - pushButton_t *p; - scrollBar_t *s; - - // "Add memory to sample" checkbox - c = &checkBoxes[0]; - memset(c, 0, sizeof (checkBox_t)); - c->x = 176; - c->y = 268; - c->clickAreaWidth = 146; - c->clickAreaHeight = 12; - c->callbackFunc = cbEchoAddMemory; - c->checked = echo_AddMemory ? CHECKBOX_CHECKED : CHECKBOX_UNCHECKED; - c->visible = true; - - // "Apply" pushbutton - p = &pushButtons[0]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = "Apply"; - p->x = 345; - p->y = 266; - p->w = 56; - p->h = 16; - p->callbackFuncOnUp = pbCreateEcho; - p->visible = true; - - // "Exit" pushbutton - p = &pushButtons[1]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = "Exit"; - p->x = 402; - p->y = 266; - p->w = 55; - p->h = 16; - p->callbackFuncOnUp = pbExit; - p->visible = true; - - // scrollbar buttons - - p = &pushButtons[2]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = ARROW_LEFT_STRING; - p->x = 345; - p->y = 224; - p->w = 23; - p->h = 13; - p->preDelay = 1; - p->delayFrames = 3; - p->callbackFuncOnDown = pbEchoNumDown; - p->visible = true; - - p = &pushButtons[3]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = ARROW_RIGHT_STRING; - p->x = 434; - p->y = 224; - p->w = 23; - p->h = 13; - p->preDelay = 1; - p->delayFrames = 3; - p->callbackFuncOnDown = pbEchoNumUp; - p->visible = true; - - p = &pushButtons[4]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = ARROW_LEFT_STRING; - p->x = 345; - p->y = 238; - p->w = 23; - p->h = 13; - p->preDelay = 1; - p->delayFrames = 3; - p->callbackFuncOnDown = pbEchoDistDown; - p->visible = true; - - p = &pushButtons[5]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = ARROW_RIGHT_STRING; - p->x = 434; - p->y = 238; - p->w = 23; - p->h = 13; - p->preDelay = 1; - p->delayFrames = 3; - p->callbackFuncOnDown = pbEchoDistUp; - p->visible = true; - - p = &pushButtons[6]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = ARROW_LEFT_STRING; - p->x = 345; - p->y = 252; - p->w = 23; - p->h = 13; - p->preDelay = 1; - p->delayFrames = 3; - p->callbackFuncOnDown = pbEchoFadeoutDown; - p->visible = true; - - p = &pushButtons[7]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = ARROW_RIGHT_STRING; - p->x = 434; - p->y = 252; - p->w = 23; - p->h = 13; - p->preDelay = 1; - p->delayFrames = 3; - p->callbackFuncOnDown = pbEchoFadeoutUp; - p->visible = true; - - // echo num scrollbar - s = &scrollBars[0]; - memset(s, 0, sizeof (scrollBar_t)); - s->x = 368; - s->y = 224; - s->w = 66; - s->h = 13; - s->callbackFunc = sbSetEchoNumPos; - s->visible = true; - setScrollBarPageLength(0, 1); - setScrollBarEnd(0, 1024); - - // echo distance scrollbar - s = &scrollBars[1]; - memset(s, 0, sizeof (scrollBar_t)); - s->x = 368; - s->y = 238; - s->w = 66; - s->h = 13; - s->callbackFunc = sbSetEchoDistPos; - s->visible = true; - setScrollBarPageLength(1, 1); - setScrollBarEnd(1, 16384); - - // echo fadeout scrollbar - s = &scrollBars[2]; - memset(s, 0, sizeof (scrollBar_t)); - s->x = 368; - s->y = 252; - s->w = 66; - s->h = 13; - s->callbackFunc = sbSetEchoFadeoutPos; - s->visible = true; - setScrollBarPageLength(2, 1); - setScrollBarEnd(2, 100); -} - -void handleEchoToolPanic(void) -{ - stopThread = true; -} - -void pbSampleEcho(void) -{ - uint16_t i; - - if (editor.curInstr == 0 || - instr[editor.curInstr] == NULL || - instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) - { - return; - } - - setupEchoBoxWidgets(); - windowOpen(); - - outOfMemory = false; - - exitFlag = false; - while (editor.ui.sysReqShown) - { - readInput(); - if (editor.ui.sysReqEnterPressed) - pbCreateEcho(); - - setSyncedReplayerVars(); - handleRedrawing(); - - drawEchoBox(); - setScrollBarPos(0, echo_nEcho, false); - setScrollBarPos(1, echo_Distance, false); - setScrollBarPos(2, echo_VolChange, false); - drawCheckBox(0); - for (i = 0; i < 8; i++) drawPushButton(i); - for (i = 0; i < 3; i++) drawScrollBar(i); - - flipFrame(); - } - - hideCheckBox(0); - for (i = 0; i < 8; i++) hidePushButton(i); - for (i = 0; i < 3; i++) hideScrollBar(i); - - windowClose(echo_AddMemory ? false : true); - - if (outOfMemory) - okBox(0, "System message", "Not enough memory!"); -} - -static int32_t SDLCALL mixThread(void *ptr) -{ - int8_t *destPtr, *mixPtr, *p; - uint8_t mixTyp, destTyp; - int16_t destIns, destSmp, mixIns, mixSmp; - int32_t mixMul1, mixMul2, smp32, x1, x2, i, destLen, mixLen, maxLen, dest8Size, max8Size, mix8Size; - - (void)ptr; - - destIns = editor.curInstr; - destSmp = editor.curSmp; - mixIns = editor.srcInstr; - mixSmp = editor.srcSmp; - - if (destIns == mixIns && destSmp == mixSmp) - { - setMouseBusy(false); - editor.ui.sysReqShown = false; - return true; - } - - if (instr[mixIns] == NULL) - { - mixLen = 0; - mixPtr = NULL; - mixTyp = 0; - } - else - { - mixLen = instr[mixIns]->samp[mixSmp].len; - mixPtr = instr[mixIns]->samp[mixSmp].pek; - mixTyp = instr[mixIns]->samp[mixSmp].typ; - - if (mixPtr == NULL) - { - mixLen = 0; - mixTyp = 0; - } - } - - if (instr[destIns] == NULL) - { - destLen = 0; - destPtr = NULL; - destTyp = 0; - } - else - { - destLen = instr[destIns]->samp[destSmp].len; - destPtr = instr[destIns]->samp[destSmp].pek; - destTyp = instr[destIns]->samp[destSmp].typ; - - if (destPtr == NULL) - { - destLen = 0; - destTyp = 0; - } - } - - mix8Size = (mixTyp & 16) ? (mixLen / 2) : mixLen; - dest8Size = (destTyp & 16) ? (destLen / 2) : destLen; - max8Size = (dest8Size > mix8Size) ? dest8Size : mix8Size; - maxLen = (destTyp & 16) ? (max8Size * 2) : max8Size; - - if (maxLen <= 0) - { - setMouseBusy(false); - editor.ui.sysReqShown = false; - return true; - } - - p = (int8_t *)calloc(maxLen + LOOP_FIX_LEN, sizeof (int8_t)); - if (p == NULL) - { - outOfMemory = true; - setMouseBusy(false); - editor.ui.sysReqShown = false; - return true; - } - - if (instr[destIns] == NULL && !allocateInstr(destIns)) - { - outOfMemory = true; - setMouseBusy(false); - editor.ui.sysReqShown = false; - return true; - } - - pauseAudio(); - - restoreSample(&instr[destIns]->samp[destSmp]); - if (instr[mixIns] != NULL) - restoreSample(&instr[mixIns]->samp[mixSmp]); - - // scale value for faster math and suitable rounding for PCM waveforms (DIV -> arithmetic bitshift right) - mixMul1 = (int32_t)round((mix_Balance * 256) / 100.0); - if (mixMul1 > 256) - mixMul1 = 256; - mixMul2 = 256 - mixMul1; - - for (i = 0; i < max8Size; i++) - { - x1 = (i >= mix8Size) ? 0 : getSampleValueNr(mixPtr, mixTyp, (mixTyp & 16) ? (i << 1) : i); - x2 = (i >= dest8Size) ? 0 : getSampleValueNr(destPtr, destTyp, (destTyp & 16) ? (i << 1) : i); - - if (!(mixTyp & 16)) x1 <<= 8; - if (!(destTyp & 16)) x2 <<= 8; - - smp32 = (int32_t)((((int64_t)x1 * mixMul1) + ((int64_t)x2 * mixMul2)) >> 8); - CLAMP16(smp32); - - if (!(destTyp & 16)) - smp32 >>= 8; - - putSampleValueNr(p, destTyp, (destTyp & 16) ? (i << 1) : i, (int16_t)smp32); - } - - if (instr[destIns]->samp[destSmp].pek != NULL) - free(instr[destIns]->samp[destSmp].pek); - - instr[destIns]->samp[destSmp].pek = p; - instr[destIns]->samp[destSmp].len = maxLen; - instr[destIns]->samp[destSmp].typ = destTyp; - - if (destTyp & 16) // bugfix - instr[destIns]->samp[destSmp].len &= 0xFFFFFFFE; - - fixSample(&instr[destIns]->samp[destSmp]); - if (instr[mixIns] != NULL) - fixSample(&instr[mixIns]->samp[mixSmp]); - - resumeAudio(); - - setSongModifiedFlag(); - setMouseBusy(false); - - editor.ui.sysReqShown = false; - return true; -} - -static void pbMix(void) -{ - mouseAnimOn(); - thread = SDL_CreateThread(mixThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -static void sbSetMixBalancePos(uint32_t pos) -{ - if (mix_Balance != (int8_t)pos) - mix_Balance = (int8_t)pos; -} - -static void pbMixBalanceDown(void) -{ - if (mix_Balance > 0) - mix_Balance--; -} - -static void pbMixBalanceUp(void) -{ - if (mix_Balance < 100) - mix_Balance++; -} - -static void drawMixSampleBox(void) -{ - const int16_t x = 192; - const int16_t y = 240; - const int16_t w = 248; - const int16_t h = 38; - - // main fill - fillRect(x + 1, y + 1, w - 2, h - 2, PAL_BUTTONS); - - // outer border - vLine(x, y, h - 1, PAL_BUTTON1); - hLine(x + 1, y, w - 2, PAL_BUTTON1); - vLine(x + w - 1, y, h, PAL_BUTTON2); - hLine(x, y + h - 1, w - 1, PAL_BUTTON2); - - // inner border - vLine(x + 2, y + 2, h - 5, PAL_BUTTON2); - hLine(x + 3, y + 2, w - 6, PAL_BUTTON2); - vLine(x + w - 3, y + 2, h - 4, PAL_BUTTON1); - hLine(x + 2, y + h - 3, w - 4, PAL_BUTTON1); - - textOutShadow(198, 246, PAL_FORGRND, PAL_BUTTON2, "Mixing balance"); - - assert((mix_Balance >= 0) && (mix_Balance <= 100)); - - charOut(299 + (0 * 7), 246, PAL_FORGRND, '0' + ((mix_Balance / 100) % 10)); - charOut(299 + (1 * 7), 246, PAL_FORGRND, '0' + ((mix_Balance / 10) % 10)); - charOut(299 + (2 * 7), 246, PAL_FORGRND, '0' + (mix_Balance % 10)); -} - -static void setupMixBoxWidgets(void) -{ - pushButton_t *p; - scrollBar_t *s; - - // "Apply" pushbutton - p = &pushButtons[0]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = "Apply"; - p->x = 197; - p->y = 258; - p->w = 73; - p->h = 16; - p->callbackFuncOnUp = pbMix; - p->visible = true; - - // "Exit" pushbutton - p = &pushButtons[1]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = "Exit"; - p->x = 361; - p->y = 258; - p->w = 73; - p->h = 16; - p->callbackFuncOnUp = pbExit; - p->visible = true; - - // scrollbar buttons - - p = &pushButtons[2]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = ARROW_LEFT_STRING; - p->x = 322; - p->y = 244; - p->w = 23; - p->h = 13; - p->preDelay = 1; - p->delayFrames = 3; - p->callbackFuncOnDown = pbMixBalanceDown; - p->visible = true; - - p = &pushButtons[3]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = ARROW_RIGHT_STRING; - p->x = 411; - p->y = 244; - p->w = 23; - p->h = 13; - p->preDelay = 1; - p->delayFrames = 3; - p->callbackFuncOnDown = pbMixBalanceUp; - p->visible = true; - - // mixing balance scrollbar - s = &scrollBars[0]; - memset(s, 0, sizeof (scrollBar_t)); - s->x = 345; - s->y = 244; - s->w = 66; - s->h = 13; - s->callbackFunc = sbSetMixBalancePos; - s->visible = true; - setScrollBarPageLength(0, 1); - setScrollBarEnd(0, 100); -} - -void pbSampleMix(void) -{ - uint16_t i; - - if (editor.curInstr == 0) - return; - - setupMixBoxWidgets(); - windowOpen(); - - outOfMemory = false; - - exitFlag = false; - while (editor.ui.sysReqShown) - { - readInput(); - if (editor.ui.sysReqEnterPressed) - pbMix(); - - setSyncedReplayerVars(); - handleRedrawing(); - - drawMixSampleBox(); - setScrollBarPos(0, mix_Balance, false); - for (i = 0; i < 4; i++) drawPushButton(i); - drawScrollBar(0); - - flipFrame(); - } - - for (i = 0; i < 4; i++) hidePushButton(i); - hideScrollBar(0); - - windowClose(false); - - if (outOfMemory) - okBox(0, "System message", "Not enough memory!"); -} - -static void sbSetStartVolPos(uint32_t pos) -{ - int16_t val = (int16_t)(pos - 500); - if (val != vol_StartVol) - { - if (ABS(val) < 10) val = 0; - else if (ABS(val - 100) < 10) val = 100; - else if (ABS(val - 200) < 10) val = 200; - else if (ABS(val - 300) < 10) val = 300; - else if (ABS(val - 400) < 10) val = 400; - else if (ABS(val + 100) < 10) val = -100; - else if (ABS(val + 200) < 10) val = -200; - else if (ABS(val + 300) < 10) val = -300; - else if (ABS(val + 400) < 10) val = -400; - - vol_StartVol = val; - } -} - -static void sbSetEndVolPos(uint32_t pos) -{ - int16_t val = (int16_t)(pos - 500); - if (val != vol_EndVol) - { - if (ABS(val) < 10) val = 0; - else if (ABS(val - 100) < 10) val = 100; - else if (ABS(val - 200) < 10) val = 200; - else if (ABS(val - 300) < 10) val = 300; - else if (ABS(val - 400) < 10) val = 400; - else if (ABS(val + 100) < 10) val = -100; - else if (ABS(val + 200) < 10) val = -200; - else if (ABS(val + 300) < 10) val = -300; - else if (ABS(val + 400) < 10) val = -400; - - vol_EndVol = val; - } -} - -static void pbSampStartVolDown(void) -{ - if (vol_StartVol > -500) - vol_StartVol--; -} - -static void pbSampStartVolUp(void) -{ - if (vol_StartVol < 500) - vol_StartVol++; -} - -static void pbSampEndVolDown(void) -{ - if (vol_EndVol > -500) - vol_EndVol--; -} - -static void pbSampEndVolUp(void) -{ - if (vol_EndVol < 500) - vol_EndVol++; -} - -static int32_t SDLCALL applyVolumeThread(void *ptr) -{ - int8_t *ptr8; - int16_t *ptr16; - int32_t vol1, vol2, tmp32, x1, x2, len, i; - sampleTyp *s; - - if (instr[editor.curInstr] == NULL) - goto applyVolumeExit; - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - (void)ptr; - - if (smpEd_Rx1 < smpEd_Rx2) - { - x1 = smpEd_Rx1; - x2 = smpEd_Rx2; - - if (x2 > s->len) - x2 = s->len; - - if (x1 < 0) - x1 = 0; - - if (x2 <= x1) - goto applyVolumeExit; - - if (s->typ & 16) - { - x1 &= 0xFFFFFFFE; - x2 &= 0xFFFFFFFE; - } - } - else - { - x1 = 0; - x2 = s->len; - } - - if (s->typ & 16) - { - x1 /= 2; - x2 /= 2; - } - - len = x2 - x1; - if (len <= 0) - goto applyVolumeExit; - - pauseAudio(); - restoreSample(s); - - // scale values for faster math and suitable rounding for PCM waveforms (DIV -> arithmetic bitshift right) - vol1 = (int32_t)round((vol_StartVol * 256) / 100.0); - vol2 = (int32_t)round((vol_EndVol * 256) / 100.0) - vol1; - - if (s->typ & 16) - { - ptr16 = (int16_t *)s->pek; - for (i = x1; i < x2; i++) - { - tmp32 = vol1 + (int32_t)(((int64_t)(i - x1) * vol2) / len); - tmp32 = (ptr16[i] * tmp32) >> 8; - CLAMP16(tmp32); - ptr16[i] = (int16_t)tmp32; - } - } - else - { - ptr8 = s->pek; - for (i = x1; i < x2; i++) - { - tmp32 = vol1 + (int32_t)(((int64_t)(i - x1) * vol2) / len); - tmp32 = (ptr8[i] * tmp32) >> 8; - CLAMP8(tmp32); - ptr8[i] = (int8_t)tmp32; - } - } - fixSample(s); - - resumeAudio(); - setSongModifiedFlag(); - -applyVolumeExit: - setMouseBusy(false); - editor.ui.sysReqShown = false; - return true; -} - -static void pbApplyVolume(void) -{ - if (vol_StartVol == 100 && vol_EndVol == 100) - { - editor.ui.sysReqShown = false; - return; // no volume change to be done - } - - mouseAnimOn(); - thread = SDL_CreateThread(applyVolumeThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -static int32_t SDLCALL getMaxScaleThread(void *ptr) -{ - int8_t *ptr8; - int16_t *ptr16; - int32_t vol, absSmp, x1, x2, len, i, maxAmp; - sampleTyp *s; - - (void)ptr; - - if (instr[editor.curInstr] == NULL) - goto getScaleExit; - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - if (smpEd_Rx1 < smpEd_Rx2) - { - x1 = smpEd_Rx1; - x2 = smpEd_Rx2; - - if (x2 > s->len) - x2 = s->len; - - if (x1 < 0) - x1 = 0; - - if (x2 <= x1) - goto getScaleExit; - - if (s->typ & 16) - { - x1 &= 0xFFFFFFFE; - x2 &= 0xFFFFFFFE; - } - } - else - { - // no sample marking, operate on the whole sample - x1 = 0; - x2 = s->len; - } - - len = x2 - x1; - if (s->typ & 16) - len /= 2; - - if (len <= 0) - { - vol_StartVol = 0; - vol_EndVol = 0; - goto getScaleExit; - } - - restoreSample(s); - - maxAmp = 0; - if (s->typ & 16) - { - ptr16 = (int16_t *)&s->pek[x1]; - for (i = 0; i < len; i++) - { - absSmp = ABS(ptr16[i]); - if (absSmp > maxAmp) - maxAmp = absSmp; - } - } - else - { - ptr8 = &s->pek[x1]; - for (i = 0; i < len; i++) - { - absSmp = ABS(ptr8[i]); - if (absSmp > maxAmp) - maxAmp = absSmp; - } - - maxAmp <<= 8; - } - - fixSample(s); - - if (maxAmp <= 0) - { - vol_StartVol = 0; - vol_EndVol = 0; - } - else - { - vol = (100 * 32768) / maxAmp; - if (vol > 500) - vol = 500; - - vol_StartVol = (int16_t)vol; - vol_EndVol = (int16_t)vol; - } - -getScaleExit: - setMouseBusy(false); - return true; -} - -static void pbGetMaxScale(void) -{ - mouseAnimOn(); - thread = SDL_CreateThread(getMaxScaleThread, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -static void drawSampleVolumeBox(void) -{ - char sign; - const int16_t x = 166; - const int16_t y = 230; - const int16_t w = 301; - const int16_t h = 52; - uint16_t val; - - // main fill - fillRect(x + 1, y + 1, w - 2, h - 2, PAL_BUTTONS); - - // outer border - vLine(x, y, h - 1, PAL_BUTTON1); - hLine(x + 1, y, w - 2, PAL_BUTTON1); - vLine(x + w - 1, y, h, PAL_BUTTON2); - hLine(x, y + h - 1, w - 1, PAL_BUTTON2); - - // inner border - vLine(x + 2, y + 2, h - 5, PAL_BUTTON2); - hLine(x + 3, y + 2, w - 6, PAL_BUTTON2); - vLine(x + w - 3, y + 2, h - 4, PAL_BUTTON1); - hLine(x + 2, y + h - 3, w - 4, PAL_BUTTON1); - - textOutShadow(172, 236, PAL_FORGRND, PAL_BUTTON2, "Start volume"); - textOutShadow(172, 249, PAL_FORGRND, PAL_BUTTON2, "End volume"); - charOutShadow(282, 236, PAL_FORGRND, PAL_BUTTON2, '%'); - charOutShadow(282, 250, PAL_FORGRND, PAL_BUTTON2, '%'); - - if (vol_StartVol == 0) sign = ' '; - else if (vol_StartVol < 0) sign = '-'; - else sign = '+'; - - val = ABS(vol_StartVol); - if (val > 99) - { - charOut(253, 236, PAL_FORGRND, sign); - charOut(260, 236, PAL_FORGRND, '0' + ((val / 100) % 10)); - charOut(267, 236, PAL_FORGRND, '0' + ((val / 10) % 10)); - charOut(274, 236, PAL_FORGRND, '0' + (val % 10)); - } - else if (val > 9) - { - charOut(260, 236, PAL_FORGRND, sign); - charOut(267, 236, PAL_FORGRND, '0' + ((val / 10) % 10)); - charOut(274, 236, PAL_FORGRND, '0' + (val % 10)); - } - else - { - charOut(267, 236, PAL_FORGRND, sign); - charOut(274, 236, PAL_FORGRND, '0' + (val % 10)); - } - - if (vol_EndVol == 0) sign = ' '; - else if (vol_EndVol < 0) sign = '-'; - else sign = '+'; - - val = ABS(vol_EndVol); - if (val > 99) - { - charOut(253, 250, PAL_FORGRND, sign); - charOut(260, 250, PAL_FORGRND, '0' + ((val / 100) % 10)); - charOut(267, 250, PAL_FORGRND, '0' + ((val / 10) % 10)); - charOut(274, 250, PAL_FORGRND, '0' + (val % 10)); - } - else if (val > 9) - { - charOut(260, 250, PAL_FORGRND, sign); - charOut(267, 250, PAL_FORGRND, '0' + ((val / 10) % 10)); - charOut(274, 250, PAL_FORGRND, '0' + (val % 10)); - } - else - { - charOut(267, 250, PAL_FORGRND, sign); - charOut(274, 250, PAL_FORGRND, '0' + (val % 10)); - } -} - -static void setupVolumeBoxWidgets(void) -{ - pushButton_t *p; - scrollBar_t *s; - - // "Apply" pushbutton - p = &pushButtons[0]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = "Apply"; - p->x = 171; - p->y = 262; - p->w = 73; - p->h = 16; - p->callbackFuncOnUp = pbApplyVolume; - p->visible = true; - - // "Get maximum scale" pushbutton - p = &pushButtons[1]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = "Get maximum scale"; - p->x = 245; - p->y = 262; - p->w = 143; - p->h = 16; - p->callbackFuncOnUp = pbGetMaxScale; - p->visible = true; - - // "Exit" pushbutton - p = &pushButtons[2]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = "Exit"; - p->x = 389; - p->y = 262; - p->w = 73; - p->h = 16; - p->callbackFuncOnUp = pbExit; - p->visible = true; - - // scrollbar buttons - - p = &pushButtons[3]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = ARROW_LEFT_STRING; - p->x = 292; - p->y = 234; - p->w = 23; - p->h = 13; - p->preDelay = 1; - p->delayFrames = 3; - p->callbackFuncOnDown = pbSampStartVolDown; - p->visible = true; - - p = &pushButtons[4]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = ARROW_RIGHT_STRING; - p->x = 439; - p->y = 234; - p->w = 23; - p->h = 13; - p->preDelay = 1; - p->delayFrames = 3; - p->callbackFuncOnDown = pbSampStartVolUp; - p->visible = true; - - p = &pushButtons[5]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = ARROW_LEFT_STRING; - p->x = 292; - p->y = 248; - p->w = 23; - p->h = 13; - p->preDelay = 1; - p->delayFrames = 3; - p->callbackFuncOnDown = pbSampEndVolDown; - p->visible = true; - - p = &pushButtons[6]; - memset(p, 0, sizeof (pushButton_t)); - p->caption = ARROW_RIGHT_STRING; - p->x = 439; - p->y = 248; - p->w = 23; - p->h = 13; - p->preDelay = 1; - p->delayFrames = 3; - p->callbackFuncOnDown = pbSampEndVolUp; - p->visible = true; - - // volume start scrollbar - s = &scrollBars[0]; - memset(s, 0, sizeof (scrollBar_t)); - s->x = 315; - s->y = 234; - s->w = 124; - s->h = 13; - s->callbackFunc = sbSetStartVolPos; - s->visible = true; - setScrollBarPageLength(0, 1); - setScrollBarEnd(0, 500 * 2); - setScrollBarPos(0, 500, false); - - // volume end scrollbar - s = &scrollBars[1]; - memset(s, 0, sizeof (scrollBar_t)); - s->x = 315; - s->y = 248; - s->w = 124; - s->h = 13; - s->callbackFunc = sbSetEndVolPos; - s->visible = true; - setScrollBarPageLength(1, 1); - setScrollBarEnd(1, 500 * 2); - setScrollBarPos(1, 500, false); -} - -void pbSampleVolume(void) -{ - uint16_t i; - - if (editor.curInstr == 0 || - instr[editor.curInstr] == NULL || - instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) - { - return; - } - - setupVolumeBoxWidgets(); - windowOpen(); - - exitFlag = false; - while (editor.ui.sysReqShown) - { - readInput(); - if (editor.ui.sysReqEnterPressed) - { - pbApplyVolume(); - keyb.ignoreCurrKeyUp = true; // don't handle key up event for this key release - } - - setSyncedReplayerVars(); - handleRedrawing(); - - // this is needed for the "Get maximum scale" button - if (editor.ui.setMouseIdle) mouseAnimOff(); - - drawSampleVolumeBox(); - setScrollBarPos(0, 500 + vol_StartVol, false); - setScrollBarPos(1, 500 + vol_EndVol, false); - for (i = 0; i < 7; i++) drawPushButton(i); - for (i = 0; i < 2; i++) drawScrollBar(i); - - flipFrame(); - } - - for (i = 0; i < 7; i++) hidePushButton(i); - for (i = 0; i < 2; i++) hideScrollBar(i); - - windowClose(true); -} +/* This file contains the routines for the following sample editor functions: +** - Resampler +** - Echo +** - Mix +** - Volume +**/ + +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include +#include +#include "ft2_header.h" +#include "ft2_mouse.h" +#include "ft2_audio.h" +#include "ft2_gui.h" +#include "ft2_events.h" +#include "ft2_video.h" +#include "ft2_inst_ed.h" +#include "ft2_sample_ed.h" +#include "ft2_keyboard.h" + +static volatile bool stopThread; + +static int8_t smpEd_RelReSmp, mix_Balance = 50; +static bool echo_AddMemory, exitFlag, outOfMemory; +static int16_t vol_StartVol = 100, vol_EndVol = 100, echo_nEcho = 1, echo_VolChange = 30; +static int32_t echo_Distance = 0x100; +static SDL_Thread *thread; + +static void pbExit(void) +{ + editor.ui.sysReqShown = false; + exitFlag = true; +} + +static void windowOpen(void) +{ + editor.ui.sysReqShown = true; + editor.ui.sysReqEnterPressed = false; + +#ifndef __APPLE__ + if (!video.fullscreen) // release mouse button trap + SDL_SetWindowGrab(video.window, SDL_FALSE); +#endif + + unstuckLastUsedGUIElement(); + SDL_EventState(SDL_DROPFILE, SDL_DISABLE); +} + +static void windowClose(bool rewriteSample) +{ + SDL_EventState(SDL_DROPFILE, SDL_ENABLE); + + if (exitFlag || rewriteSample) + writeSample(true); + else + updateNewSample(); + + mouseAnimOff(); +} + +static void sbSetResampleTones(uint32_t pos) +{ + if (smpEd_RelReSmp != (int8_t)(pos - 36)) + smpEd_RelReSmp = (int8_t)(pos - 36); +} + +static void pbResampleTonesDown(void) +{ + if (smpEd_RelReSmp > -36) + smpEd_RelReSmp--; +} + +static void pbResampleTonesUp(void) +{ + if (smpEd_RelReSmp < 36) + smpEd_RelReSmp++; +} + +static int32_t SDLCALL resampleThread(void *ptr) +{ + int8_t *p1, *p2, *src8, *dst8; + int16_t *src16, *dst16; + uint32_t newLen, mask, resampleLen; + uint64_t posFrac64, delta64; + double dNewLen, dLenMul; + sampleTyp *s; + + (void)ptr; + + if (instr[editor.curInstr] == NULL) + return true; + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + mask = (s->typ & 16) ? 0xFFFFFFFE : 0xFFFFFFFF; + dLenMul = exp2(smpEd_RelReSmp * (1.0 / 12.0)); + + dNewLen = s->len * dLenMul; + if (dNewLen > (double)MAX_SAMPLE_LEN) + dNewLen = (double)MAX_SAMPLE_LEN; + + newLen = (int32_t)dNewLen & mask; + + p2 = (int8_t *)malloc(newLen + LOOP_FIX_LEN); + if (p2 == NULL) + { + outOfMemory = true; + setMouseBusy(false); + editor.ui.sysReqShown = false; + return true; + } + + int8_t *newPtr = p2 + SMP_DAT_OFFSET; + + p1 = s->pek; + + // don't use the potentially clamped newLen value here + delta64 = ((uint64_t)s->len << 32) / (uint64_t)(s->len * dLenMul); // 32.32 fixed point delta + + posFrac64 = 0; // 32.32 fixed point position.fraction + + pauseAudio(); + restoreSample(s); + + if (newLen > 0) + { + if (s->typ & 16) + { + src16 = (int16_t *)p1; + dst16 = (int16_t *)newPtr; + + resampleLen = newLen >> 1; + for (uint32_t i = 0; i < resampleLen; i++) + { + dst16[i] = src16[posFrac64 >> 32]; + posFrac64 += delta64; + } + } + else + { + src8 = p1; + dst8 = newPtr; + + for (uint32_t i = 0; i < newLen; i++) + { + dst8[i] = src8[posFrac64 >> 32]; + posFrac64 += delta64; + } + } + } + + free(s->origPek); + + s->relTon = CLAMP(s->relTon + smpEd_RelReSmp, -48, 71); + + s->len = newLen & mask; + + s->origPek = p2; + s->pek = s->origPek + SMP_DAT_OFFSET; + + s->repS = (int32_t)(s->repS * dLenMul); + s->repL = (int32_t)(s->repL * dLenMul); + + s->repS &= mask; + s->repL &= mask; + + if (s->repS >= s->len) + s->repS = s->len-1; + + if (s->repS+s->repL > s->len) + s->repL = s->len - s->repS; + + if (s->typ & 16) + { + s->len &= 0xFFFFFFFE; + s->repS &= 0xFFFFFFFE; + s->repL &= 0xFFFFFFFE; + } + + if (s->repL <= 0) + s->typ &= ~3; // disable loop + + fixSample(s); + resumeAudio(); + + setSongModifiedFlag(); + setMouseBusy(false); + + editor.ui.sysReqShown = false; + return true; +} + +static void pbDoResampling(void) +{ + mouseAnimOn(); + thread = SDL_CreateThread(resampleThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +static void drawResampleBox(void) +{ + char sign; + const int16_t x = 209; + const int16_t y = 230; + const int16_t w = 214; + const int16_t h = 54; + uint16_t val; + uint32_t mask; + double dNewLen, dLenMul; + sampleTyp *s; + + // main fill + fillRect(x + 1, y + 1, w - 2, h - 2, PAL_BUTTONS); + + // outer border + vLine(x, y, h - 1, PAL_BUTTON1); + hLine(x + 1, y, w - 2, PAL_BUTTON1); + vLine(x + w - 1, y, h, PAL_BUTTON2); + hLine(x, y + h - 1, w - 1, PAL_BUTTON2); + + // inner border + vLine(x + 2, y + 2, h - 5, PAL_BUTTON2); + hLine(x + 3, y + 2, w - 6, PAL_BUTTON2); + vLine(x + w - 3, y + 2, h - 4, PAL_BUTTON1); + hLine(x + 2, y + h - 3, w - 4, PAL_BUTTON1); + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + mask = (s->typ & 16) ? 0xFFFFFFFE : 0xFFFFFFFF; + dLenMul = exp2(smpEd_RelReSmp * (1.0 / 12.0)); + + dNewLen = s->len * dLenMul; + if (dNewLen > (double)MAX_SAMPLE_LEN) + dNewLen = (double)MAX_SAMPLE_LEN; + + textOutShadow(215, 236, PAL_FORGRND, PAL_BUTTON2, "Rel. h.tones"); + textOutShadow(215, 250, PAL_FORGRND, PAL_BUTTON2, "New sample size"); + hexOut(361, 250, PAL_FORGRND, (uint32_t)dNewLen & mask, 8); + + if (smpEd_RelReSmp == 0) sign = ' '; + else if (smpEd_RelReSmp < 0) sign = '-'; + else sign = '+'; + + val = ABS(smpEd_RelReSmp); + if (val > 9) + { + charOut(291, 236, PAL_FORGRND, sign); + charOut(298, 236, PAL_FORGRND, '0' + ((val / 10) % 10)); + charOut(305, 236, PAL_FORGRND, '0' + (val % 10)); + } + else + { + charOut(298, 236, PAL_FORGRND, sign); + charOut(305, 236, PAL_FORGRND, '0' + (val % 10)); + } +} + +static void setupResampleBoxWidgets(void) +{ + pushButton_t *p; + scrollBar_t *s; + + // "Apply" pushbutton + p = &pushButtons[0]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = "Apply"; + p->x = 214; + p->y = 264; + p->w = 73; + p->h = 16; + p->callbackFuncOnUp = pbDoResampling; + p->visible = true; + + // "Exit" pushbutton + p = &pushButtons[1]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = "Exit"; + p->x = 345; + p->y = 264; + p->w = 73; + p->h = 16; + p->callbackFuncOnUp = pbExit; + p->visible = true; + + // scrollbar buttons + + p = &pushButtons[2]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = ARROW_LEFT_STRING; + p->x = 314; + p->y = 234; + p->w = 23; + p->h = 13; + p->preDelay = 1; + p->delayFrames = 3; + p->callbackFuncOnDown = pbResampleTonesDown; + p->visible = true; + + p = &pushButtons[3]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = ARROW_RIGHT_STRING; + p->x = 395; + p->y = 234; + p->w = 23; + p->h = 13; + p->preDelay = 1; + p->delayFrames = 3; + p->callbackFuncOnDown = pbResampleTonesUp; + p->visible = true; + + // echo num scrollbar + s = &scrollBars[0]; + memset(s, 0, sizeof (scrollBar_t)); + s->x = 337; + s->y = 234; + s->w = 58; + s->h = 13; + s->callbackFunc = sbSetResampleTones; + s->visible = true; + setScrollBarPageLength(0, 1); + setScrollBarEnd(0, 36 * 2); +} + +void pbSampleResample(void) +{ + uint16_t i; + + if (editor.curInstr == 0 || + instr[editor.curInstr] == NULL || + instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) + { + return; + } + + setupResampleBoxWidgets(); + windowOpen(); + + outOfMemory = false; + + exitFlag = false; + while (editor.ui.sysReqShown) + { + readInput(); + if (editor.ui.sysReqEnterPressed) + pbDoResampling(); + + setSyncedReplayerVars(); + handleRedrawing(); + + drawResampleBox(); + setScrollBarPos(0, smpEd_RelReSmp + 36, false); + drawCheckBox(0); + for (i = 0; i < 4; i++) drawPushButton(i); + drawScrollBar(0); + + flipFrame(); + } + + for (i = 0; i < 4; i++) hidePushButton(i); + hideScrollBar(0); + + windowClose(false); + + if (outOfMemory) + okBox(0, "System message", "Not enough memory!"); +} + +static void cbEchoAddMemory(void) +{ + echo_AddMemory ^= 1; +} + +static void sbSetEchoNumPos(uint32_t pos) +{ + if (echo_nEcho != (int32_t)pos) + echo_nEcho = (int16_t)pos; +} + +static void sbSetEchoDistPos(uint32_t pos) +{ + if (echo_Distance != (int32_t)pos) + echo_Distance = (int32_t)pos; +} + +static void sbSetEchoFadeoutPos(uint32_t pos) +{ + if (echo_VolChange != (int32_t)pos) + echo_VolChange = (int16_t)pos; +} + +static void pbEchoNumDown(void) +{ + if (echo_nEcho > 0) + echo_nEcho--; +} + +static void pbEchoNumUp(void) +{ + if (echo_nEcho < 1024) + echo_nEcho++; +} + +static void pbEchoDistDown(void) +{ + if (echo_Distance > 0) + echo_Distance--; +} + +static void pbEchoDistUp(void) +{ + if (echo_Distance < 16384) + echo_Distance++; +} + +static void pbEchoFadeoutDown(void) +{ + if (echo_VolChange > 0) + echo_VolChange--; +} + +static void pbEchoFadeoutUp(void) +{ + if (echo_VolChange < 100) + echo_VolChange++; +} + +static int32_t SDLCALL createEchoThread(void *ptr) +{ + int8_t *readPtr, *writePtr, *writePtr8, *newPtr; + bool is16Bit; + int16_t *readPtr16, *writePtr16; + int32_t nEchoes, distance, readLen, writeLen, i, j; + int32_t smpOut, volChange, smpMul, echoRead, echoCycle, writeIdx; + int64_t tmp64; + sampleTyp *s; + + (void)ptr; + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + readLen = s->len; + readPtr = s->pek; + is16Bit = (s->typ & 16) ? true : false; + distance = echo_Distance * 16; + + // scale value for faster math and suitable rounding for PCM waveforms (DIV -> arithmetic bitshift right) + volChange = (echo_VolChange * 256) / 100; // 0..100 -> 0..256 + + if (echo_nEcho < 1) + { + editor.ui.sysReqShown = false; + return true; + } + + // calculate real number of echoes + j = 32768; + i = 0; + while (i < echo_nEcho && j > 0) + { + j = (j * volChange) >> 8; + i++; + } + nEchoes = i + 1; + + if (nEchoes < 1) + { + editor.ui.sysReqShown = false; + return true; + } + + // set write length (either original length or full echo length) + writeLen = readLen; + if (echo_AddMemory) + { + tmp64 = (int64_t)distance * (nEchoes - 1); + if (is16Bit) + tmp64 <<= 1; + + tmp64 += writeLen; + if (tmp64 > MAX_SAMPLE_LEN) + tmp64 = MAX_SAMPLE_LEN; + + writeLen = (int32_t)tmp64; + + if (is16Bit) + writeLen &= 0xFFFFFFFE; + } + + writePtr = (int8_t *)malloc(writeLen + LOOP_FIX_LEN); + if (writePtr == NULL) + { + outOfMemory = true; + setMouseBusy(false); + editor.ui.sysReqShown = false; + return false; + } + + pauseAudio(); + restoreSample(s); + + writeIdx = 0; + + if (is16Bit) + { + readPtr16 = (int16_t *)readPtr; + writePtr16 = (int16_t *)&writePtr[SMP_DAT_OFFSET]; + + writeLen >>= 1; + readLen >>= 1; + + while (writeIdx < writeLen) + { + smpOut = 0; + smpMul = 32768; + + echoRead = writeIdx; + echoCycle = nEchoes; + + while (!stopThread) + { + if (echoRead < readLen) + smpOut += (readPtr16[echoRead] * smpMul) >> 15; + + smpMul = (smpMul * volChange) >> 8; + + echoRead -= distance; + echoCycle--; + + if (echoRead <= 0 || echoCycle <= 0) + break; + } + CLAMP16(smpOut); + + writePtr16[writeIdx++] = (int16_t)smpOut; + } + + writeLen <<= 1; + } + else + { + writePtr8 = writePtr + SMP_DAT_OFFSET; + while (writeIdx < writeLen) + { + smpOut = 0; + smpMul = 32768; + + echoRead = writeIdx; + echoCycle = nEchoes; + + while (!stopThread) + { + if (echoRead < readLen) + smpOut += (readPtr[echoRead] * smpMul) >> (15-8); + + smpMul = (smpMul * volChange) >> 8; + + echoRead -= distance; + echoCycle--; + + if (echoRead <= 0 || echoCycle <= 0) + break; + } + CLAMP16(smpOut); + + writePtr8[writeIdx++] = (int8_t)(smpOut >> 8); + } + } + + free(s->origPek); + + if (stopThread) + { + writeLen = writeIdx; + + newPtr = (int8_t *)realloc(writePtr, writeIdx + LOOP_FIX_LEN); + if (newPtr != NULL) + { + s->origPek = newPtr; + s->pek = s->origPek + SMP_DAT_OFFSET; + } + else + { + if (writePtr != NULL) + free(writePtr); + + s->origPek = s->pek = NULL; + writeLen = 0; + } + + editor.updateCurSmp = true; + } + else + { + s->origPek = writePtr; + s->pek = s->origPek + SMP_DAT_OFFSET; + } + + if (is16Bit) + writeLen &= 0xFFFFFFFE; + + s->len = writeLen; + + fixSample(s); + resumeAudio(); + + setSongModifiedFlag(); + setMouseBusy(false); + + editor.ui.sysReqShown = false; + return true; +} + +static void pbCreateEcho(void) +{ + stopThread = false; + + mouseAnimOn(); + thread = SDL_CreateThread(createEchoThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +static void drawEchoBox(void) +{ + const int16_t x = 171; + const int16_t y = 220; + const int16_t w = 291; + const int16_t h = 66; + + // main fill + fillRect(x + 1, y + 1, w - 2, h - 2, PAL_BUTTONS); + + // outer border + vLine(x, y, h - 1, PAL_BUTTON1); + hLine(x + 1, y, w - 2, PAL_BUTTON1); + vLine(x + w - 1, y, h, PAL_BUTTON2); + hLine(x, y + h - 1, w - 1, PAL_BUTTON2); + + // inner border + vLine(x + 2, y + 2, h - 5, PAL_BUTTON2); + hLine(x + 3, y + 2, w - 6, PAL_BUTTON2); + vLine(x + w - 3, y + 2, h - 4, PAL_BUTTON1); + hLine(x + 2, y + h - 3, w - 4, PAL_BUTTON1); + + textOutShadow(177, 226, PAL_FORGRND, PAL_BUTTON2, "Number of echoes"); + textOutShadow(177, 239, PAL_FORGRND, PAL_BUTTON2, "Echo distance"); + textOutShadow(177, 253, PAL_FORGRND, PAL_BUTTON2, "Fade out"); + textOutShadow(192, 270, PAL_FORGRND, PAL_BUTTON2, "Add memory to sample"); + + assert(echo_nEcho <= 1024); + + charOut(315 + (0 * 7), 226, PAL_FORGRND, '0' + (echo_nEcho / 1000) % 10); + charOut(315 + (1 * 7), 226, PAL_FORGRND, '0' + (echo_nEcho / 100) % 10); + charOut(315 + (2 * 7), 226, PAL_FORGRND, '0' + (echo_nEcho / 10) % 10); + charOut(315 + (3 * 7), 226, PAL_FORGRND, '0' + (echo_nEcho % 10)); + + assert((echo_Distance * 16) <= 262144); + + hexOut(308, 240, PAL_FORGRND, echo_Distance * 16, 5); + + assert(echo_VolChange <= 100); + + charOut(312 + (0 * 7), 254, PAL_FORGRND, '0' + (echo_VolChange / 100) % 10); + charOut(312 + (1 * 7), 254, PAL_FORGRND, '0' + (echo_VolChange / 10) % 10); + charOut(312 + (2 * 7), 254, PAL_FORGRND, '0' + (echo_VolChange % 10)); + charOutShadow(313 + (3 * 7), 254, PAL_FORGRND, PAL_BUTTON2, '%'); +} + +static void setupEchoBoxWidgets(void) +{ + checkBox_t *c; + pushButton_t *p; + scrollBar_t *s; + + // "Add memory to sample" checkbox + c = &checkBoxes[0]; + memset(c, 0, sizeof (checkBox_t)); + c->x = 176; + c->y = 268; + c->clickAreaWidth = 146; + c->clickAreaHeight = 12; + c->callbackFunc = cbEchoAddMemory; + c->checked = echo_AddMemory ? CHECKBOX_CHECKED : CHECKBOX_UNCHECKED; + c->visible = true; + + // "Apply" pushbutton + p = &pushButtons[0]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = "Apply"; + p->x = 345; + p->y = 266; + p->w = 56; + p->h = 16; + p->callbackFuncOnUp = pbCreateEcho; + p->visible = true; + + // "Exit" pushbutton + p = &pushButtons[1]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = "Exit"; + p->x = 402; + p->y = 266; + p->w = 55; + p->h = 16; + p->callbackFuncOnUp = pbExit; + p->visible = true; + + // scrollbar buttons + + p = &pushButtons[2]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = ARROW_LEFT_STRING; + p->x = 345; + p->y = 224; + p->w = 23; + p->h = 13; + p->preDelay = 1; + p->delayFrames = 3; + p->callbackFuncOnDown = pbEchoNumDown; + p->visible = true; + + p = &pushButtons[3]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = ARROW_RIGHT_STRING; + p->x = 434; + p->y = 224; + p->w = 23; + p->h = 13; + p->preDelay = 1; + p->delayFrames = 3; + p->callbackFuncOnDown = pbEchoNumUp; + p->visible = true; + + p = &pushButtons[4]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = ARROW_LEFT_STRING; + p->x = 345; + p->y = 238; + p->w = 23; + p->h = 13; + p->preDelay = 1; + p->delayFrames = 3; + p->callbackFuncOnDown = pbEchoDistDown; + p->visible = true; + + p = &pushButtons[5]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = ARROW_RIGHT_STRING; + p->x = 434; + p->y = 238; + p->w = 23; + p->h = 13; + p->preDelay = 1; + p->delayFrames = 3; + p->callbackFuncOnDown = pbEchoDistUp; + p->visible = true; + + p = &pushButtons[6]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = ARROW_LEFT_STRING; + p->x = 345; + p->y = 252; + p->w = 23; + p->h = 13; + p->preDelay = 1; + p->delayFrames = 3; + p->callbackFuncOnDown = pbEchoFadeoutDown; + p->visible = true; + + p = &pushButtons[7]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = ARROW_RIGHT_STRING; + p->x = 434; + p->y = 252; + p->w = 23; + p->h = 13; + p->preDelay = 1; + p->delayFrames = 3; + p->callbackFuncOnDown = pbEchoFadeoutUp; + p->visible = true; + + // echo num scrollbar + s = &scrollBars[0]; + memset(s, 0, sizeof (scrollBar_t)); + s->x = 368; + s->y = 224; + s->w = 66; + s->h = 13; + s->callbackFunc = sbSetEchoNumPos; + s->visible = true; + setScrollBarPageLength(0, 1); + setScrollBarEnd(0, 1024); + + // echo distance scrollbar + s = &scrollBars[1]; + memset(s, 0, sizeof (scrollBar_t)); + s->x = 368; + s->y = 238; + s->w = 66; + s->h = 13; + s->callbackFunc = sbSetEchoDistPos; + s->visible = true; + setScrollBarPageLength(1, 1); + setScrollBarEnd(1, 16384); + + // echo fadeout scrollbar + s = &scrollBars[2]; + memset(s, 0, sizeof (scrollBar_t)); + s->x = 368; + s->y = 252; + s->w = 66; + s->h = 13; + s->callbackFunc = sbSetEchoFadeoutPos; + s->visible = true; + setScrollBarPageLength(2, 1); + setScrollBarEnd(2, 100); +} + +void handleEchoToolPanic(void) +{ + stopThread = true; +} + +void pbSampleEcho(void) +{ + uint16_t i; + + if (editor.curInstr == 0 || + instr[editor.curInstr] == NULL || + instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) + { + return; + } + + setupEchoBoxWidgets(); + windowOpen(); + + outOfMemory = false; + + exitFlag = false; + while (editor.ui.sysReqShown) + { + readInput(); + if (editor.ui.sysReqEnterPressed) + pbCreateEcho(); + + setSyncedReplayerVars(); + handleRedrawing(); + + drawEchoBox(); + setScrollBarPos(0, echo_nEcho, false); + setScrollBarPos(1, echo_Distance, false); + setScrollBarPos(2, echo_VolChange, false); + drawCheckBox(0); + for (i = 0; i < 8; i++) drawPushButton(i); + for (i = 0; i < 3; i++) drawScrollBar(i); + + flipFrame(); + } + + hideCheckBox(0); + for (i = 0; i < 8; i++) hidePushButton(i); + for (i = 0; i < 3; i++) hideScrollBar(i); + + windowClose(echo_AddMemory ? false : true); + + if (outOfMemory) + okBox(0, "System message", "Not enough memory!"); +} + +static int32_t SDLCALL mixThread(void *ptr) +{ + int8_t *destPtr, *mixPtr, *p; + uint8_t mixTyp, destTyp; + int16_t destIns, destSmp, mixIns, mixSmp; + int32_t mixMul1, mixMul2, smp32, x1, x2, i, destLen, mixLen, maxLen, dest8Size, max8Size, mix8Size; + + (void)ptr; + + destIns = editor.curInstr; + destSmp = editor.curSmp; + mixIns = editor.srcInstr; + mixSmp = editor.srcSmp; + + if (destIns == mixIns && destSmp == mixSmp) + { + setMouseBusy(false); + editor.ui.sysReqShown = false; + return true; + } + + if (instr[mixIns] == NULL) + { + mixLen = 0; + mixPtr = NULL; + mixTyp = 0; + } + else + { + mixLen = instr[mixIns]->samp[mixSmp].len; + mixPtr = instr[mixIns]->samp[mixSmp].pek; + mixTyp = instr[mixIns]->samp[mixSmp].typ; + + if (mixPtr == NULL) + { + mixLen = 0; + mixTyp = 0; + } + } + + if (instr[destIns] == NULL) + { + destLen = 0; + destPtr = NULL; + destTyp = 0; + } + else + { + destLen = instr[destIns]->samp[destSmp].len; + destPtr = instr[destIns]->samp[destSmp].pek; + destTyp = instr[destIns]->samp[destSmp].typ; + + if (destPtr == NULL) + { + destLen = 0; + destTyp = 0; + } + } + + bool src16Bits = (mixTyp >> 4) & 1; + bool dst16Bits = (destTyp >> 4) & 1; + + mix8Size = src16Bits ? (mixLen >> 1) : mixLen; + dest8Size = dst16Bits ? (destLen >> 1) : destLen; + max8Size = (dest8Size > mix8Size) ? dest8Size : mix8Size; + maxLen = dst16Bits ? (max8Size << 1) : max8Size; + + if (maxLen <= 0) + { + setMouseBusy(false); + editor.ui.sysReqShown = false; + return true; + } + + p = (int8_t *)calloc(maxLen + LOOP_FIX_LEN, sizeof (int8_t)); + if (p == NULL) + { + outOfMemory = true; + setMouseBusy(false); + editor.ui.sysReqShown = false; + return true; + } + + if (instr[destIns] == NULL && !allocateInstr(destIns)) + { + outOfMemory = true; + setMouseBusy(false); + editor.ui.sysReqShown = false; + return true; + } + + pauseAudio(); + + restoreSample(&instr[destIns]->samp[destSmp]); + + // restore source sample + if (instr[mixIns] != NULL) + restoreSample(&instr[mixIns]->samp[mixSmp]); + + // scale value for faster math and suitable rounding for PCM waveforms (DIV -> arithmetic bitshift right) + mixMul1 = (mix_Balance * 256) / 100; + mixMul2 = 256 - mixMul1; + + int8_t *destPek = p + SMP_DAT_OFFSET; + for (i = 0; i < max8Size; i++) + { + int32_t index16 = i << 1; + + x1 = (i >= mix8Size) ? 0 : getSampleValueNr(mixPtr, mixTyp, src16Bits ? index16 : i); + x2 = (i >= dest8Size) ? 0 : getSampleValueNr(destPtr, destTyp, dst16Bits ? index16 : i); + + if (!src16Bits) x1 <<= 8; + if (!dst16Bits) x2 <<= 8; + + smp32 = ((x1 * mixMul1) >> 8) + ((x2 * mixMul2) >> 8); + CLAMP16(smp32); + + if (!dst16Bits) + smp32 >>= 8; + + putSampleValueNr(destPek, destTyp, dst16Bits ? index16 : i, (int16_t)smp32); + } + + if (instr[destIns]->samp[destSmp].origPek != NULL) + free(instr[destIns]->samp[destSmp].origPek); + + instr[destIns]->samp[destSmp].origPek = p; + instr[destIns]->samp[destSmp].pek = instr[destIns]->samp[destSmp].origPek + SMP_DAT_OFFSET; + instr[destIns]->samp[destSmp].len = maxLen; + instr[destIns]->samp[destSmp].typ = destTyp; + + if (dst16Bits) + instr[destIns]->samp[destSmp].len &= 0xFFFFFFFE; + + fixSample(&instr[destIns]->samp[destSmp]); + + // fix source sample + if (instr[mixIns] != NULL) + fixSample(&instr[mixIns]->samp[mixSmp]); + + resumeAudio(); + + setSongModifiedFlag(); + setMouseBusy(false); + + editor.ui.sysReqShown = false; + return true; +} + +static void pbMix(void) +{ + mouseAnimOn(); + thread = SDL_CreateThread(mixThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +static void sbSetMixBalancePos(uint32_t pos) +{ + if (mix_Balance != (int8_t)pos) + mix_Balance = (int8_t)pos; +} + +static void pbMixBalanceDown(void) +{ + if (mix_Balance > 0) + mix_Balance--; +} + +static void pbMixBalanceUp(void) +{ + if (mix_Balance < 100) + mix_Balance++; +} + +static void drawMixSampleBox(void) +{ + const int16_t x = 192; + const int16_t y = 240; + const int16_t w = 248; + const int16_t h = 38; + + // main fill + fillRect(x + 1, y + 1, w - 2, h - 2, PAL_BUTTONS); + + // outer border + vLine(x, y, h - 1, PAL_BUTTON1); + hLine(x + 1, y, w - 2, PAL_BUTTON1); + vLine(x + w - 1, y, h, PAL_BUTTON2); + hLine(x, y + h - 1, w - 1, PAL_BUTTON2); + + // inner border + vLine(x + 2, y + 2, h - 5, PAL_BUTTON2); + hLine(x + 3, y + 2, w - 6, PAL_BUTTON2); + vLine(x + w - 3, y + 2, h - 4, PAL_BUTTON1); + hLine(x + 2, y + h - 3, w - 4, PAL_BUTTON1); + + textOutShadow(198, 246, PAL_FORGRND, PAL_BUTTON2, "Mixing balance"); + + assert((mix_Balance >= 0) && (mix_Balance <= 100)); + + charOut(299 + (0 * 7), 246, PAL_FORGRND, '0' + ((mix_Balance / 100) % 10)); + charOut(299 + (1 * 7), 246, PAL_FORGRND, '0' + ((mix_Balance / 10) % 10)); + charOut(299 + (2 * 7), 246, PAL_FORGRND, '0' + (mix_Balance % 10)); +} + +static void setupMixBoxWidgets(void) +{ + pushButton_t *p; + scrollBar_t *s; + + // "Apply" pushbutton + p = &pushButtons[0]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = "Apply"; + p->x = 197; + p->y = 258; + p->w = 73; + p->h = 16; + p->callbackFuncOnUp = pbMix; + p->visible = true; + + // "Exit" pushbutton + p = &pushButtons[1]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = "Exit"; + p->x = 361; + p->y = 258; + p->w = 73; + p->h = 16; + p->callbackFuncOnUp = pbExit; + p->visible = true; + + // scrollbar buttons + + p = &pushButtons[2]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = ARROW_LEFT_STRING; + p->x = 322; + p->y = 244; + p->w = 23; + p->h = 13; + p->preDelay = 1; + p->delayFrames = 3; + p->callbackFuncOnDown = pbMixBalanceDown; + p->visible = true; + + p = &pushButtons[3]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = ARROW_RIGHT_STRING; + p->x = 411; + p->y = 244; + p->w = 23; + p->h = 13; + p->preDelay = 1; + p->delayFrames = 3; + p->callbackFuncOnDown = pbMixBalanceUp; + p->visible = true; + + // mixing balance scrollbar + s = &scrollBars[0]; + memset(s, 0, sizeof (scrollBar_t)); + s->x = 345; + s->y = 244; + s->w = 66; + s->h = 13; + s->callbackFunc = sbSetMixBalancePos; + s->visible = true; + setScrollBarPageLength(0, 1); + setScrollBarEnd(0, 100); +} + +void pbSampleMix(void) +{ + uint16_t i; + + if (editor.curInstr == 0) + return; + + setupMixBoxWidgets(); + windowOpen(); + + outOfMemory = false; + + exitFlag = false; + while (editor.ui.sysReqShown) + { + readInput(); + if (editor.ui.sysReqEnterPressed) + pbMix(); + + setSyncedReplayerVars(); + handleRedrawing(); + + drawMixSampleBox(); + setScrollBarPos(0, mix_Balance, false); + for (i = 0; i < 4; i++) drawPushButton(i); + drawScrollBar(0); + + flipFrame(); + } + + for (i = 0; i < 4; i++) hidePushButton(i); + hideScrollBar(0); + + windowClose(false); + + if (outOfMemory) + okBox(0, "System message", "Not enough memory!"); +} + +static void sbSetStartVolPos(uint32_t pos) +{ + int16_t val = (int16_t)(pos - 500); + if (val != vol_StartVol) + { + if (ABS(val) < 10) val = 0; + else if (ABS(val - 100) < 10) val = 100; + else if (ABS(val - 200) < 10) val = 200; + else if (ABS(val - 300) < 10) val = 300; + else if (ABS(val - 400) < 10) val = 400; + else if (ABS(val + 100) < 10) val = -100; + else if (ABS(val + 200) < 10) val = -200; + else if (ABS(val + 300) < 10) val = -300; + else if (ABS(val + 400) < 10) val = -400; + + vol_StartVol = val; + } +} + +static void sbSetEndVolPos(uint32_t pos) +{ + int16_t val = (int16_t)(pos - 500); + if (val != vol_EndVol) + { + if (ABS(val) < 10) val = 0; + else if (ABS(val - 100) < 10) val = 100; + else if (ABS(val - 200) < 10) val = 200; + else if (ABS(val - 300) < 10) val = 300; + else if (ABS(val - 400) < 10) val = 400; + else if (ABS(val + 100) < 10) val = -100; + else if (ABS(val + 200) < 10) val = -200; + else if (ABS(val + 300) < 10) val = -300; + else if (ABS(val + 400) < 10) val = -400; + + vol_EndVol = val; + } +} + +static void pbSampStartVolDown(void) +{ + if (vol_StartVol > -500) + vol_StartVol--; +} + +static void pbSampStartVolUp(void) +{ + if (vol_StartVol < 500) + vol_StartVol++; +} + +static void pbSampEndVolDown(void) +{ + if (vol_EndVol > -500) + vol_EndVol--; +} + +static void pbSampEndVolUp(void) +{ + if (vol_EndVol < 500) + vol_EndVol++; +} + +static int32_t SDLCALL applyVolumeThread(void *ptr) +{ + int8_t *ptr8; + int16_t *ptr16; + int32_t vol1, vol2, tmp32, x1, x2, len, i; + sampleTyp *s; + + if (instr[editor.curInstr] == NULL) + goto applyVolumeExit; + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + (void)ptr; + + if (smpEd_Rx1 < smpEd_Rx2) + { + x1 = smpEd_Rx1; + x2 = smpEd_Rx2; + + if (x2 > s->len) + x2 = s->len; + + if (x1 < 0) + x1 = 0; + + if (x2 <= x1) + goto applyVolumeExit; + + if (s->typ & 16) + { + x1 &= 0xFFFFFFFE; + x2 &= 0xFFFFFFFE; + } + } + else + { + x1 = 0; + x2 = s->len; + } + + if (s->typ & 16) + { + x1 /= 2; + x2 /= 2; + } + + len = x2 - x1; + if (len <= 0) + goto applyVolumeExit; + + pauseAudio(); + restoreSample(s); + + // scale values for faster math and suitable rounding for PCM waveforms (DIV -> arithmetic bitshift right) + vol1 = (int32_t)round((vol_StartVol * 256) / 100.0); + vol2 = (int32_t)round((vol_EndVol * 256) / 100.0) - vol1; + + if (s->typ & 16) + { + ptr16 = (int16_t *)s->pek; + for (i = x1; i < x2; i++) + { + tmp32 = vol1 + (int32_t)(((int64_t)(i - x1) * vol2) / len); + tmp32 = (ptr16[i] * tmp32) >> 8; + CLAMP16(tmp32); + ptr16[i] = (int16_t)tmp32; + } + } + else + { + ptr8 = s->pek; + for (i = x1; i < x2; i++) + { + tmp32 = vol1 + (int32_t)(((int64_t)(i - x1) * vol2) / len); + tmp32 = (ptr8[i] * tmp32) >> 8; + CLAMP8(tmp32); + ptr8[i] = (int8_t)tmp32; + } + } + fixSample(s); + + resumeAudio(); + setSongModifiedFlag(); + +applyVolumeExit: + setMouseBusy(false); + editor.ui.sysReqShown = false; + return true; +} + +static void pbApplyVolume(void) +{ + if (vol_StartVol == 100 && vol_EndVol == 100) + { + editor.ui.sysReqShown = false; + return; // no volume change to be done + } + + mouseAnimOn(); + thread = SDL_CreateThread(applyVolumeThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +static int32_t SDLCALL getMaxScaleThread(void *ptr) +{ + int8_t *ptr8; + int16_t *ptr16; + int32_t vol, absSmp, x1, x2, len, i, maxAmp; + sampleTyp *s; + + (void)ptr; + + if (instr[editor.curInstr] == NULL) + goto getScaleExit; + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + if (smpEd_Rx1 < smpEd_Rx2) + { + x1 = smpEd_Rx1; + x2 = smpEd_Rx2; + + if (x2 > s->len) + x2 = s->len; + + if (x1 < 0) + x1 = 0; + + if (x2 <= x1) + goto getScaleExit; + + if (s->typ & 16) + { + x1 &= 0xFFFFFFFE; + x2 &= 0xFFFFFFFE; + } + } + else + { + // no sample marking, operate on the whole sample + x1 = 0; + x2 = s->len; + } + + len = x2 - x1; + if (s->typ & 16) + len /= 2; + + if (len <= 0) + { + vol_StartVol = 0; + vol_EndVol = 0; + goto getScaleExit; + } + + restoreSample(s); + + maxAmp = 0; + if (s->typ & 16) + { + ptr16 = (int16_t *)&s->pek[x1]; + for (i = 0; i < len; i++) + { + absSmp = ABS(ptr16[i]); + if (absSmp > maxAmp) + maxAmp = absSmp; + } + } + else + { + ptr8 = &s->pek[x1]; + for (i = 0; i < len; i++) + { + absSmp = ABS(ptr8[i]); + if (absSmp > maxAmp) + maxAmp = absSmp; + } + + maxAmp <<= 8; + } + + fixSample(s); + + if (maxAmp <= 0) + { + vol_StartVol = 0; + vol_EndVol = 0; + } + else + { + vol = (100 * 32768) / maxAmp; + if (vol > 500) + vol = 500; + + vol_StartVol = (int16_t)vol; + vol_EndVol = (int16_t)vol; + } + +getScaleExit: + setMouseBusy(false); + return true; +} + +static void pbGetMaxScale(void) +{ + mouseAnimOn(); + thread = SDL_CreateThread(getMaxScaleThread, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +static void drawSampleVolumeBox(void) +{ + char sign; + const int16_t x = 166; + const int16_t y = 230; + const int16_t w = 301; + const int16_t h = 52; + uint16_t val; + + // main fill + fillRect(x + 1, y + 1, w - 2, h - 2, PAL_BUTTONS); + + // outer border + vLine(x, y, h - 1, PAL_BUTTON1); + hLine(x + 1, y, w - 2, PAL_BUTTON1); + vLine(x + w - 1, y, h, PAL_BUTTON2); + hLine(x, y + h - 1, w - 1, PAL_BUTTON2); + + // inner border + vLine(x + 2, y + 2, h - 5, PAL_BUTTON2); + hLine(x + 3, y + 2, w - 6, PAL_BUTTON2); + vLine(x + w - 3, y + 2, h - 4, PAL_BUTTON1); + hLine(x + 2, y + h - 3, w - 4, PAL_BUTTON1); + + textOutShadow(172, 236, PAL_FORGRND, PAL_BUTTON2, "Start volume"); + textOutShadow(172, 249, PAL_FORGRND, PAL_BUTTON2, "End volume"); + charOutShadow(282, 236, PAL_FORGRND, PAL_BUTTON2, '%'); + charOutShadow(282, 250, PAL_FORGRND, PAL_BUTTON2, '%'); + + if (vol_StartVol == 0) sign = ' '; + else if (vol_StartVol < 0) sign = '-'; + else sign = '+'; + + val = ABS(vol_StartVol); + if (val > 99) + { + charOut(253, 236, PAL_FORGRND, sign); + charOut(260, 236, PAL_FORGRND, '0' + ((val / 100) % 10)); + charOut(267, 236, PAL_FORGRND, '0' + ((val / 10) % 10)); + charOut(274, 236, PAL_FORGRND, '0' + (val % 10)); + } + else if (val > 9) + { + charOut(260, 236, PAL_FORGRND, sign); + charOut(267, 236, PAL_FORGRND, '0' + ((val / 10) % 10)); + charOut(274, 236, PAL_FORGRND, '0' + (val % 10)); + } + else + { + charOut(267, 236, PAL_FORGRND, sign); + charOut(274, 236, PAL_FORGRND, '0' + (val % 10)); + } + + if (vol_EndVol == 0) sign = ' '; + else if (vol_EndVol < 0) sign = '-'; + else sign = '+'; + + val = ABS(vol_EndVol); + if (val > 99) + { + charOut(253, 250, PAL_FORGRND, sign); + charOut(260, 250, PAL_FORGRND, '0' + ((val / 100) % 10)); + charOut(267, 250, PAL_FORGRND, '0' + ((val / 10) % 10)); + charOut(274, 250, PAL_FORGRND, '0' + (val % 10)); + } + else if (val > 9) + { + charOut(260, 250, PAL_FORGRND, sign); + charOut(267, 250, PAL_FORGRND, '0' + ((val / 10) % 10)); + charOut(274, 250, PAL_FORGRND, '0' + (val % 10)); + } + else + { + charOut(267, 250, PAL_FORGRND, sign); + charOut(274, 250, PAL_FORGRND, '0' + (val % 10)); + } +} + +static void setupVolumeBoxWidgets(void) +{ + pushButton_t *p; + scrollBar_t *s; + + // "Apply" pushbutton + p = &pushButtons[0]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = "Apply"; + p->x = 171; + p->y = 262; + p->w = 73; + p->h = 16; + p->callbackFuncOnUp = pbApplyVolume; + p->visible = true; + + // "Get maximum scale" pushbutton + p = &pushButtons[1]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = "Get maximum scale"; + p->x = 245; + p->y = 262; + p->w = 143; + p->h = 16; + p->callbackFuncOnUp = pbGetMaxScale; + p->visible = true; + + // "Exit" pushbutton + p = &pushButtons[2]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = "Exit"; + p->x = 389; + p->y = 262; + p->w = 73; + p->h = 16; + p->callbackFuncOnUp = pbExit; + p->visible = true; + + // scrollbar buttons + + p = &pushButtons[3]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = ARROW_LEFT_STRING; + p->x = 292; + p->y = 234; + p->w = 23; + p->h = 13; + p->preDelay = 1; + p->delayFrames = 3; + p->callbackFuncOnDown = pbSampStartVolDown; + p->visible = true; + + p = &pushButtons[4]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = ARROW_RIGHT_STRING; + p->x = 439; + p->y = 234; + p->w = 23; + p->h = 13; + p->preDelay = 1; + p->delayFrames = 3; + p->callbackFuncOnDown = pbSampStartVolUp; + p->visible = true; + + p = &pushButtons[5]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = ARROW_LEFT_STRING; + p->x = 292; + p->y = 248; + p->w = 23; + p->h = 13; + p->preDelay = 1; + p->delayFrames = 3; + p->callbackFuncOnDown = pbSampEndVolDown; + p->visible = true; + + p = &pushButtons[6]; + memset(p, 0, sizeof (pushButton_t)); + p->caption = ARROW_RIGHT_STRING; + p->x = 439; + p->y = 248; + p->w = 23; + p->h = 13; + p->preDelay = 1; + p->delayFrames = 3; + p->callbackFuncOnDown = pbSampEndVolUp; + p->visible = true; + + // volume start scrollbar + s = &scrollBars[0]; + memset(s, 0, sizeof (scrollBar_t)); + s->x = 315; + s->y = 234; + s->w = 124; + s->h = 13; + s->callbackFunc = sbSetStartVolPos; + s->visible = true; + setScrollBarPageLength(0, 1); + setScrollBarEnd(0, 500 * 2); + setScrollBarPos(0, 500, false); + + // volume end scrollbar + s = &scrollBars[1]; + memset(s, 0, sizeof (scrollBar_t)); + s->x = 315; + s->y = 248; + s->w = 124; + s->h = 13; + s->callbackFunc = sbSetEndVolPos; + s->visible = true; + setScrollBarPageLength(1, 1); + setScrollBarEnd(1, 500 * 2); + setScrollBarPos(1, 500, false); +} + +void pbSampleVolume(void) +{ + uint16_t i; + + if (editor.curInstr == 0 || + instr[editor.curInstr] == NULL || + instr[editor.curInstr]->samp[editor.curSmp].pek == NULL) + { + return; + } + + setupVolumeBoxWidgets(); + windowOpen(); + + exitFlag = false; + while (editor.ui.sysReqShown) + { + readInput(); + if (editor.ui.sysReqEnterPressed) + { + pbApplyVolume(); + keyb.ignoreCurrKeyUp = true; // don't handle key up event for this key release + } + + setSyncedReplayerVars(); + handleRedrawing(); + + // this is needed for the "Get maximum scale" button + if (editor.ui.setMouseIdle) mouseAnimOff(); + + drawSampleVolumeBox(); + setScrollBarPos(0, 500 + vol_StartVol, false); + setScrollBarPos(1, 500 + vol_EndVol, false); + for (i = 0; i < 7; i++) drawPushButton(i); + for (i = 0; i < 2; i++) drawScrollBar(i); + + flipFrame(); + } + + for (i = 0; i < 7; i++) hidePushButton(i); + for (i = 0; i < 2; i++) hideScrollBar(i); + + windowClose(true); +} diff --git a/src/ft2_sample_ed_features.h b/src/ft2_sample_ed_features.h index e4eab2d..f1ff3bd 100644 --- a/src/ft2_sample_ed_features.h +++ b/src/ft2_sample_ed_features.h @@ -1,9 +1,9 @@ -#pragma once - -#include - -void pbSampleResample(void); -void pbSampleEcho(void); -void pbSampleMix(void); -void pbSampleVolume(void); -void handleEchoToolPanic(void); +#pragma once + +#include + +void pbSampleResample(void); +void pbSampleEcho(void); +void pbSampleMix(void); +void pbSampleVolume(void); +void handleEchoToolPanic(void); diff --git a/src/ft2_sample_loader.c b/src/ft2_sample_loader.c index a57dbb5..37afa63 100644 --- a/src/ft2_sample_loader.c +++ b/src/ft2_sample_loader.c @@ -1,2236 +1,2267 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include -#include -#include "ft2_header.h" -#include "ft2_gui.h" -#include "ft2_unicode.h" -#include "ft2_audio.h" -#include "ft2_sample_ed.h" -#include "ft2_mouse.h" -#include "ft2_diskop.h" - -/* All of these routines were written from scratch and were not present -** in original FT2. */ - -enum -{ - STEREO_SAMPLE_READ_LEFT = 1, - STEREO_SAMPLE_READ_RIGHT = 2, - STEREO_SAMPLE_CONVERT = 3, - - WAV_FORMAT_PCM = 0x0001, - WAV_FORMAT_IEEE_FLOAT = 0x0003 -}; - -static volatile bool sampleIsLoading; -static bool loadAsInstrFlag; -static uint8_t sampleSlot; -static int16_t stereoSampleLoadMode; -static SDL_Thread *thread; - -static void normalize32bitSigned(int32_t *sampleData, uint32_t sampleLength); -static void normalize16bitFloatSigned(float *fSampleData, uint32_t sampleLength); -static void normalize64bitDoubleSigned(double *dSampleData, uint32_t sampleLength); - -void freeTmpSample(sampleTyp *s) -{ - if (s->pek != NULL) - { - free(s->pek); - s->pek = NULL; - } - - memset(s, 0, sizeof (sampleTyp)); -} - -void removeSampleIsLoadingFlag(void) -{ - sampleIsLoading = false; -} - -static int32_t getAIFFRate(uint8_t *in) -{ - int32_t exp; - uint32_t lo, hi; - double dOut; - - exp = (int32_t)(((in[0] & 0x7F) << 8) | in[1]); - lo = (in[2] << 24) | (in[3] << 16) | (in[4] << 8) | in[5]; - hi = (in[6] << 24) | (in[7] << 16) | (in[8] << 8) | in[9]; - - if (exp == 0 && lo == 0 && hi == 0) - return 0; - - exp -= 16383; - - dOut = ldexp(lo, -31 + exp) + ldexp(hi, -63 + exp); - return (int32_t)round(dOut); -} - -static bool aiffIsStereo(FILE *f) // only ran on files that are confirmed to be AIFFs -{ - uint16_t numChannels; - int32_t bytesRead, endOfChunk, filesize; - uint32_t chunkID, chunkSize, commPtr, commLen; - uint32_t oldPos; - - oldPos = ftell(f); - - fseek(f, 0, SEEK_END); - filesize = ftell(f); - - if (filesize < 12) - { - fseek(f, oldPos, SEEK_SET); - return false; - } - - fseek(f, 12, SEEK_SET); - - commPtr = 0; commLen = 0; - - bytesRead = 0; - while (!feof(f) && bytesRead < filesize-12) - { - fread(&chunkID, 4, 1, f); chunkID = SWAP32(chunkID); if (feof(f)) break; - fread(&chunkSize, 4, 1, f); chunkSize = SWAP32(chunkSize); if (feof(f)) break; - - endOfChunk = (ftell(f) + chunkSize) + (chunkSize & 1); - switch (chunkID) - { - case 0x434F4D4D: // "COMM" - { - commPtr = ftell(f); - commLen = chunkSize; - } - break; - - default: break; - } - - bytesRead += (chunkSize + (chunkSize & 1)); - fseek(f, endOfChunk, SEEK_SET); - } - - if (commPtr == 0 || commLen < 2) - { - fseek(f, oldPos, SEEK_SET); - return false; - } - - fseek(f, commPtr, SEEK_SET); - fread(&numChannels, 2, 1, f); numChannels = SWAP16(numChannels); - fseek(f, oldPos, SEEK_SET); - - return (numChannels == 2); -} - -static bool wavIsStereo(FILE *f) // only ran on files that are confirmed to be WAVs -{ - uint16_t numChannels; - int32_t bytesRead, endOfChunk, filesize; - uint32_t chunkID, chunkSize, fmtPtr, fmtLen; - uint32_t oldPos; - - oldPos = ftell(f); - - fseek(f, 0, SEEK_END); - filesize = ftell(f); - - if (filesize < 12) - { - fseek(f, oldPos, SEEK_SET); - return false; - } - - fseek(f, 12, SEEK_SET); - - fmtPtr = 0; - fmtLen = 0; - - bytesRead = 0; - while (!feof(f) && bytesRead < filesize-12) - { - fread(&chunkID, 4, 1, f); if (feof(f)) break; - fread(&chunkSize, 4, 1, f); if (feof(f)) break; - - endOfChunk = (ftell(f) + chunkSize) + (chunkSize & 1); - switch (chunkID) - { - case 0x20746D66: // "fmt " - { - fmtPtr = ftell(f); - fmtLen = chunkSize; - } - break; - - default: break; - } - - bytesRead += (chunkSize + (chunkSize & 1)); - fseek(f, endOfChunk, SEEK_SET); - } - - if (fmtPtr == 0 || fmtLen < 4) - { - fseek(f, oldPos, SEEK_SET); - return false; - } - - fseek(f, fmtPtr + 2, SEEK_SET); - fread(&numChannels, 2, 1, f); - fseek(f, oldPos, SEEK_SET); - - return (numChannels == 2); -} - -static int32_t SDLCALL loadAIFFSample(void *ptr) -{ - char *tmpFilename, *tmpPtr, compType[4]; - int8_t *audioDataS8, *newPtr; - uint8_t sampleRateBytes[10], *audioDataU8; - int16_t *audioDataS16, *audioDataS16_2, smp16; - uint16_t numChannels, bitDepth; - int32_t j, filesize, smp32, *audioDataS32; - uint32_t i, filenameLen, sampleRate, sampleLength, blockName, blockSize; - uint32_t commPtr, commLen, ssndPtr, ssndLen, offset, len32; - int64_t smp64; - FILE *f; - UNICHAR *filename; - sampleTyp tmpSmp, *s; - - (void)ptr; - - // this is important for the "goto" on load error - f = NULL; - memset(&tmpSmp, 0, sizeof (tmpSmp)); - - if (editor.tmpFilenameU == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto aiffLoadError; - } - - filename = editor.tmpFilenameU; - - f = UNICHAR_FOPEN(filename, "rb"); - if (f == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto aiffLoadError; - } - - fseek(f, 0, SEEK_END); - filesize = ftell(f); - if (filesize < 12) - { - okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); - goto aiffLoadError; - } - - // handle chunks - - commPtr = 0; commLen = 0; - ssndPtr = 0; ssndLen = 0; - - fseek(f, 12, SEEK_SET); - while (!feof(f) && ftell(f) < filesize-12) - { - fread(&blockName, 4, 1, f); if (feof(f)) break; - fread(&blockSize, 4, 1, f); if (feof(f)) break; - - blockName = SWAP32(blockName); - blockSize = SWAP32(blockSize); - - switch (blockName) - { - case 0x434F4D4D: // "COMM" - { - commPtr = ftell(f); - commLen = blockSize; - } - break; - - case 0x53534E44: // "SSND" - { - ssndPtr = ftell(f); - ssndLen = blockSize; - } - break; - - default: break; - } - - fseek(f, blockSize + (blockSize & 1), SEEK_CUR); - } - - if (commPtr == 0 || commLen < 18 || ssndPtr == 0) - { - okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); - goto aiffLoadError; - } - - // kludge for some really strange AIFFs - if (ssndLen == 0) - ssndLen = filesize - ssndPtr; - - if (ssndPtr+ssndLen > (uint32_t)filesize) - ssndLen = filesize - ssndPtr; - - fseek(f, commPtr, SEEK_SET); - fread(&numChannels, 2, 1, f); numChannels = SWAP16(numChannels); - fseek(f, 4, SEEK_CUR); - fread(&bitDepth, 2, 1, f); bitDepth = SWAP16(bitDepth); - fread(sampleRateBytes, 1, 10, f); - - if (numChannels != 1 && numChannels != 2) - { - okBoxThreadSafe(0, "System message", "Error loading sample: Unsupported amounts of channels!"); - goto aiffLoadError; - } - - if (bitDepth != 8 && bitDepth != 16 && bitDepth != 24 && bitDepth != 32) - { - okBoxThreadSafe(0, "System message", "Error loading sample: Unsupported bitdepth!"); - goto aiffLoadError; - } - - // read compression type (if present) - if (commLen > 18) - { - fread(&compType, 1, 4, f); - if (memcmp(compType, "NONE", 4)) - { - okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); - goto aiffLoadError; - } - } - - sampleRate = getAIFFRate(sampleRateBytes); - - // sample data chunk - - fseek(f, ssndPtr, SEEK_SET); - - fread(&offset, 4, 1, f); - if (offset > 0) - { - okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); - goto aiffLoadError; - } - - fseek(f, 4, SEEK_CUR); - - ssndLen -= 8; // don't include offset and blockSize datas - - sampleLength = ssndLen; - if (sampleLength > MAX_SAMPLE_LEN) - sampleLength = MAX_SAMPLE_LEN; - - freeTmpSample(&tmpSmp); - - // read sample data - - if (bitDepth == 8) - { - // 8-BIT SIGNED PCM - - tmpSmp.pek = (int8_t *)malloc(sampleLength); - if (tmpSmp.pek == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto aiffLoadError; - } - - if (fread(tmpSmp.pek, sampleLength, 1, f) != 1) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto aiffLoadError; - } - - audioDataS8 = (int8_t *)tmpSmp.pek; - - // stereo conversion - if (numChannels == 2) - { - sampleLength /= 2; - - switch (stereoSampleLoadMode) - { - case STEREO_SAMPLE_READ_LEFT: - { - for (i = 1; i < sampleLength; i++) - audioDataS8[i] = audioDataS8[(i * 2) + 0]; - } - break; - - case STEREO_SAMPLE_READ_RIGHT: - { - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - audioDataS8[i] = audioDataS8[(i * 2) + 1]; - - audioDataS8[i] = 0; - } - break; - - default: - case STEREO_SAMPLE_CONVERT: - { - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - { - smp16 = (audioDataS8[(i * 2) + 0] + audioDataS8[(i * 2) + 1]) >> 1; - audioDataS8[i] = (int8_t)smp16; - } - - audioDataS8[i] = 0; - } - break; - } - } - } - else if (bitDepth == 16) - { - // 16-BIT SIGNED PCM - - sampleLength /= 2; - - tmpSmp.pek = (int8_t *)malloc(sampleLength * 2); - if (tmpSmp.pek == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto aiffLoadError; - } - - if (fread(tmpSmp.pek, sampleLength, 2, f) != 2) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto aiffLoadError; - } - - // fix endianness - audioDataS16 = (int16_t *)tmpSmp.pek; - for (i = 0; i < sampleLength; i++) - audioDataS16[i] = SWAP16(audioDataS16[i]); - - // stereo conversion - if (numChannels == 2) - { - sampleLength /= 2; - - switch (stereoSampleLoadMode) - { - case STEREO_SAMPLE_READ_LEFT: - { - for (i = 1; i < sampleLength; i++) - audioDataS16[i] = audioDataS16[(i * 2) + 0]; - } - break; - - case STEREO_SAMPLE_READ_RIGHT: - { - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - audioDataS16[i] = audioDataS16[(i * 2) + 1]; - - audioDataS16[i] = 0; - } - break; - - default: - case STEREO_SAMPLE_CONVERT: - { - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - { - smp32 = (audioDataS16[(i * 2) + 0] + audioDataS16[(i * 2) + 1]) >> 1; - audioDataS16[i] = (int16_t)smp32; - } - - audioDataS16[i] = 0; - } - break; - } - } - - sampleLength *= 2; - tmpSmp.typ |= 16; - } - else if (bitDepth == 24) - { - // 24-BIT SIGNED PCM - - sampleLength /= 3; - - tmpSmp.pek = (int8_t *)malloc((sampleLength * 4) * 2); - if (tmpSmp.pek == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto aiffLoadError; - } - - if (fread(&tmpSmp.pek[sampleLength], sampleLength, 3, f) != 3) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto aiffLoadError; - } - - audioDataS32 = (int32_t *)tmpSmp.pek; - - // convert to 32-bit - audioDataU8 = (uint8_t *)tmpSmp.pek + sampleLength; - for (i = 0; i < sampleLength; i++) - { - audioDataS32[i] = (audioDataU8[0] << 24) | (audioDataU8[1] << 16) | (audioDataU8[2] << 8); - audioDataU8 += 3; - } - - // stereo conversion - if (numChannels == 2) - { - sampleLength /= 2; - - switch (stereoSampleLoadMode) - { - case STEREO_SAMPLE_READ_LEFT: - { - for (i = 1; i < sampleLength; i++) - audioDataS32[i] = audioDataS32[(i * 2) + 0]; - } - break; - - case STEREO_SAMPLE_READ_RIGHT: - { - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - audioDataS32[i] = audioDataS32[(i * 2) + 1]; - - audioDataS32[i] = 0; - } - break; - - default: - case STEREO_SAMPLE_CONVERT: - { - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - { - smp64 = audioDataS32[(i * 2) + 0]; - smp64 += audioDataS32[(i * 2) + 1]; - smp64 >>= 1; - - audioDataS32[i] = (int32_t)smp64; - } - - audioDataS32[i] = 0; - } - break; - } - } - - normalize32bitSigned(audioDataS32, sampleLength); - - // downscale to 16-bit (ultra fast method!) - - audioDataS16 = (int16_t *)tmpSmp.pek; - audioDataS16_2 = (int16_t *)tmpSmp.pek + 1; - - for (i = 0; i < sampleLength; i++) - { - audioDataS16[i] = audioDataS16_2[i]; - audioDataS16_2++; - } - - sampleLength *= 2; - tmpSmp.typ |= 16; - } - else if (bitDepth == 32) - { - // 32-BIT SIGNED PCM - - sampleLength /= 4; - - tmpSmp.pek = (int8_t *)malloc(sampleLength * 4); - if (tmpSmp.pek == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto aiffLoadError; - } - - if (fread(tmpSmp.pek, sampleLength, 4, f) != 4) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto aiffLoadError; - } - - // fix endianness - audioDataS32 = (int32_t *)tmpSmp.pek; - for (i = 0; i < sampleLength; i++) - audioDataS32[i] = SWAP32(audioDataS32[i]); - - // stereo conversion - if (numChannels == 2) - { - sampleLength /= 2; - - switch (stereoSampleLoadMode) - { - case STEREO_SAMPLE_READ_LEFT: - { - for (i = 1; i < sampleLength; i++) - audioDataS32[i] = audioDataS32[(i * 2) + 0]; - } - break; - - case STEREO_SAMPLE_READ_RIGHT: - { - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - audioDataS32[i] = audioDataS32[(i * 2) + 1]; - - audioDataS32[i] = 0; - } - break; - - default: - case STEREO_SAMPLE_CONVERT: - { - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - { - smp64 = audioDataS32[(i * 2) + 0]; - smp64 += audioDataS32[(i * 2) + 1]; - smp64 >>= 1; - - audioDataS32[i] = (int32_t)smp64; - } - - audioDataS32[i] = 0; - } - break; - } - } - - normalize32bitSigned(audioDataS32, sampleLength); - - // downscale to 16-bit (ultra fast method!) - - audioDataS16 = (int16_t *)tmpSmp.pek; - audioDataS16_2 = (int16_t *)tmpSmp.pek + 1; - - for (i = 0; i < sampleLength; i++) - { - audioDataS16[i] = audioDataS16_2[i]; - audioDataS16_2++; - } - - sampleLength *= 2; - tmpSmp.typ |= 16; - } - - // adjust memory needed - newPtr = (int8_t *)realloc(tmpSmp.pek, sampleLength + LOOP_FIX_LEN); - if (newPtr != NULL) - tmpSmp.pek = newPtr; - - // set sample attributes - tmpSmp.len = sampleLength; - tmpSmp.vol = 64; - tmpSmp.pan = 128; - - tuneSample(&tmpSmp, sampleRate); - - // set sample name - tmpFilename = unicharToCp437(filename, true); - if (tmpFilename != NULL) - { - j = (int32_t)strlen(tmpFilename); - while (j--) - { - if (tmpFilename[j] == DIR_DELIMITER) - break; - } - - tmpPtr = tmpFilename; - if (j > 0) - tmpPtr += j + 1; - - sanitizeFilename(tmpPtr); - - filenameLen = (uint32_t)strlen(tmpPtr); - for (i = 0; i < 22; i++) - { - if (i < filenameLen) - tmpSmp.name[i] = tmpPtr[i]; - else - tmpSmp.name[i] = '\0'; - } - - free(tmpFilename); - } - - fclose(f); - - lockMixerCallback(); - if (loadAsInstrFlag) // if loaded in instrument mode - { - freeInstr(editor.curInstr); - memset(song.instrName[editor.curInstr], 0, 23); - } - - if (instr[editor.curInstr] == NULL) - allocateInstr(editor.curInstr); - - if (instr[editor.curInstr] != NULL) - { - s = &instr[editor.curInstr]->samp[sampleSlot]; - - freeSample(editor.curInstr, sampleSlot); - memcpy(s, &tmpSmp, sizeof (sampleTyp)); - fixSample(s); - } - else - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto aiffLoadError; - } - unlockMixerCallback(); - - fixSampleName(editor.curInstr); - setSongModifiedFlag(); - stereoSampleLoadMode = -1; - - // also sets mouse busy to false when done - editor.updateCurSmp = true; - - return true; - -aiffLoadError: - if (f != NULL) fclose(f); - if (tmpSmp.pek != NULL) free(tmpSmp.pek); - - stereoSampleLoadMode = -1; - sampleIsLoading = false; - - return false; -} - -static int32_t SDLCALL loadIFFSample(void *ptr) -{ - char *tmpFilename, *tmpPtr, hdr[4 + 1]; - bool is16Bit; - uint8_t i; - uint16_t sampleRate; - int32_t j, filesize; - uint32_t filenameLen, sampleVol, sampleLength, sampleLoopStart, sampleLoopLength, blockName, blockSize; - uint32_t vhdrPtr, vhdrLen, bodyPtr, bodyLen, namePtr, nameLen; - FILE *f; - UNICHAR *filename; - sampleTyp tmpSmp, *s; - - (void)ptr; - - // this is important for the "goto" on load error - f = NULL; - memset(&tmpSmp, 0, sizeof (tmpSmp)); - - - if (editor.tmpFilenameU == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto iffLoadError; - } - - filename = editor.tmpFilenameU; - - f = UNICHAR_FOPEN(filename, "rb"); - if (f == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto iffLoadError; - } - - fseek(f, 0, SEEK_END); - filesize = ftell(f); - if (filesize < 12) - { - okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); - goto iffLoadError; - } - - fseek(f, 8, SEEK_SET); - fread(hdr, 1, 4, f); - hdr[4] = '\0'; - is16Bit = !strncmp(hdr, "16SV", 4); - - sampleLength = 0; - sampleVol = 64; - sampleLoopStart = 0; - sampleLoopLength = 0; - sampleRate = 16726; - - vhdrPtr = 0; vhdrLen = 0; - bodyPtr = 0; bodyLen = 0; - namePtr = 0; nameLen = 0; - - fseek(f, 12, SEEK_SET); - while (!feof(f) && ftell(f) < filesize-12) - { - fread(&blockName, 4, 1, f); if (feof(f)) break; - fread(&blockSize, 4, 1, f); if (feof(f)) break; - - blockName = SWAP32(blockName); - blockSize = SWAP32(blockSize); - - switch (blockName) - { - case 0x56484452: // VHDR - { - vhdrPtr = ftell(f); - vhdrLen = blockSize; - } - break; - - case 0x4E414D45: // NAME - { - namePtr = ftell(f); - nameLen = blockSize; - } - break; - - case 0x424F4459: // BODY - { - bodyPtr = ftell(f); - bodyLen = blockSize; - } - break; - - default: break; - } - - fseek(f, blockSize + (blockSize & 1), SEEK_CUR); - } - - if (vhdrPtr == 0 || vhdrLen < 20 || bodyPtr == 0) - { - okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); - goto iffLoadError; - } - - // kludge for some really strange IFFs - if (bodyLen == 0) - bodyLen = filesize - bodyPtr; - - if (bodyPtr+bodyLen > (uint32_t)filesize) - bodyLen = filesize - bodyPtr; - - fseek(f, vhdrPtr, SEEK_SET); - fread(&sampleLoopStart, 4, 1, f); sampleLoopStart = SWAP32(sampleLoopStart); - fread(&sampleLoopLength, 4, 1, f); sampleLoopLength = SWAP32(sampleLoopLength); - fseek(f, 4, SEEK_CUR); - fread(&sampleRate, 2, 1, f); sampleRate = SWAP16(sampleRate); - fseek(f, 1, SEEK_CUR); - - if (fgetc(f) != 0) // sample type - { - okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported!"); - goto iffLoadError; - } - - fread(&sampleVol, 4, 1, f); sampleVol = SWAP32(sampleVol); - if (sampleVol > 65535) - sampleVol = 65535; - - sampleVol = (uint32_t)round(sampleVol / 1024.0); - if (sampleVol > 64) - sampleVol = 64; - - sampleLength = bodyLen; - if (sampleLength > MAX_SAMPLE_LEN) - sampleLength = MAX_SAMPLE_LEN; - - if (sampleLoopStart >= MAX_SAMPLE_LEN || sampleLoopLength > MAX_SAMPLE_LEN) - { - sampleLoopStart = 0; - sampleLoopLength = 0; - } - - if (sampleLoopStart+sampleLoopLength > sampleLength) - { - sampleLoopStart = 0; - sampleLoopLength = 0; - } - - if (sampleLoopStart > sampleLength-2) - { - sampleLoopStart = 0; - sampleLoopLength = 0; - } - - tmpSmp.pan = 128; - tmpSmp.vol = 64; - - tmpSmp.pek = (int8_t *)malloc(sampleLength + LOOP_FIX_LEN); - if (tmpSmp.pek == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto iffLoadError; - } - - fseek(f, bodyPtr, SEEK_SET); - if (fread(tmpSmp.pek, sampleLength, 1, f) != 1) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto iffLoadError; - } - - // set sample attributes - tmpSmp.len = sampleLength; - - if (sampleLoopLength > 2) - { - tmpSmp.repS = sampleLoopStart; - tmpSmp.repL = sampleLoopLength; - tmpSmp.typ |= 1; - } - - if (is16Bit) - { - tmpSmp.len &= 0xFFFFFFFE; - tmpSmp.repS &= 0xFFFFFFFE; - tmpSmp.repL &= 0xFFFFFFFE; - tmpSmp.typ |= 16; - } - - tmpSmp.vol = (uint8_t)sampleVol; - tmpSmp.pan = 128; - - tuneSample(&tmpSmp, sampleRate); - - // set name - if (namePtr != 0 && nameLen > 0) - { - fseek(f, namePtr, SEEK_SET); - if (nameLen > 21) - { - tmpSmp.name[21] = '\0'; - fread(tmpSmp.name, 1, 21, f); - } - else - { - memset(tmpSmp.name, 0, 22); - fread(tmpSmp.name, 1, nameLen, f); - } - } - else - { - // set sample name from filename if we didn't load name from .wav - tmpFilename = unicharToCp437(filename, true); - if (tmpFilename != NULL) - { - j = (int32_t)strlen(tmpFilename); - while (j--) - { - if (tmpFilename[j] == DIR_DELIMITER) - break; - } - - tmpPtr = tmpFilename; - if (j > 0) - tmpPtr += j + 1; - - sanitizeFilename(tmpPtr); - - filenameLen = (uint32_t)strlen(tmpPtr); - for (i = 0; i < 22; i++) - { - if (i < filenameLen) - tmpSmp.name[i] = tmpPtr[i]; - else - tmpSmp.name[i] = '\0'; - } - - free(tmpFilename); - } - } - - fclose(f); - - lockMixerCallback(); - if (loadAsInstrFlag) // if loaded in instrument mode - { - freeInstr(editor.curInstr); - memset(song.instrName[editor.curInstr], 0, 23); - } - - if (instr[editor.curInstr] == NULL) - allocateInstr(editor.curInstr); - - if (instr[editor.curInstr] != NULL) - { - s = &instr[editor.curInstr]->samp[sampleSlot]; - - freeSample(editor.curInstr, sampleSlot); - memcpy(s, &tmpSmp, sizeof (sampleTyp)); - fixSample(s); - } - else - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto iffLoadError; - } - unlockMixerCallback(); - - fixSampleName(editor.curInstr); - setSongModifiedFlag(); - stereoSampleLoadMode = -1; - - // also sets mouse busy to false when done - editor.updateCurSmp = true; - - return true; - -iffLoadError: - if (f != NULL) fclose(f); - if (tmpSmp.pek != NULL) free(tmpSmp.pek); - - stereoSampleLoadMode = -1; - sampleIsLoading = false; - - return false; -} - -static int32_t SDLCALL loadRawSample(void *ptr) -{ - char *tmpFilename, *tmpPtr; - int32_t j; - uint32_t filenameLen, i, filesize; - FILE *f; - UNICHAR *filename; - sampleTyp tmpSmp, *s; - - (void)ptr; - - // this is important for the "goto" on load error - f = NULL; - memset(&tmpSmp, 0, sizeof (tmpSmp)); - - if (editor.tmpFilenameU == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto rawLoadError; - } - - filename = editor.tmpFilenameU; - - f = UNICHAR_FOPEN(filename, "rb"); - if (f == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto rawLoadError; - } - - fseek(f, 0, SEEK_END); - filesize = ftell(f); - rewind(f); - - if (filesize > MAX_SAMPLE_LEN) - filesize = MAX_SAMPLE_LEN; - - if (filesize == 0) - { - okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); - goto rawLoadError; - } - - tmpSmp.pan = 128; - tmpSmp.vol = 64; - - tmpSmp.pek = (int8_t *)malloc(filesize + LOOP_FIX_LEN); - if (tmpSmp.pek == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto rawLoadError; - } - - if (fread(tmpSmp.pek, filesize, 1, f) != 1) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto rawLoadError; - } - - fclose(f); - - tmpFilename = unicharToCp437(filename, true); - if (tmpFilename != NULL) - { - j = (int32_t)strlen(tmpFilename); - while (j--) - { - if (tmpFilename[j] == DIR_DELIMITER) - break; - } - - tmpPtr = tmpFilename; - if (j > 0) - tmpPtr += j + 1; - - sanitizeFilename(tmpPtr); - - filenameLen = (uint32_t)strlen(tmpPtr); - for (i = 0; i < 22; i++) - { - if (i < filenameLen) - tmpSmp.name[i] = tmpPtr[i]; - else - tmpSmp.name[i] = '\0'; - } - - free(tmpFilename); - } - - tmpSmp.len = filesize; - tmpSmp.vol = 64; - tmpSmp.pan = 128; - - lockMixerCallback(); - if (loadAsInstrFlag) // if loaded in instrument mode - { - freeInstr(editor.curInstr); - memset(song.instrName[editor.curInstr], 0, 23); - } - - if (instr[editor.curInstr] == NULL) - allocateInstr(editor.curInstr); - - if (instr[editor.curInstr] != NULL) - { - s = &instr[editor.curInstr]->samp[sampleSlot]; - - freeSample(editor.curInstr, sampleSlot); - memcpy(s, &tmpSmp, sizeof (sampleTyp)); - fixSample(s); - } - else - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto rawLoadError; - } - unlockMixerCallback(); - - fixSampleName(editor.curInstr); - setSongModifiedFlag(); - stereoSampleLoadMode = -1; - - // also sets mouse busy to false when done - editor.updateCurSmp = true; - - return true; - -rawLoadError: - if (f != NULL) fclose(f); - if (tmpSmp.pek != NULL) free(tmpSmp.pek); - - stereoSampleLoadMode = -1; - sampleIsLoading = false; - - return false; -} - -static int32_t SDLCALL loadWAVSample(void *ptr) -{ - char chr, *tmpFilename, *tmpPtr; - int8_t *newPtr; - uint8_t *audioDataU8; - int16_t *audioDataS16, *audioDataS16_2, *ptr16; - uint16_t audioFormat, numChannels, bitsPerSample, tempPan, tempVol; - int32_t j, *audioDataS32, smp32; - uint32_t filenameLen, i, sampleRate, chunkID, chunkSize, sampleLength, filesize; - uint32_t numLoops, loopType, loopStart, loopEnd, bytesRead, endOfChunk, dataPtr, dataLen, fmtPtr; - uint32_t fmtLen, inamPtr, inamLen, smplPtr, smplLen, xtraPtr, xtraLen, xtraFlags, len32; - int64_t smp64; - float *fAudioDataFloat; - double *dAudioDataDouble; - FILE *f; - sampleTyp tmpSmp, *s; - UNICHAR *filename; - - (void)ptr; - - // this is important for the "goto" on load error - f = NULL; - memset(&tmpSmp, 0, sizeof (tmpSmp)); - - // zero out chunk pointers and lengths - fmtPtr = 0; fmtLen = 0; - dataPtr = 0; dataLen = 0; - inamPtr = 0; inamLen = 0; - xtraPtr = 0; xtraLen = 0; - smplPtr = 0; smplLen = 0; - - if (editor.tmpFilenameU == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto wavLoadError; - } - - filename = editor.tmpFilenameU; - - f = UNICHAR_FOPEN(filename, "rb"); - if (f == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto wavLoadError; - } - - // get and check filesize - fseek(f, 0, SEEK_END); - filesize = ftell(f); - if (filesize < 12) - { - okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); - goto wavLoadError; - } - - // look for wanted chunks and set up pointers + lengths - fseek(f, 12, SEEK_SET); - - bytesRead = 0; - while (!feof(f) && bytesRead < filesize-12) - { - fread(&chunkID, 4, 1, f); if (feof(f)) break; - fread(&chunkSize, 4, 1, f); if (feof(f)) break; - - endOfChunk = (ftell(f) + chunkSize) + (chunkSize & 1); - switch (chunkID) - { - case 0x20746D66: // "fmt " - { - fmtPtr = ftell(f); - fmtLen = chunkSize; - } - break; - - case 0x61746164: // "data" - { - dataPtr = ftell(f); - dataLen = chunkSize; - } - break; - - case 0x5453494C: // "LIST" - { - if (chunkSize >= 4) - { - fread(&chunkID, 4, 1, f); - if (chunkID == 0x4F464E49) // "INFO" - { - bytesRead = 0; - while (!feof(f) && bytesRead < chunkSize) - { - fread(&chunkID, 4, 1, f); - fread(&chunkSize, 4, 1, f); - - switch (chunkID) - { - case 0x4D414E49: // "INAM" - { - inamPtr = ftell(f); - inamLen = chunkSize; - } - break; - - default: break; - } - - bytesRead += (chunkSize + (chunkSize & 1)); - } - } - } - } - break; - - case 0x61727478: // "xtra" - { - xtraPtr = ftell(f); - xtraLen = chunkSize; - } - break; - - case 0x6C706D73: // "smpl" - { - smplPtr = ftell(f); - smplLen = chunkSize; - } - break; - - default: break; - } - - bytesRead += (chunkSize + (chunkSize & 1)); - fseek(f, endOfChunk, SEEK_SET); - } - - // we need at least "fmt " and "data" - check if we found them sanely - if ((fmtPtr == 0 || fmtLen < 16) || (dataPtr == 0 || dataLen == 0)) - { - okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); - goto wavLoadError; - } - - // ---- READ "fmt " CHUNK ---- - fseek(f, fmtPtr, SEEK_SET); - fread(&audioFormat, 2, 1, f); - fread(&numChannels, 2, 1, f); - fread(&sampleRate, 4, 1, f); - fseek(f, 6, SEEK_CUR); // unneeded - fread(&bitsPerSample, 2, 1, f); - sampleLength = dataLen; - // --------------------------- - - // test if the WAV is compatible with our loader - - if (sampleRate == 0 || sampleLength == 0 || sampleLength >= filesize) - { - okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); - goto wavLoadError; - } - - if (audioFormat != WAV_FORMAT_PCM && audioFormat != WAV_FORMAT_IEEE_FLOAT) - { - okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported!"); - goto wavLoadError; - } - - if (numChannels == 0 || numChannels > 2) - { - okBoxThreadSafe(0, "System message", "Error loading sample: Unsupported number of channels!"); - goto wavLoadError; - } - - if (audioFormat == WAV_FORMAT_IEEE_FLOAT && bitsPerSample != 32 && bitsPerSample != 64) - { - okBoxThreadSafe(0, "System message", "Error loading sample: Unsupported bitdepth!"); - goto wavLoadError; - } - - if (bitsPerSample != 8 && bitsPerSample != 16 && bitsPerSample != 24 && bitsPerSample != 32 && bitsPerSample != 64) - { - okBoxThreadSafe(0, "System message", "Error loading sample: Unsupported bitdepth!"); - goto wavLoadError; - } - - // ---- READ SAMPLE DATA ---- - fseek(f, dataPtr, SEEK_SET); - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - tmpSmp.pan = 128; - tmpSmp.vol = 64; - - if (sampleLength > MAX_SAMPLE_LEN) - sampleLength = MAX_SAMPLE_LEN; - - if (bitsPerSample == 8) // 8-BIT INTEGER SAMPLE - { - tmpSmp.pek = (int8_t *)malloc(sampleLength); - if (tmpSmp.pek == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto wavLoadError; - } - - if (fread(tmpSmp.pek, sampleLength, 1, f) != 1) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto wavLoadError; - } - - audioDataU8 = (uint8_t *)tmpSmp.pek; - - // stereo conversion - if (numChannels == 2) - { - sampleLength /= 2; - switch (stereoSampleLoadMode) - { - case STEREO_SAMPLE_READ_LEFT: - { - // remove right channel data - for (i = 1; i < sampleLength; i++) - audioDataU8[i] = audioDataU8[(i * 2) + 0]; - } - break; - - case STEREO_SAMPLE_READ_RIGHT: - { - // remove left channel data - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - audioDataU8[i] = audioDataU8[(i * 2) + 1]; - - audioDataU8[i] = 128; - } - break; - - default: - case STEREO_SAMPLE_CONVERT: - { - // mix stereo to mono - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - audioDataU8[i] = (audioDataU8[(i * 2) + 0] + audioDataU8[(i * 2) + 1]) >> 1; - - audioDataU8[i] = 128; - } - break; - } - } - - // convert from unsigned to signed - for (i = 0; i < sampleLength; i++) - tmpSmp.pek[i] ^= 0x80; - - tmpSmp.typ &= ~16; // 8-bit - } - else if (bitsPerSample == 16) // 16-BIT INTEGER SAMPLE - { - sampleLength /= 2; - - tmpSmp.pek = (int8_t *)malloc(sampleLength * 2); - if (tmpSmp.pek == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto wavLoadError; - } - - if (fread(tmpSmp.pek, sampleLength, 2, f) != 2) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto wavLoadError; - } - - audioDataS16 = (int16_t *)tmpSmp.pek; - - // stereo conversion - if (numChannels == 2) - { - sampleLength /= 2; - - switch (stereoSampleLoadMode) - { - case STEREO_SAMPLE_READ_LEFT: - { - // remove right channel data - for (i = 1; i < sampleLength; i++) - audioDataS16[i] = audioDataS16[(i * 2) + 0]; - } - break; - - case STEREO_SAMPLE_READ_RIGHT: - { - // remove left channel data - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - audioDataS16[i] = audioDataS16[(i * 2) + 1]; - - audioDataS16[i] = 0; - } - break; - - default: - case STEREO_SAMPLE_CONVERT: - { - // mix stereo to mono - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - { - smp32 = audioDataS16[(i * 2) + 0] + audioDataS16[(i * 2) + 1]; - audioDataS16[i] = (int16_t)(smp32 >> 1); - } - - audioDataS16[i] = 0; - } - break; - } - } - - sampleLength *= 2; - tmpSmp.typ |= 16; // 16-bit - } - else if (bitsPerSample == 24) // 24-BIT INTEGER SAMPLE - { - sampleLength /= 3; - - tmpSmp.pek = (int8_t *)malloc((sampleLength * 4) * 2); - if (tmpSmp.pek == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto wavLoadError; - } - - if (fread(&tmpSmp.pek[sampleLength], sampleLength, 3, f) != 3) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto wavLoadError; - } - - audioDataS32 = (int32_t *)tmpSmp.pek; - - // convert to 32-bit - audioDataU8 = (uint8_t *)tmpSmp.pek + sampleLength; - for (i = 0; i < sampleLength; i++) - { - audioDataS32[i] = (audioDataU8[2] << 24) | (audioDataU8[1] << 16) | (audioDataU8[0] << 8); - audioDataU8 += 3; - } - - // stereo conversion - if (numChannels == 2) - { - sampleLength /= 2; - switch (stereoSampleLoadMode) - { - case STEREO_SAMPLE_READ_LEFT: - { - // remove right channel data - for (i = 1; i < sampleLength; i++) - audioDataS32[i] = audioDataS32[(i * 2) + 0]; - } - break; - - case STEREO_SAMPLE_READ_RIGHT: - { - // remove left channel data - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - audioDataS32[i] = audioDataS32[(i * 2) + 1]; - - audioDataS32[i] = 0; - } - break; - - default: - case STEREO_SAMPLE_CONVERT: - { - // mix stereo to mono - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - { - smp64 = audioDataS32[(i * 2) + 0]; - smp64 += audioDataS32[(i * 2) + 1]; - smp64 >>= 1; - - audioDataS32[i] = (int32_t)smp64; - } - - audioDataS32[i] = 0; - } - break; - } - } - - normalize32bitSigned(audioDataS32, sampleLength); - - // downscale to 16-bit (ultra fast method!) - - audioDataS16 = (int16_t *)tmpSmp.pek; - audioDataS16_2 = (int16_t *)tmpSmp.pek + 1; - - for (i = 0; i < sampleLength; i++) - { - audioDataS16[i] = audioDataS16_2[i]; - audioDataS16_2++; - } - - sampleLength *= 2; - tmpSmp.typ |= 16; // 16-bit - } - else if (audioFormat == WAV_FORMAT_PCM && bitsPerSample == 32) // 32-BIT INTEGER SAMPLE - { - sampleLength /= 4; - - tmpSmp.pek = (int8_t *)malloc((sampleLength * 4) + LOOP_FIX_LEN); - if (tmpSmp.pek == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto wavLoadError; - } - - if (fread(tmpSmp.pek, sampleLength, 4, f) != 4) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto wavLoadError; - } - - audioDataS32 = (int32_t *)tmpSmp.pek; - - // stereo conversion - if (numChannels == 2) - { - sampleLength /= 2; - switch (stereoSampleLoadMode) - { - case STEREO_SAMPLE_READ_LEFT: - { - // remove right channel data - for (i = 1; i < sampleLength; i++) - audioDataS32[i] = audioDataS32[(i * 2) + 0]; - } - break; - - case STEREO_SAMPLE_READ_RIGHT: - { - // remove left channel data - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - audioDataS32[i] = audioDataS32[(i * 2) + 1]; - - audioDataS32[i] = 0; - } - break; - - default: - case STEREO_SAMPLE_CONVERT: - { - // mix stereo to mono - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - { - smp64 = audioDataS32[(i * 2) + 0]; - smp64 += audioDataS32[(i * 2) + 1]; - smp64 >>= 1; - - audioDataS32[i] = (int32_t)smp64; - } - - audioDataS32[i] = 0; - } - break; - } - } - - normalize32bitSigned(audioDataS32, sampleLength); - - // downscale to 16-bit (ultra fast method!) - - audioDataS16 = (int16_t *)tmpSmp.pek; - audioDataS16_2 = (int16_t *)tmpSmp.pek + 1; - - for (i = 0; i < sampleLength; i++) - { - audioDataS16[i] = audioDataS16_2[i]; - audioDataS16_2++; - } - - sampleLength *= 2; - tmpSmp.typ |= 16; // 16-bit - } - else if (audioFormat == WAV_FORMAT_IEEE_FLOAT && bitsPerSample == 32) // 32-BIT FLOATING POINT SAMPLE - { - sampleLength /= 4; - - tmpSmp.pek = (int8_t *)malloc((sampleLength * 4) + LOOP_FIX_LEN); - if (tmpSmp.pek == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto wavLoadError; - } - - if (fread(tmpSmp.pek, sampleLength, 4, f) != 4) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto wavLoadError; - } - - fAudioDataFloat = (float *)tmpSmp.pek; - - // stereo conversion - if (numChannels == 2) - { - sampleLength /= 2; - switch (stereoSampleLoadMode) - { - case STEREO_SAMPLE_READ_LEFT: - { - // remove right channel data - for (i = 1; i < sampleLength; i++) - fAudioDataFloat[i] = fAudioDataFloat[(i * 2) + 0]; - } - break; - - case STEREO_SAMPLE_READ_RIGHT: - { - // remove left channel data - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - fAudioDataFloat[i] = fAudioDataFloat[(i * 2) + 1]; - - fAudioDataFloat[i] = 0.0f; - } - break; - - default: - case STEREO_SAMPLE_CONVERT: - { - // mix stereo to mono - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - fAudioDataFloat[i] = (fAudioDataFloat[(i * 2) + 0] + fAudioDataFloat[(i * 2) + 1]) * 0.5f; - - fAudioDataFloat[i] = 0.0f; - } - break; - } - } - - normalize16bitFloatSigned(fAudioDataFloat, sampleLength); - - ptr16 = (int16_t *)tmpSmp.pek; - for (i = 0; i < sampleLength; i++) - ptr16[i] = (int16_t)fAudioDataFloat[i]; // should use SIMD if available - - sampleLength *= 2; - tmpSmp.typ |= 16; // 16-bit - } - else if (audioFormat == WAV_FORMAT_IEEE_FLOAT && bitsPerSample == 64) // 64-BIT FLOATING POINT SAMPLE - { - sampleLength /= 8; - - tmpSmp.pek = (int8_t *)malloc((sampleLength * 8) + LOOP_FIX_LEN); - if (tmpSmp.pek == NULL) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto wavLoadError; - } - - if (fread(tmpSmp.pek, sampleLength, 8, f) != 8) - { - okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); - goto wavLoadError; - } - - dAudioDataDouble = (double *)tmpSmp.pek; - - // stereo conversion - if (numChannels == 2) - { - sampleLength /= 2; - switch (stereoSampleLoadMode) - { - case STEREO_SAMPLE_READ_LEFT: - { - // remove right channel data - for (i = 1; i < sampleLength; i++) - dAudioDataDouble[i] = dAudioDataDouble[(i * 2) + 0]; - } - break; - - case STEREO_SAMPLE_READ_RIGHT: - { - // remove left channel data - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - dAudioDataDouble[i] = dAudioDataDouble[(i * 2) + 1]; - - dAudioDataDouble[i] = 0.0; - } - break; - - default: - case STEREO_SAMPLE_CONVERT: - { - // mix stereo to mono - len32 = sampleLength - 1; - for (i = 0; i < len32; i++) - dAudioDataDouble[i] = (dAudioDataDouble[(i * 2) + 0] + dAudioDataDouble[(i * 2) + 1]) * 0.5; - - dAudioDataDouble[i] = 0.0; - } - break; - } - } - - normalize64bitDoubleSigned(dAudioDataDouble, sampleLength); - - ptr16 = (int16_t *)tmpSmp.pek; - for (i = 0; i < sampleLength; i++) - ptr16[i] = (int16_t)dAudioDataDouble[i]; // should use SIMD if available - - sampleLength *= 2; - tmpSmp.typ |= 16; // 16-bit - } - - // adjust memory needed - newPtr = (int8_t *)realloc(tmpSmp.pek, sampleLength + LOOP_FIX_LEN); - if (newPtr != NULL) - tmpSmp.pek = newPtr; - - tuneSample(&tmpSmp, sampleRate); - - tmpSmp.vol = 64; - tmpSmp.pan = 128; - tmpSmp.len = sampleLength; - - // ---- READ "smpl" chunk ---- - if (smplPtr != 0 && smplLen > 52) - { - fseek(f, smplPtr + 28, SEEK_SET); // seek to first wanted byte - - fread(&numLoops, 4, 1, f); - if (numLoops == 1) - { - fseek(f, 4 + 4, SEEK_CUR); // skip "samplerData" and "identifier" - - fread(&loopType, 4, 1, f); - fread(&loopStart, 4, 1, f); - fread(&loopEnd, 4, 1, f); - - loopEnd++; - - if (tmpSmp.typ & 16) - { - loopStart *= 2; - loopEnd *= 2; - } - - if (loopEnd <= sampleLength) - { - tmpSmp.repS = loopStart; - tmpSmp.repL = loopEnd - loopStart; - tmpSmp.typ |= ((loopType == 0) ? 1 : 2); - } - } - } - // --------------------------- - - // ---- READ "xtra" chunk ---- - if (xtraPtr != 0 && xtraLen >= 8) - { - fseek(f, xtraPtr, SEEK_SET); - - fread(&xtraFlags, 4, 1, f); // flags - - // panning (0..256) - if (xtraFlags & 0x20) // set panning flag - { - fread(&tempPan, 2, 1, f); - if (tempPan > 255) - tempPan = 255; - - tmpSmp.pan = (uint8_t)tempPan; - } - else - { - // don't read panning, skip it - fseek(f, 2, SEEK_CUR); - } - - // volume (0..256) - fread(&tempVol, 2, 1, f); - if (tempVol > 256) - tempVol = 256; - - tmpSmp.vol = (uint8_t)(tempVol / 4); // 0..256 -> 0..64 - } - // --------------------------- - - // ---- READ "INAM" chunk ---- - if (inamPtr != 0 && inamLen > 0) - { - fseek(f, inamPtr, SEEK_SET); - - memset(tmpSmp.name, 0, sizeof (tmpSmp.name)); - for (i = 0; i < 22; i++) - { - if (i < inamLen) - { - chr = (char)fgetc(f); - if (chr == '\0') - break; - - tmpSmp.name[i] = chr; - } - } - } - else - { - // set sample name from filename if we didn't load name from .wav - tmpFilename = unicharToCp437(filename, true); - if (tmpFilename != NULL) - { - j = (int32_t)strlen(tmpFilename); - while (j--) - { - if (tmpFilename[j] == DIR_DELIMITER) - break; - } - - tmpPtr = tmpFilename; - if (j > 0) - tmpPtr += j + 1; - - sanitizeFilename(tmpPtr); - - filenameLen = (uint32_t)strlen(tmpPtr); - for (i = 0; i < 22; i++) - { - if (i < filenameLen) - tmpSmp.name[i] = tmpPtr[i]; - else - tmpSmp.name[i] = '\0'; - } - - free(tmpFilename); - } - } - - fclose(f); - - lockMixerCallback(); - if (loadAsInstrFlag) // if loaded in instrument mode - { - freeInstr(editor.curInstr); - memset(song.instrName[editor.curInstr], 0, 23); - } - - if (instr[editor.curInstr] == NULL) - allocateInstr(editor.curInstr); - - if (instr[editor.curInstr] != NULL) - { - s = &instr[editor.curInstr]->samp[sampleSlot]; - - freeSample(editor.curInstr, sampleSlot); - memcpy(s, &tmpSmp, sizeof (sampleTyp)); - fixSample(s); - } - else - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - goto wavLoadError; - } - unlockMixerCallback(); - - fixSampleName(editor.curInstr); - setSongModifiedFlag(); - stereoSampleLoadMode = -1; - - // also sets mouse busy to false when done - editor.updateCurSmp = true; - - return true; - -wavLoadError: - if (f != NULL) fclose(f); - if (tmpSmp.pek != NULL) free(tmpSmp.pek); - - stereoSampleLoadMode = -1; - sampleIsLoading = false; - - return false; -} - -bool loadSample(UNICHAR *filenameU, uint8_t smpNr, bool instrFlag) -{ - char tmpBuffer[16+1]; - FILE *f; - - if (sampleIsLoading) - return false; - - stereoSampleLoadMode = 0; - - sampleSlot = smpNr; - loadAsInstrFlag = instrFlag; - - if (editor.curInstr == 0) - { - okBox(0, "System message", "The zero-instrument cannot hold intrument data."); - return false; - } - - f = UNICHAR_FOPEN(filenameU, "rb"); - if (f == NULL) - { - okBox(0, "System message", "General I/O error during loading! Is the file in use?"); - return false; - } - - memset(tmpBuffer, 0, sizeof (tmpBuffer)); - if (fread(tmpBuffer, sizeof (tmpBuffer) - 1, 1, f) == 1) - { - tmpBuffer[sizeof (tmpBuffer) - 1] = '\0'; - - // detect what sample format this is... - - // WAV - if (!strncmp("RIFF", tmpBuffer, 4) && !strncmp("WAVE", tmpBuffer + 8, 4)) - { - // let the user pick what to do with stereo samples... - if (wavIsStereo(f)) - stereoSampleLoadMode = okBox(5, "System request", "This is a stereo sample..."); - - sampleIsLoading = true; - - fclose(f); - UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); - - mouseAnimOn(); - thread = SDL_CreateThread(loadWAVSample, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - sampleIsLoading = false; - return false; - } - - SDL_DetachThread(thread); - return true; - } - - // AIFF or IFF - if (!strncmp("FORM", tmpBuffer, 4)) - { - if (!strncmp("AIFC", tmpBuffer + 8, 4)) - { - // AIFC (not supported) - - fclose(f); - okBox(0, "System message", "Error loading sample: This AIFF type (AIFC) is not supported!"); - return true; - } - else if (!strncmp("AIFF", tmpBuffer + 8, 4)) - { - // AIFF - - // let the user pick what to do with stereo samples... - if (aiffIsStereo(f)) - stereoSampleLoadMode = okBox(5, "System request", "This is a stereo sample..."); - - sampleIsLoading = true; - - fclose(f); - UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); - - mouseAnimOn(); - thread = SDL_CreateThread(loadAIFFSample, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - sampleIsLoading = false; - return false; - } - - SDL_DetachThread(thread); - return true; - } - else if (!strncmp("8SVX", tmpBuffer + 8, 4) || !strncmp("16SV", tmpBuffer + 8, 4)) - { - // IFF - - sampleIsLoading = true; - - fclose(f); - UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); - - mouseAnimOn(); - thread = SDL_CreateThread(loadIFFSample, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - sampleIsLoading = false; - return false; - } - - SDL_DetachThread(thread); - return true; - } - } - } - - // load as RAW sample - - sampleIsLoading = true; - - fclose(f); - UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); - - mouseAnimOn(); - thread = SDL_CreateThread(loadRawSample, NULL, NULL); - if (thread == NULL) - { - okBox(0, "System message", "Couldn't create thread!"); - sampleIsLoading = false; - return false; - } - - SDL_DetachThread(thread); - return true; -} - -static void normalize32bitSigned(int32_t *sampleData, uint32_t sampleLength) -{ - uint32_t i, sample, sampleVolPeak; - double dGain; - - sampleVolPeak = 0; - for (i = 0; i < sampleLength; i++) - { - sample = ABS(sampleData[i]); - if (sampleVolPeak < sample) - sampleVolPeak = sample; - } - - if (sampleVolPeak <= 0) - return; - - dGain = (double)INT32_MAX / sampleVolPeak; - for (i = 0; i < sampleLength; i++) - sampleData[i] = (int32_t)(sampleData[i] * dGain); -} - -static void normalize16bitFloatSigned(float *fSampleData, uint32_t sampleLength) -{ - uint32_t i; - float fSample, fSampleVolPeak, fGain; - - fSampleVolPeak = 0.0f; - for (i = 0; i < sampleLength; i++) - { - fSample = fabsf(fSampleData[i]); - if (fSampleVolPeak < fSample) - fSampleVolPeak = fSample; - } - - if (fSampleVolPeak <= 0.0f) - return; - - fGain = (float)INT16_MAX / fSampleVolPeak; - for (i = 0; i < sampleLength; i++) - fSampleData[i] *= fGain; -} - -static void normalize64bitDoubleSigned(double *dSampleData, uint32_t sampleLength) -{ - uint32_t i; - double dSample, dSampleVolPeak, dGain; - - dSampleVolPeak = 0.0; - for (i = 0; i < sampleLength; i++) - { - dSample = fabs(dSampleData[i]); - if (dSampleVolPeak < dSample) - dSampleVolPeak = dSample; - } - - if (dSampleVolPeak <= 0.0) - return; - - dGain = (double)INT16_MAX / dSampleVolPeak; - for (i = 0; i < sampleLength; i++) - dSampleData[i] *= dGain; -} - -bool fileIsInstrument(char *fullPath) -{ - char *filename; - int32_t i, len, extOffset; - - // this assumes that fullPath is not empty - - len = (int32_t)strlen(fullPath); - - // get filename from path - i = len; - while (i--) - { - if (fullPath[i] == DIR_DELIMITER) - break; - } - - filename = fullPath; - if (i > 0) - filename += i + 1; - // -------------------------- - - len = (int32_t)strlen(filename); - if (len < 4) - return true; // can't be an instrument - - if (!_strnicmp("xi.", filename, 3) || (len >= 4 && !_strnicmp("pat.", filename, 4))) - return true; - - extOffset = getExtOffset(filename, len); - if (extOffset != -1) - { - if ((extOffset <= len-4) && !_strnicmp(".pat", &filename[extOffset], 4)) return true; - if ((extOffset <= len-3) && !_strnicmp(".xi", &filename[extOffset], 3)) return true; - } - - return false; -} - -bool fileIsSample(char *fullPath) -{ - char *filename; - int32_t i, len, extOffset; - - // this assumes that fullPath is not empty - - len = (int32_t)strlen(fullPath); - - // get filename from path - i = len; - while (i--) - { - if (fullPath[i] == DIR_DELIMITER) - break; - } - - filename = fullPath; - if (i > 0) - filename += i + 1; - // -------------------------- - - len = (int32_t)strlen(filename); - if (len < 4) - return true; // can't be a module - - if (!_strnicmp("xm.", filename, 3) || !_strnicmp("ft.", filename, 3) || - !_strnicmp("mod.", filename, 4) || !_strnicmp("nst.", filename, 4) || - !_strnicmp("s3m.", filename, 4) || !_strnicmp("stm.", filename, 4) || - !_strnicmp("fst.", filename, 4) || !_strnicmp("it.", filename, 3)) - { - return false; // definitely a module - } - - extOffset = getExtOffset(filename, len); - if (extOffset != -1) - { - if (extOffset <= len-4) - { - filename = &filename[extOffset]; - if (!_strnicmp(".mod", filename, 4) || !_strnicmp(".nst", filename, 4) || - !_strnicmp(".s3m", filename, 4) || !_strnicmp(".stm", filename, 4) || - !_strnicmp(".fst", filename, 4)) - { - return false; // definitely a module - } - } - else if (extOffset <= len-3) - { - filename = &filename[extOffset]; - if (!_strnicmp(".xm", filename, 3) || !_strnicmp(".ft", filename, 3) || !_strnicmp(".it", filename, 3)) - return false; // definitely a module - } - } - - return true; // let's assume it's a sample -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include +#include +#include "ft2_header.h" +#include "ft2_gui.h" +#include "ft2_unicode.h" +#include "ft2_audio.h" +#include "ft2_sample_ed.h" +#include "ft2_mouse.h" +#include "ft2_diskop.h" + +/* All of these routines were written from scratch and were not present +** in original FT2. +*/ + +enum +{ + STEREO_SAMPLE_READ_LEFT = 1, + STEREO_SAMPLE_READ_RIGHT = 2, + STEREO_SAMPLE_CONVERT = 3, + + WAV_FORMAT_PCM = 0x0001, + WAV_FORMAT_IEEE_FLOAT = 0x0003 +}; + +static volatile bool sampleIsLoading; +static bool loadAsInstrFlag; +static uint8_t sampleSlot; +static int16_t stereoSampleLoadMode; +static SDL_Thread *thread; + +static void normalize32bitSigned(int32_t *sampleData, uint32_t sampleLength); +static void normalize16bitFloatSigned(float *fSampleData, uint32_t sampleLength); +static void normalize64bitDoubleSigned(double *dSampleData, uint32_t sampleLength); + +void freeTmpSample(sampleTyp *s) +{ + if (s->origPek != NULL) + { + free(s->origPek); + s->origPek = NULL; + s->pek = NULL; + } + + memset(s, 0, sizeof (sampleTyp)); +} + +void removeSampleIsLoadingFlag(void) +{ + sampleIsLoading = false; +} + +static int32_t getAIFFRate(uint8_t *in) +{ + int32_t exp; + uint32_t lo, hi; + double dOut; + + exp = (int32_t)(((in[0] & 0x7F) << 8) | in[1]); + lo = (in[2] << 24) | (in[3] << 16) | (in[4] << 8) | in[5]; + hi = (in[6] << 24) | (in[7] << 16) | (in[8] << 8) | in[9]; + + if (exp == 0 && lo == 0 && hi == 0) + return 0; + + exp -= 16383; + + dOut = ldexp(lo, -31 + exp) + ldexp(hi, -63 + exp); + return (int32_t)(dOut + 0.5); +} + +static bool aiffIsStereo(FILE *f) // only ran on files that are confirmed to be AIFFs +{ + uint16_t numChannels; + int32_t bytesRead, endOfChunk, filesize; + uint32_t chunkID, chunkSize, commPtr, commLen; + uint32_t oldPos; + + oldPos = ftell(f); + + fseek(f, 0, SEEK_END); + filesize = ftell(f); + + if (filesize < 12) + { + fseek(f, oldPos, SEEK_SET); + return false; + } + + fseek(f, 12, SEEK_SET); + + commPtr = 0; commLen = 0; + + bytesRead = 0; + while (!feof(f) && bytesRead < filesize-12) + { + fread(&chunkID, 4, 1, f); chunkID = SWAP32(chunkID); if (feof(f)) break; + fread(&chunkSize, 4, 1, f); chunkSize = SWAP32(chunkSize); if (feof(f)) break; + + endOfChunk = (ftell(f) + chunkSize) + (chunkSize & 1); + switch (chunkID) + { + case 0x434F4D4D: // "COMM" + { + commPtr = ftell(f); + commLen = chunkSize; + } + break; + + default: break; + } + + bytesRead += (chunkSize + (chunkSize & 1)); + fseek(f, endOfChunk, SEEK_SET); + } + + if (commPtr == 0 || commLen < 2) + { + fseek(f, oldPos, SEEK_SET); + return false; + } + + fseek(f, commPtr, SEEK_SET); + fread(&numChannels, 2, 1, f); numChannels = SWAP16(numChannels); + fseek(f, oldPos, SEEK_SET); + + return (numChannels == 2); +} + +static bool wavIsStereo(FILE *f) // only ran on files that are confirmed to be WAVs +{ + uint16_t numChannels; + int32_t bytesRead, endOfChunk, filesize; + uint32_t chunkID, chunkSize, fmtPtr, fmtLen; + uint32_t oldPos; + + oldPos = ftell(f); + + fseek(f, 0, SEEK_END); + filesize = ftell(f); + + if (filesize < 12) + { + fseek(f, oldPos, SEEK_SET); + return false; + } + + fseek(f, 12, SEEK_SET); + + fmtPtr = 0; + fmtLen = 0; + + bytesRead = 0; + while (!feof(f) && bytesRead < filesize-12) + { + fread(&chunkID, 4, 1, f); if (feof(f)) break; + fread(&chunkSize, 4, 1, f); if (feof(f)) break; + + endOfChunk = (ftell(f) + chunkSize) + (chunkSize & 1); + switch (chunkID) + { + case 0x20746D66: // "fmt " + { + fmtPtr = ftell(f); + fmtLen = chunkSize; + } + break; + + default: break; + } + + bytesRead += (chunkSize + (chunkSize & 1)); + fseek(f, endOfChunk, SEEK_SET); + } + + if (fmtPtr == 0 || fmtLen < 4) + { + fseek(f, oldPos, SEEK_SET); + return false; + } + + fseek(f, fmtPtr + 2, SEEK_SET); + fread(&numChannels, 2, 1, f); + fseek(f, oldPos, SEEK_SET); + + return (numChannels == 2); +} + +static int32_t SDLCALL loadAIFFSample(void *ptr) +{ + char *tmpFilename, *tmpPtr, compType[4]; + int8_t *audioDataS8, *newPtr; + uint8_t sampleRateBytes[10], *audioDataU8; + int16_t *audioDataS16, *audioDataS16_2, smp16; + uint16_t numChannels, bitDepth; + int32_t j, filesize, smp32, *audioDataS32; + uint32_t i, filenameLen, sampleRate, sampleLength, blockName, blockSize; + uint32_t commPtr, commLen, ssndPtr, ssndLen, offset, len32; + int64_t smp64; + FILE *f; + UNICHAR *filename; + sampleTyp tmpSmp, *s; + + (void)ptr; + + // this is important for the "goto" on load error + f = NULL; + memset(&tmpSmp, 0, sizeof (tmpSmp)); + + if (editor.tmpFilenameU == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto aiffLoadError; + } + + filename = editor.tmpFilenameU; + + f = UNICHAR_FOPEN(filename, "rb"); + if (f == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto aiffLoadError; + } + + fseek(f, 0, SEEK_END); + filesize = ftell(f); + if (filesize < 12) + { + okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); + goto aiffLoadError; + } + + // handle chunks + + commPtr = 0; commLen = 0; + ssndPtr = 0; ssndLen = 0; + + fseek(f, 12, SEEK_SET); + while (!feof(f) && ftell(f) < filesize-12) + { + fread(&blockName, 4, 1, f); if (feof(f)) break; + fread(&blockSize, 4, 1, f); if (feof(f)) break; + + blockName = SWAP32(blockName); + blockSize = SWAP32(blockSize); + + switch (blockName) + { + case 0x434F4D4D: // "COMM" + { + commPtr = ftell(f); + commLen = blockSize; + } + break; + + case 0x53534E44: // "SSND" + { + ssndPtr = ftell(f); + ssndLen = blockSize; + } + break; + + default: break; + } + + fseek(f, blockSize + (blockSize & 1), SEEK_CUR); + } + + if (commPtr == 0 || commLen < 18 || ssndPtr == 0) + { + okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); + goto aiffLoadError; + } + + // kludge for some really strange AIFFs + if (ssndLen == 0) + ssndLen = filesize - ssndPtr; + + if (ssndPtr+ssndLen > (uint32_t)filesize) + ssndLen = filesize - ssndPtr; + + fseek(f, commPtr, SEEK_SET); + fread(&numChannels, 2, 1, f); numChannels = SWAP16(numChannels); + fseek(f, 4, SEEK_CUR); + fread(&bitDepth, 2, 1, f); bitDepth = SWAP16(bitDepth); + fread(sampleRateBytes, 1, 10, f); + + if (numChannels != 1 && numChannels != 2) + { + okBoxThreadSafe(0, "System message", "Error loading sample: Unsupported amounts of channels!"); + goto aiffLoadError; + } + + if (bitDepth != 8 && bitDepth != 16 && bitDepth != 24 && bitDepth != 32) + { + okBoxThreadSafe(0, "System message", "Error loading sample: Unsupported bitdepth!"); + goto aiffLoadError; + } + + // read compression type (if present) + if (commLen > 18) + { + fread(&compType, 1, 4, f); + if (memcmp(compType, "NONE", 4)) + { + okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); + goto aiffLoadError; + } + } + + sampleRate = getAIFFRate(sampleRateBytes); + + // sample data chunk + + fseek(f, ssndPtr, SEEK_SET); + + fread(&offset, 4, 1, f); + if (offset > 0) + { + okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); + goto aiffLoadError; + } + + fseek(f, 4, SEEK_CUR); + + ssndLen -= 8; // don't include offset and blockSize datas + + sampleLength = ssndLen; + if (sampleLength > MAX_SAMPLE_LEN) + sampleLength = MAX_SAMPLE_LEN; + + freeTmpSample(&tmpSmp); + + // read sample data + + if (bitDepth == 8) + { + // 8-BIT SIGNED PCM + + tmpSmp.origPek = (int8_t *)malloc(sampleLength + LOOP_FIX_LEN); + if (tmpSmp.origPek == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto aiffLoadError; + } + + tmpSmp.pek = tmpSmp.origPek + SMP_DAT_OFFSET; + + if (fread(tmpSmp.pek, sampleLength, 1, f) != 1) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto aiffLoadError; + } + + audioDataS8 = (int8_t *)tmpSmp.pek; + + // stereo conversion + if (numChannels == 2) + { + sampleLength /= 2; + + switch (stereoSampleLoadMode) + { + case STEREO_SAMPLE_READ_LEFT: + { + for (i = 1; i < sampleLength; i++) + audioDataS8[i] = audioDataS8[(i * 2) + 0]; + } + break; + + case STEREO_SAMPLE_READ_RIGHT: + { + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + audioDataS8[i] = audioDataS8[(i * 2) + 1]; + + audioDataS8[i] = 0; + } + break; + + default: + case STEREO_SAMPLE_CONVERT: + { + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + { + smp16 = (audioDataS8[(i * 2) + 0] + audioDataS8[(i * 2) + 1]) >> 1; + audioDataS8[i] = (int8_t)smp16; + } + + audioDataS8[i] = 0; + } + break; + } + } + } + else if (bitDepth == 16) + { + // 16-BIT SIGNED PCM + + sampleLength /= 2; + + tmpSmp.origPek = (int8_t *)malloc((sampleLength * 2) + LOOP_FIX_LEN); + if (tmpSmp.origPek == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto aiffLoadError; + } + + tmpSmp.pek = tmpSmp.origPek + SMP_DAT_OFFSET; + + if (fread(tmpSmp.pek, sampleLength, 2, f) != 2) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto aiffLoadError; + } + + // fix endianness + audioDataS16 = (int16_t *)tmpSmp.pek; + for (i = 0; i < sampleLength; i++) + audioDataS16[i] = SWAP16(audioDataS16[i]); + + // stereo conversion + if (numChannels == 2) + { + sampleLength /= 2; + + switch (stereoSampleLoadMode) + { + case STEREO_SAMPLE_READ_LEFT: + { + for (i = 1; i < sampleLength; i++) + audioDataS16[i] = audioDataS16[(i * 2) + 0]; + } + break; + + case STEREO_SAMPLE_READ_RIGHT: + { + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + audioDataS16[i] = audioDataS16[(i * 2) + 1]; + + audioDataS16[i] = 0; + } + break; + + default: + case STEREO_SAMPLE_CONVERT: + { + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + { + smp32 = (audioDataS16[(i * 2) + 0] + audioDataS16[(i * 2) + 1]) >> 1; + audioDataS16[i] = (int16_t)smp32; + } + + audioDataS16[i] = 0; + } + break; + } + } + + sampleLength *= 2; + tmpSmp.typ |= 16; + } + else if (bitDepth == 24) + { + // 24-BIT SIGNED PCM + + sampleLength /= 3; + + tmpSmp.origPek = (int8_t *)malloc(((sampleLength * 4) * 2) + LOOP_FIX_LEN); + if (tmpSmp.origPek == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto aiffLoadError; + } + + tmpSmp.pek = tmpSmp.origPek + SMP_DAT_OFFSET; + + if (fread(&tmpSmp.pek[sampleLength], sampleLength, 3, f) != 3) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto aiffLoadError; + } + + audioDataS32 = (int32_t *)tmpSmp.pek; + + // convert to 32-bit + audioDataU8 = (uint8_t *)tmpSmp.pek + sampleLength; + for (i = 0; i < sampleLength; i++) + { + audioDataS32[i] = (audioDataU8[0] << 24) | (audioDataU8[1] << 16) | (audioDataU8[2] << 8); + audioDataU8 += 3; + } + + // stereo conversion + if (numChannels == 2) + { + sampleLength /= 2; + + switch (stereoSampleLoadMode) + { + case STEREO_SAMPLE_READ_LEFT: + { + for (i = 1; i < sampleLength; i++) + audioDataS32[i] = audioDataS32[(i * 2) + 0]; + } + break; + + case STEREO_SAMPLE_READ_RIGHT: + { + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + audioDataS32[i] = audioDataS32[(i * 2) + 1]; + + audioDataS32[i] = 0; + } + break; + + default: + case STEREO_SAMPLE_CONVERT: + { + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + { + smp64 = audioDataS32[(i * 2) + 0]; + smp64 += audioDataS32[(i * 2) + 1]; + smp64 >>= 1; + + audioDataS32[i] = (int32_t)smp64; + } + + audioDataS32[i] = 0; + } + break; + } + } + + normalize32bitSigned(audioDataS32, sampleLength); + + // downscale to 16-bit (ultra fast method!) + + audioDataS16 = (int16_t *)tmpSmp.pek; + audioDataS16_2 = (int16_t *)tmpSmp.pek + 1; + + for (i = 0; i < sampleLength; i++) + { + audioDataS16[i] = audioDataS16_2[i]; + audioDataS16_2++; + } + + sampleLength *= 2; + tmpSmp.typ |= 16; + } + else if (bitDepth == 32) + { + // 32-BIT SIGNED PCM + + sampleLength /= 4; + + tmpSmp.origPek = (int8_t *)malloc((sampleLength * 4) + LOOP_FIX_LEN); + if (tmpSmp.origPek == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto aiffLoadError; + } + + tmpSmp.pek = tmpSmp.origPek + SMP_DAT_OFFSET; + + if (fread(tmpSmp.pek, sampleLength, 4, f) != 4) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto aiffLoadError; + } + + // fix endianness + audioDataS32 = (int32_t *)tmpSmp.pek; + for (i = 0; i < sampleLength; i++) + audioDataS32[i] = SWAP32(audioDataS32[i]); + + // stereo conversion + if (numChannels == 2) + { + sampleLength /= 2; + + switch (stereoSampleLoadMode) + { + case STEREO_SAMPLE_READ_LEFT: + { + for (i = 1; i < sampleLength; i++) + audioDataS32[i] = audioDataS32[(i * 2) + 0]; + } + break; + + case STEREO_SAMPLE_READ_RIGHT: + { + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + audioDataS32[i] = audioDataS32[(i * 2) + 1]; + + audioDataS32[i] = 0; + } + break; + + default: + case STEREO_SAMPLE_CONVERT: + { + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + { + smp64 = audioDataS32[(i * 2) + 0]; + smp64 += audioDataS32[(i * 2) + 1]; + smp64 >>= 1; + + audioDataS32[i] = (int32_t)smp64; + } + + audioDataS32[i] = 0; + } + break; + } + } + + normalize32bitSigned(audioDataS32, sampleLength); + + // downscale to 16-bit (ultra fast method!) + + audioDataS16 = (int16_t *)tmpSmp.pek; + audioDataS16_2 = (int16_t *)tmpSmp.pek + 1; + + for (i = 0; i < sampleLength; i++) + { + audioDataS16[i] = audioDataS16_2[i]; + audioDataS16_2++; + } + + sampleLength *= 2; + tmpSmp.typ |= 16; + } + + // adjust memory needed + newPtr = (int8_t *)realloc(tmpSmp.origPek, sampleLength + LOOP_FIX_LEN); + if (newPtr != NULL) + { + tmpSmp.origPek = newPtr; + tmpSmp.pek = tmpSmp.origPek + SMP_DAT_OFFSET; + } + + // set sample attributes + tmpSmp.len = sampleLength; + tmpSmp.vol = 64; + tmpSmp.pan = 128; + + tuneSample(&tmpSmp, sampleRate); + + // set sample name + tmpFilename = unicharToCp437(filename, true); + if (tmpFilename != NULL) + { + j = (int32_t)strlen(tmpFilename); + while (j--) + { + if (tmpFilename[j] == DIR_DELIMITER) + break; + } + + tmpPtr = tmpFilename; + if (j > 0) + tmpPtr += j + 1; + + sanitizeFilename(tmpPtr); + + filenameLen = (uint32_t)strlen(tmpPtr); + for (i = 0; i < 22; i++) + { + if (i < filenameLen) + tmpSmp.name[i] = tmpPtr[i]; + else + tmpSmp.name[i] = '\0'; + } + + free(tmpFilename); + } + + fclose(f); + + lockMixerCallback(); + if (loadAsInstrFlag) // if loaded in instrument mode + { + freeInstr(editor.curInstr); + memset(song.instrName[editor.curInstr], 0, 23); + } + + if (instr[editor.curInstr] == NULL) + allocateInstr(editor.curInstr); + + if (instr[editor.curInstr] != NULL) + { + s = &instr[editor.curInstr]->samp[sampleSlot]; + + freeSample(editor.curInstr, sampleSlot); + memcpy(s, &tmpSmp, sizeof (sampleTyp)); + fixSample(s); + } + else + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto aiffLoadError; + } + unlockMixerCallback(); + + fixSampleName(editor.curInstr); + setSongModifiedFlag(); + stereoSampleLoadMode = -1; + + // also sets mouse busy to false when done + editor.updateCurSmp = true; + + return true; + +aiffLoadError: + if (f != NULL) fclose(f); + if (tmpSmp.origPek != NULL) free(tmpSmp.origPek); + + stereoSampleLoadMode = -1; + sampleIsLoading = false; + + return false; +} + +static int32_t SDLCALL loadIFFSample(void *ptr) +{ + char *tmpFilename, *tmpPtr, hdr[4 + 1]; + bool is16Bit; + uint8_t i; + uint16_t sampleRate; + int32_t j, filesize; + uint32_t filenameLen, sampleVol, sampleLength, sampleLoopStart, sampleLoopLength, blockName, blockSize; + uint32_t vhdrPtr, vhdrLen, bodyPtr, bodyLen, namePtr, nameLen; + FILE *f; + UNICHAR *filename; + sampleTyp tmpSmp, *s; + + (void)ptr; + + // this is important for the "goto" on load error + f = NULL; + memset(&tmpSmp, 0, sizeof (tmpSmp)); + + if (editor.tmpFilenameU == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto iffLoadError; + } + + filename = editor.tmpFilenameU; + + f = UNICHAR_FOPEN(filename, "rb"); + if (f == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto iffLoadError; + } + + fseek(f, 0, SEEK_END); + filesize = ftell(f); + if (filesize < 12) + { + okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); + goto iffLoadError; + } + + fseek(f, 8, SEEK_SET); + fread(hdr, 1, 4, f); + hdr[4] = '\0'; + is16Bit = !strncmp(hdr, "16SV", 4); + + sampleLength = 0; + sampleVol = 64; + sampleLoopStart = 0; + sampleLoopLength = 0; + sampleRate = 16726; + + vhdrPtr = 0; vhdrLen = 0; + bodyPtr = 0; bodyLen = 0; + namePtr = 0; nameLen = 0; + + fseek(f, 12, SEEK_SET); + while (!feof(f) && ftell(f) < filesize-12) + { + fread(&blockName, 4, 1, f); if (feof(f)) break; + fread(&blockSize, 4, 1, f); if (feof(f)) break; + + blockName = SWAP32(blockName); + blockSize = SWAP32(blockSize); + + switch (blockName) + { + case 0x56484452: // VHDR + { + vhdrPtr = ftell(f); + vhdrLen = blockSize; + } + break; + + case 0x4E414D45: // NAME + { + namePtr = ftell(f); + nameLen = blockSize; + } + break; + + case 0x424F4459: // BODY + { + bodyPtr = ftell(f); + bodyLen = blockSize; + } + break; + + default: break; + } + + fseek(f, blockSize + (blockSize & 1), SEEK_CUR); + } + + if (vhdrPtr == 0 || vhdrLen < 20 || bodyPtr == 0) + { + okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); + goto iffLoadError; + } + + // kludge for some really strange IFFs + if (bodyLen == 0) + bodyLen = filesize - bodyPtr; + + if (bodyPtr+bodyLen > (uint32_t)filesize) + bodyLen = filesize - bodyPtr; + + fseek(f, vhdrPtr, SEEK_SET); + fread(&sampleLoopStart, 4, 1, f); sampleLoopStart = SWAP32(sampleLoopStart); + fread(&sampleLoopLength, 4, 1, f); sampleLoopLength = SWAP32(sampleLoopLength); + fseek(f, 4, SEEK_CUR); + fread(&sampleRate, 2, 1, f); sampleRate = SWAP16(sampleRate); + fseek(f, 1, SEEK_CUR); + + if (fgetc(f) != 0) // sample type + { + okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported!"); + goto iffLoadError; + } + + fread(&sampleVol, 4, 1, f); sampleVol = SWAP32(sampleVol); + if (sampleVol > 65535) + sampleVol = 65535; + + sampleVol = (int32_t)((sampleVol / 1024.0) + 0.5); + if (sampleVol > 64) + sampleVol = 64; + + sampleLength = bodyLen; + if (sampleLength > MAX_SAMPLE_LEN) + sampleLength = MAX_SAMPLE_LEN; + + if (sampleLoopStart >= MAX_SAMPLE_LEN || sampleLoopLength > MAX_SAMPLE_LEN) + { + sampleLoopStart = 0; + sampleLoopLength = 0; + } + + if (sampleLoopStart+sampleLoopLength > sampleLength) + { + sampleLoopStart = 0; + sampleLoopLength = 0; + } + + if (sampleLoopStart > sampleLength-2) + { + sampleLoopStart = 0; + sampleLoopLength = 0; + } + + tmpSmp.pan = 128; + tmpSmp.vol = 64; + + tmpSmp.origPek = (int8_t *)malloc(sampleLength + LOOP_FIX_LEN); + if (tmpSmp.origPek == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto iffLoadError; + } + + tmpSmp.pek = tmpSmp.origPek + SMP_DAT_OFFSET; + + fseek(f, bodyPtr, SEEK_SET); + if (fread(tmpSmp.pek, sampleLength, 1, f) != 1) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto iffLoadError; + } + + // set sample attributes + tmpSmp.len = sampleLength; + + if (sampleLoopLength > 2) + { + tmpSmp.repS = sampleLoopStart; + tmpSmp.repL = sampleLoopLength; + tmpSmp.typ |= 1; + } + + if (is16Bit) + { + tmpSmp.len &= 0xFFFFFFFE; + tmpSmp.repS &= 0xFFFFFFFE; + tmpSmp.repL &= 0xFFFFFFFE; + tmpSmp.typ |= 16; + } + + tmpSmp.vol = (uint8_t)sampleVol; + tmpSmp.pan = 128; + + tuneSample(&tmpSmp, sampleRate); + + // set name + if (namePtr != 0 && nameLen > 0) + { + fseek(f, namePtr, SEEK_SET); + if (nameLen > 21) + { + tmpSmp.name[21] = '\0'; + fread(tmpSmp.name, 1, 21, f); + } + else + { + memset(tmpSmp.name, 0, 22); + fread(tmpSmp.name, 1, nameLen, f); + } + } + else + { + // set sample name from filename if we didn't load name from .wav + tmpFilename = unicharToCp437(filename, true); + if (tmpFilename != NULL) + { + j = (int32_t)strlen(tmpFilename); + while (j--) + { + if (tmpFilename[j] == DIR_DELIMITER) + break; + } + + tmpPtr = tmpFilename; + if (j > 0) + tmpPtr += j + 1; + + sanitizeFilename(tmpPtr); + + filenameLen = (uint32_t)strlen(tmpPtr); + for (i = 0; i < 22; i++) + { + if (i < filenameLen) + tmpSmp.name[i] = tmpPtr[i]; + else + tmpSmp.name[i] = '\0'; + } + + free(tmpFilename); + } + } + + fclose(f); + + lockMixerCallback(); + if (loadAsInstrFlag) // if loaded in instrument mode + { + freeInstr(editor.curInstr); + memset(song.instrName[editor.curInstr], 0, 23); + } + + if (instr[editor.curInstr] == NULL) + allocateInstr(editor.curInstr); + + if (instr[editor.curInstr] != NULL) + { + s = &instr[editor.curInstr]->samp[sampleSlot]; + + freeSample(editor.curInstr, sampleSlot); + memcpy(s, &tmpSmp, sizeof (sampleTyp)); + fixSample(s); + } + else + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto iffLoadError; + } + unlockMixerCallback(); + + fixSampleName(editor.curInstr); + setSongModifiedFlag(); + stereoSampleLoadMode = -1; + + // also sets mouse busy to false when done + editor.updateCurSmp = true; + + return true; + +iffLoadError: + if (f != NULL) fclose(f); + if (tmpSmp.origPek != NULL) free(tmpSmp.origPek); + + stereoSampleLoadMode = -1; + sampleIsLoading = false; + + return false; +} + +static int32_t SDLCALL loadRawSample(void *ptr) +{ + char *tmpFilename, *tmpPtr; + int32_t j; + uint32_t filenameLen, i, filesize; + FILE *f; + UNICHAR *filename; + sampleTyp tmpSmp, *s; + + (void)ptr; + + // this is important for the "goto" on load error + f = NULL; + memset(&tmpSmp, 0, sizeof (tmpSmp)); + + if (editor.tmpFilenameU == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto rawLoadError; + } + + filename = editor.tmpFilenameU; + + f = UNICHAR_FOPEN(filename, "rb"); + if (f == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto rawLoadError; + } + + fseek(f, 0, SEEK_END); + filesize = ftell(f); + rewind(f); + + if (filesize > MAX_SAMPLE_LEN) + filesize = MAX_SAMPLE_LEN; + + if (filesize == 0) + { + okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); + goto rawLoadError; + } + + tmpSmp.pan = 128; + tmpSmp.vol = 64; + + tmpSmp.origPek = (int8_t *)malloc(filesize + LOOP_FIX_LEN); + if (tmpSmp.origPek == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto rawLoadError; + } + + tmpSmp.pek = tmpSmp.origPek + SMP_DAT_OFFSET; + + if (fread(tmpSmp.pek, filesize, 1, f) != 1) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto rawLoadError; + } + + fclose(f); + + tmpFilename = unicharToCp437(filename, true); + if (tmpFilename != NULL) + { + j = (int32_t)strlen(tmpFilename); + while (j--) + { + if (tmpFilename[j] == DIR_DELIMITER) + break; + } + + tmpPtr = tmpFilename; + if (j > 0) + tmpPtr += j + 1; + + sanitizeFilename(tmpPtr); + + filenameLen = (uint32_t)strlen(tmpPtr); + for (i = 0; i < 22; i++) + { + if (i < filenameLen) + tmpSmp.name[i] = tmpPtr[i]; + else + tmpSmp.name[i] = '\0'; + } + + free(tmpFilename); + } + + tmpSmp.len = filesize; + tmpSmp.vol = 64; + tmpSmp.pan = 128; + + lockMixerCallback(); + if (loadAsInstrFlag) // if loaded in instrument mode + { + freeInstr(editor.curInstr); + memset(song.instrName[editor.curInstr], 0, 23); + } + + if (instr[editor.curInstr] == NULL) + allocateInstr(editor.curInstr); + + if (instr[editor.curInstr] != NULL) + { + s = &instr[editor.curInstr]->samp[sampleSlot]; + + freeSample(editor.curInstr, sampleSlot); + memcpy(s, &tmpSmp, sizeof (sampleTyp)); + fixSample(s); + } + else + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto rawLoadError; + } + unlockMixerCallback(); + + fixSampleName(editor.curInstr); + setSongModifiedFlag(); + stereoSampleLoadMode = -1; + + // also sets mouse busy to false when done + editor.updateCurSmp = true; + + return true; + +rawLoadError: + if (f != NULL) fclose(f); + if (tmpSmp.origPek != NULL) free(tmpSmp.origPek); + + stereoSampleLoadMode = -1; + sampleIsLoading = false; + + return false; +} + +static int32_t SDLCALL loadWAVSample(void *ptr) +{ + char chr, *tmpFilename, *tmpPtr; + int8_t *newPtr; + uint8_t *audioDataU8; + int16_t *audioDataS16, *audioDataS16_2, *ptr16; + uint16_t audioFormat, numChannels, bitsPerSample, tempPan, tempVol; + int32_t j, *audioDataS32, smp32; + uint32_t filenameLen, i, sampleRate, chunkID, chunkSize, sampleLength, filesize; + uint32_t numLoops, loopType, loopStart, loopEnd, bytesRead, endOfChunk, dataPtr, dataLen, fmtPtr; + uint32_t fmtLen, inamPtr, inamLen, smplPtr, smplLen, xtraPtr, xtraLen, xtraFlags, len32; + int64_t smp64; + float *fAudioDataFloat; + double *dAudioDataDouble; + FILE *f; + sampleTyp tmpSmp, *s; + UNICHAR *filename; + + (void)ptr; + + // this is important for the "goto" on load error + f = NULL; + memset(&tmpSmp, 0, sizeof (tmpSmp)); + + // zero out chunk pointers and lengths + fmtPtr = 0; fmtLen = 0; + dataPtr = 0; dataLen = 0; + inamPtr = 0; inamLen = 0; + xtraPtr = 0; xtraLen = 0; + smplPtr = 0; smplLen = 0; + + if (editor.tmpFilenameU == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto wavLoadError; + } + + filename = editor.tmpFilenameU; + + f = UNICHAR_FOPEN(filename, "rb"); + if (f == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto wavLoadError; + } + + // get and check filesize + fseek(f, 0, SEEK_END); + filesize = ftell(f); + if (filesize < 12) + { + okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); + goto wavLoadError; + } + + // look for wanted chunks and set up pointers + lengths + fseek(f, 12, SEEK_SET); + + bytesRead = 0; + while (!feof(f) && bytesRead < filesize-12) + { + fread(&chunkID, 4, 1, f); if (feof(f)) break; + fread(&chunkSize, 4, 1, f); if (feof(f)) break; + + endOfChunk = (ftell(f) + chunkSize) + (chunkSize & 1); + switch (chunkID) + { + case 0x20746D66: // "fmt " + { + fmtPtr = ftell(f); + fmtLen = chunkSize; + } + break; + + case 0x61746164: // "data" + { + dataPtr = ftell(f); + dataLen = chunkSize; + } + break; + + case 0x5453494C: // "LIST" + { + if (chunkSize >= 4) + { + fread(&chunkID, 4, 1, f); + if (chunkID == 0x4F464E49) // "INFO" + { + bytesRead = 0; + while (!feof(f) && bytesRead < chunkSize) + { + fread(&chunkID, 4, 1, f); + fread(&chunkSize, 4, 1, f); + + switch (chunkID) + { + case 0x4D414E49: // "INAM" + { + inamPtr = ftell(f); + inamLen = chunkSize; + } + break; + + default: break; + } + + bytesRead += (chunkSize + (chunkSize & 1)); + } + } + } + } + break; + + case 0x61727478: // "xtra" + { + xtraPtr = ftell(f); + xtraLen = chunkSize; + } + break; + + case 0x6C706D73: // "smpl" + { + smplPtr = ftell(f); + smplLen = chunkSize; + } + break; + + default: break; + } + + bytesRead += (chunkSize + (chunkSize & 1)); + fseek(f, endOfChunk, SEEK_SET); + } + + // we need at least "fmt " and "data" - check if we found them sanely + if ((fmtPtr == 0 || fmtLen < 16) || (dataPtr == 0 || dataLen == 0)) + { + okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); + goto wavLoadError; + } + + // ---- READ "fmt " CHUNK ---- + fseek(f, fmtPtr, SEEK_SET); + fread(&audioFormat, 2, 1, f); + fread(&numChannels, 2, 1, f); + fread(&sampleRate, 4, 1, f); + fseek(f, 6, SEEK_CUR); // unneeded + fread(&bitsPerSample, 2, 1, f); + sampleLength = dataLen; + // --------------------------- + + // test if the WAV is compatible with our loader + + if (sampleRate == 0 || sampleLength == 0 || sampleLength >= filesize) + { + okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported or is invalid!"); + goto wavLoadError; + } + + if (audioFormat != WAV_FORMAT_PCM && audioFormat != WAV_FORMAT_IEEE_FLOAT) + { + okBoxThreadSafe(0, "System message", "Error loading sample: The sample is not supported!"); + goto wavLoadError; + } + + if (numChannels == 0 || numChannels > 2) + { + okBoxThreadSafe(0, "System message", "Error loading sample: Unsupported number of channels!"); + goto wavLoadError; + } + + if (audioFormat == WAV_FORMAT_IEEE_FLOAT && bitsPerSample != 32 && bitsPerSample != 64) + { + okBoxThreadSafe(0, "System message", "Error loading sample: Unsupported bitdepth!"); + goto wavLoadError; + } + + if (bitsPerSample != 8 && bitsPerSample != 16 && bitsPerSample != 24 && bitsPerSample != 32 && bitsPerSample != 64) + { + okBoxThreadSafe(0, "System message", "Error loading sample: Unsupported bitdepth!"); + goto wavLoadError; + } + + // ---- READ SAMPLE DATA ---- + fseek(f, dataPtr, SEEK_SET); + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + tmpSmp.pan = 128; + tmpSmp.vol = 64; + + if (sampleLength > MAX_SAMPLE_LEN) + sampleLength = MAX_SAMPLE_LEN; + + if (bitsPerSample == 8) // 8-BIT INTEGER SAMPLE + { + tmpSmp.origPek = (int8_t *)malloc(sampleLength + LOOP_FIX_LEN); + if (tmpSmp.origPek == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto wavLoadError; + } + + tmpSmp.pek = tmpSmp.origPek + SMP_DAT_OFFSET; + + if (fread(tmpSmp.pek, sampleLength, 1, f) != 1) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto wavLoadError; + } + + audioDataU8 = (uint8_t *)tmpSmp.pek; + + // stereo conversion + if (numChannels == 2) + { + sampleLength /= 2; + switch (stereoSampleLoadMode) + { + case STEREO_SAMPLE_READ_LEFT: + { + // remove right channel data + for (i = 1; i < sampleLength; i++) + audioDataU8[i] = audioDataU8[(i * 2) + 0]; + } + break; + + case STEREO_SAMPLE_READ_RIGHT: + { + // remove left channel data + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + audioDataU8[i] = audioDataU8[(i * 2) + 1]; + + audioDataU8[i] = 128; + } + break; + + default: + case STEREO_SAMPLE_CONVERT: + { + // mix stereo to mono + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + audioDataU8[i] = (audioDataU8[(i * 2) + 0] + audioDataU8[(i * 2) + 1]) >> 1; + + audioDataU8[i] = 128; + } + break; + } + } + + // convert from unsigned to signed + for (i = 0; i < sampleLength; i++) + tmpSmp.pek[i] ^= 0x80; + + tmpSmp.typ &= ~16; // 8-bit + } + else if (bitsPerSample == 16) // 16-BIT INTEGER SAMPLE + { + sampleLength /= 2; + + tmpSmp.origPek = (int8_t *)malloc((sampleLength * 2) + LOOP_FIX_LEN); + if (tmpSmp.origPek == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto wavLoadError; + } + + tmpSmp.pek = tmpSmp.origPek + SMP_DAT_OFFSET; + + if (fread(tmpSmp.pek, sampleLength, 2, f) != 2) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto wavLoadError; + } + + audioDataS16 = (int16_t *)tmpSmp.pek; + + // stereo conversion + if (numChannels == 2) + { + sampleLength /= 2; + + switch (stereoSampleLoadMode) + { + case STEREO_SAMPLE_READ_LEFT: + { + // remove right channel data + for (i = 1; i < sampleLength; i++) + audioDataS16[i] = audioDataS16[(i * 2) + 0]; + } + break; + + case STEREO_SAMPLE_READ_RIGHT: + { + // remove left channel data + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + audioDataS16[i] = audioDataS16[(i * 2) + 1]; + + audioDataS16[i] = 0; + } + break; + + default: + case STEREO_SAMPLE_CONVERT: + { + // mix stereo to mono + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + { + smp32 = audioDataS16[(i * 2) + 0] + audioDataS16[(i * 2) + 1]; + audioDataS16[i] = (int16_t)(smp32 >> 1); + } + + audioDataS16[i] = 0; + } + break; + } + } + + sampleLength *= 2; + tmpSmp.typ |= 16; // 16-bit + } + else if (bitsPerSample == 24) // 24-BIT INTEGER SAMPLE + { + sampleLength /= 3; + + tmpSmp.origPek = (int8_t *)malloc(((sampleLength * 4) * 2) + LOOP_FIX_LEN); + if (tmpSmp.origPek == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto wavLoadError; + } + + tmpSmp.pek = tmpSmp.origPek + SMP_DAT_OFFSET; + + if (fread(&tmpSmp.pek[sampleLength], sampleLength, 3, f) != 3) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto wavLoadError; + } + + audioDataS32 = (int32_t *)tmpSmp.pek; + + // convert to 32-bit + audioDataU8 = (uint8_t *)tmpSmp.pek + sampleLength; + for (i = 0; i < sampleLength; i++) + { + audioDataS32[i] = (audioDataU8[2] << 24) | (audioDataU8[1] << 16) | (audioDataU8[0] << 8); + audioDataU8 += 3; + } + + // stereo conversion + if (numChannels == 2) + { + sampleLength /= 2; + switch (stereoSampleLoadMode) + { + case STEREO_SAMPLE_READ_LEFT: + { + // remove right channel data + for (i = 1; i < sampleLength; i++) + audioDataS32[i] = audioDataS32[(i * 2) + 0]; + } + break; + + case STEREO_SAMPLE_READ_RIGHT: + { + // remove left channel data + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + audioDataS32[i] = audioDataS32[(i * 2) + 1]; + + audioDataS32[i] = 0; + } + break; + + default: + case STEREO_SAMPLE_CONVERT: + { + // mix stereo to mono + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + { + smp64 = audioDataS32[(i * 2) + 0]; + smp64 += audioDataS32[(i * 2) + 1]; + smp64 >>= 1; + + audioDataS32[i] = (int32_t)smp64; + } + + audioDataS32[i] = 0; + } + break; + } + } + + normalize32bitSigned(audioDataS32, sampleLength); + + // downscale to 16-bit (ultra fast method!) + + audioDataS16 = (int16_t *)tmpSmp.pek; + audioDataS16_2 = (int16_t *)tmpSmp.pek + 1; + + for (i = 0; i < sampleLength; i++) + { + audioDataS16[i] = audioDataS16_2[i]; + audioDataS16_2++; + } + + sampleLength *= 2; + tmpSmp.typ |= 16; // 16-bit + } + else if (audioFormat == WAV_FORMAT_PCM && bitsPerSample == 32) // 32-BIT INTEGER SAMPLE + { + sampleLength /= 4; + + tmpSmp.origPek = (int8_t *)malloc((sampleLength * 4) + LOOP_FIX_LEN); + if (tmpSmp.origPek == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto wavLoadError; + } + + tmpSmp.pek = tmpSmp.origPek + SMP_DAT_OFFSET; + + if (fread(tmpSmp.pek, sampleLength, 4, f) != 4) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto wavLoadError; + } + + audioDataS32 = (int32_t *)tmpSmp.pek; + + // stereo conversion + if (numChannels == 2) + { + sampleLength /= 2; + switch (stereoSampleLoadMode) + { + case STEREO_SAMPLE_READ_LEFT: + { + // remove right channel data + for (i = 1; i < sampleLength; i++) + audioDataS32[i] = audioDataS32[(i * 2) + 0]; + } + break; + + case STEREO_SAMPLE_READ_RIGHT: + { + // remove left channel data + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + audioDataS32[i] = audioDataS32[(i * 2) + 1]; + + audioDataS32[i] = 0; + } + break; + + default: + case STEREO_SAMPLE_CONVERT: + { + // mix stereo to mono + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + { + smp64 = audioDataS32[(i * 2) + 0]; + smp64 += audioDataS32[(i * 2) + 1]; + smp64 >>= 1; + + audioDataS32[i] = (int32_t)smp64; + } + + audioDataS32[i] = 0; + } + break; + } + } + + normalize32bitSigned(audioDataS32, sampleLength); + + // downscale to 16-bit (ultra fast method!) + + audioDataS16 = (int16_t *)tmpSmp.pek; + audioDataS16_2 = (int16_t *)tmpSmp.pek + 1; + + for (i = 0; i < sampleLength; i++) + { + audioDataS16[i] = audioDataS16_2[i]; + audioDataS16_2++; + } + + sampleLength *= 2; + tmpSmp.typ |= 16; // 16-bit + } + else if (audioFormat == WAV_FORMAT_IEEE_FLOAT && bitsPerSample == 32) // 32-BIT FLOATING POINT SAMPLE + { + sampleLength /= 4; + + tmpSmp.origPek = (int8_t *)malloc((sampleLength * 4) + LOOP_FIX_LEN); + if (tmpSmp.origPek == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto wavLoadError; + } + + tmpSmp.pek = tmpSmp.origPek + SMP_DAT_OFFSET; + + if (fread(tmpSmp.pek, sampleLength, 4, f) != 4) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto wavLoadError; + } + + fAudioDataFloat = (float *)tmpSmp.pek; + + // stereo conversion + if (numChannels == 2) + { + sampleLength /= 2; + switch (stereoSampleLoadMode) + { + case STEREO_SAMPLE_READ_LEFT: + { + // remove right channel data + for (i = 1; i < sampleLength; i++) + fAudioDataFloat[i] = fAudioDataFloat[(i * 2) + 0]; + } + break; + + case STEREO_SAMPLE_READ_RIGHT: + { + // remove left channel data + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + fAudioDataFloat[i] = fAudioDataFloat[(i * 2) + 1]; + + fAudioDataFloat[i] = 0.0f; + } + break; + + default: + case STEREO_SAMPLE_CONVERT: + { + // mix stereo to mono + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + fAudioDataFloat[i] = (fAudioDataFloat[(i * 2) + 0] + fAudioDataFloat[(i * 2) + 1]) * 0.5f; + + fAudioDataFloat[i] = 0.0f; + } + break; + } + } + + normalize16bitFloatSigned(fAudioDataFloat, sampleLength); + + ptr16 = (int16_t *)tmpSmp.pek; + for (i = 0; i < sampleLength; i++) + ptr16[i] = (int16_t)fAudioDataFloat[i]; // should use SIMD if available + + sampleLength *= 2; + tmpSmp.typ |= 16; // 16-bit + } + else if (audioFormat == WAV_FORMAT_IEEE_FLOAT && bitsPerSample == 64) // 64-BIT FLOATING POINT SAMPLE + { + sampleLength /= 8; + + tmpSmp.origPek = (int8_t *)malloc((sampleLength * 8) + LOOP_FIX_LEN); + if (tmpSmp.origPek == NULL) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto wavLoadError; + } + + tmpSmp.pek = tmpSmp.origPek + SMP_DAT_OFFSET; + + if (fread(tmpSmp.pek, sampleLength, 8, f) != 8) + { + okBoxThreadSafe(0, "System message", "General I/O error during loading! Is the file in use?"); + goto wavLoadError; + } + + dAudioDataDouble = (double *)tmpSmp.pek; + + // stereo conversion + if (numChannels == 2) + { + sampleLength /= 2; + switch (stereoSampleLoadMode) + { + case STEREO_SAMPLE_READ_LEFT: + { + // remove right channel data + for (i = 1; i < sampleLength; i++) + dAudioDataDouble[i] = dAudioDataDouble[(i * 2) + 0]; + } + break; + + case STEREO_SAMPLE_READ_RIGHT: + { + // remove left channel data + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + dAudioDataDouble[i] = dAudioDataDouble[(i * 2) + 1]; + + dAudioDataDouble[i] = 0.0; + } + break; + + default: + case STEREO_SAMPLE_CONVERT: + { + // mix stereo to mono + len32 = sampleLength - 1; + for (i = 0; i < len32; i++) + dAudioDataDouble[i] = (dAudioDataDouble[(i * 2) + 0] + dAudioDataDouble[(i * 2) + 1]) * 0.5; + + dAudioDataDouble[i] = 0.0; + } + break; + } + } + + normalize64bitDoubleSigned(dAudioDataDouble, sampleLength); + + ptr16 = (int16_t *)tmpSmp.pek; + for (i = 0; i < sampleLength; i++) + ptr16[i] = (int16_t)dAudioDataDouble[i]; // should use SIMD if available + + sampleLength *= 2; + tmpSmp.typ |= 16; // 16-bit + } + + // adjust memory needed + newPtr = (int8_t *)realloc(tmpSmp.origPek, sampleLength + LOOP_FIX_LEN); + if (newPtr != NULL) + { + tmpSmp.origPek = newPtr; + tmpSmp.pek = tmpSmp.origPek + SMP_DAT_OFFSET; + } + + tuneSample(&tmpSmp, sampleRate); + + tmpSmp.vol = 64; + tmpSmp.pan = 128; + tmpSmp.len = sampleLength; + + // ---- READ "smpl" chunk ---- + if (smplPtr != 0 && smplLen > 52) + { + fseek(f, smplPtr + 28, SEEK_SET); // seek to first wanted byte + + fread(&numLoops, 4, 1, f); + if (numLoops == 1) + { + fseek(f, 4 + 4, SEEK_CUR); // skip "samplerData" and "identifier" + + fread(&loopType, 4, 1, f); + fread(&loopStart, 4, 1, f); + fread(&loopEnd, 4, 1, f); + + loopEnd++; + + if (tmpSmp.typ & 16) + { + loopStart *= 2; + loopEnd *= 2; + } + + if (loopEnd <= sampleLength) + { + tmpSmp.repS = loopStart; + tmpSmp.repL = loopEnd - loopStart; + tmpSmp.typ |= ((loopType == 0) ? 1 : 2); + } + } + } + // --------------------------- + + // ---- READ "xtra" chunk ---- + if (xtraPtr != 0 && xtraLen >= 8) + { + fseek(f, xtraPtr, SEEK_SET); + + fread(&xtraFlags, 4, 1, f); // flags + + // panning (0..256) + if (xtraFlags & 0x20) // set panning flag + { + fread(&tempPan, 2, 1, f); + if (tempPan > 255) + tempPan = 255; + + tmpSmp.pan = (uint8_t)tempPan; + } + else + { + // don't read panning, skip it + fseek(f, 2, SEEK_CUR); + } + + // volume (0..256) + fread(&tempVol, 2, 1, f); + if (tempVol > 256) + tempVol = 256; + + tmpSmp.vol = (uint8_t)(tempVol / 4); // 0..256 -> 0..64 + } + // --------------------------- + + // ---- READ "INAM" chunk ---- + if (inamPtr != 0 && inamLen > 0) + { + fseek(f, inamPtr, SEEK_SET); + + memset(tmpSmp.name, 0, sizeof (tmpSmp.name)); + for (i = 0; i < 22; i++) + { + if (i < inamLen) + { + chr = (char)fgetc(f); + if (chr == '\0') + break; + + tmpSmp.name[i] = chr; + } + } + } + else + { + // set sample name from filename if we didn't load name from .wav + tmpFilename = unicharToCp437(filename, true); + if (tmpFilename != NULL) + { + j = (int32_t)strlen(tmpFilename); + while (j--) + { + if (tmpFilename[j] == DIR_DELIMITER) + break; + } + + tmpPtr = tmpFilename; + if (j > 0) + tmpPtr += j + 1; + + sanitizeFilename(tmpPtr); + + filenameLen = (uint32_t)strlen(tmpPtr); + for (i = 0; i < 22; i++) + { + if (i < filenameLen) + tmpSmp.name[i] = tmpPtr[i]; + else + tmpSmp.name[i] = '\0'; + } + + free(tmpFilename); + } + } + + fclose(f); + + lockMixerCallback(); + if (loadAsInstrFlag) // if loaded in instrument mode + { + freeInstr(editor.curInstr); + memset(song.instrName[editor.curInstr], 0, 23); + } + + if (instr[editor.curInstr] == NULL) + allocateInstr(editor.curInstr); + + if (instr[editor.curInstr] != NULL) + { + s = &instr[editor.curInstr]->samp[sampleSlot]; + + freeSample(editor.curInstr, sampleSlot); + memcpy(s, &tmpSmp, sizeof (sampleTyp)); + fixSample(s); + } + else + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + goto wavLoadError; + } + unlockMixerCallback(); + + fixSampleName(editor.curInstr); + setSongModifiedFlag(); + stereoSampleLoadMode = -1; + + // also sets mouse busy to false when done + editor.updateCurSmp = true; + + return true; + +wavLoadError: + if (f != NULL) fclose(f); + if (tmpSmp.origPek != NULL) free(tmpSmp.origPek); + + stereoSampleLoadMode = -1; + sampleIsLoading = false; + + return false; +} + +bool loadSample(UNICHAR *filenameU, uint8_t smpNr, bool instrFlag) +{ + char tmpBuffer[16+1]; + FILE *f; + + if (sampleIsLoading) + return false; + + stereoSampleLoadMode = 0; + + sampleSlot = smpNr; + loadAsInstrFlag = instrFlag; + + if (editor.curInstr == 0) + { + okBox(0, "System message", "The zero-instrument cannot hold intrument data."); + return false; + } + + f = UNICHAR_FOPEN(filenameU, "rb"); + if (f == NULL) + { + okBox(0, "System message", "General I/O error during loading! Is the file in use?"); + return false; + } + + memset(tmpBuffer, 0, sizeof (tmpBuffer)); + if (fread(tmpBuffer, sizeof (tmpBuffer) - 1, 1, f) == 1) + { + tmpBuffer[sizeof (tmpBuffer) - 1] = '\0'; + + // detect what sample format this is... + + // WAV + if (!strncmp("RIFF", tmpBuffer, 4) && !strncmp("WAVE", tmpBuffer + 8, 4)) + { + // let the user pick what to do with stereo samples... + if (wavIsStereo(f)) + stereoSampleLoadMode = okBox(5, "System request", "This is a stereo sample..."); + + sampleIsLoading = true; + + fclose(f); + UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); + + mouseAnimOn(); + thread = SDL_CreateThread(loadWAVSample, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + sampleIsLoading = false; + return false; + } + + SDL_DetachThread(thread); + return true; + } + + // AIFF or IFF + if (!strncmp("FORM", tmpBuffer, 4)) + { + if (!strncmp("AIFC", tmpBuffer + 8, 4)) + { + // AIFC (not supported) + + fclose(f); + okBox(0, "System message", "Error loading sample: This AIFF type (AIFC) is not supported!"); + return true; + } + else if (!strncmp("AIFF", tmpBuffer + 8, 4)) + { + // AIFF + + // let the user pick what to do with stereo samples... + if (aiffIsStereo(f)) + stereoSampleLoadMode = okBox(5, "System request", "This is a stereo sample..."); + + sampleIsLoading = true; + + fclose(f); + UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); + + mouseAnimOn(); + thread = SDL_CreateThread(loadAIFFSample, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + sampleIsLoading = false; + return false; + } + + SDL_DetachThread(thread); + return true; + } + else if (!strncmp("8SVX", tmpBuffer + 8, 4) || !strncmp("16SV", tmpBuffer + 8, 4)) + { + // IFF + + sampleIsLoading = true; + + fclose(f); + UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); + + mouseAnimOn(); + thread = SDL_CreateThread(loadIFFSample, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + sampleIsLoading = false; + return false; + } + + SDL_DetachThread(thread); + return true; + } + } + } + + // load as RAW sample + + sampleIsLoading = true; + + fclose(f); + UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); + + mouseAnimOn(); + thread = SDL_CreateThread(loadRawSample, NULL, NULL); + if (thread == NULL) + { + okBox(0, "System message", "Couldn't create thread!"); + sampleIsLoading = false; + return false; + } + + SDL_DetachThread(thread); + return true; +} + +static void normalize32bitSigned(int32_t *sampleData, uint32_t sampleLength) +{ + uint32_t i, sample, sampleVolPeak; + double dGain; + + sampleVolPeak = 0; + for (i = 0; i < sampleLength; i++) + { + sample = ABS(sampleData[i]); + if (sampleVolPeak < sample) + sampleVolPeak = sample; + } + + if (sampleVolPeak <= 0) + return; + + dGain = (double)INT32_MAX / sampleVolPeak; + for (i = 0; i < sampleLength; i++) + sampleData[i] = (int32_t)(sampleData[i] * dGain); +} + +static void normalize16bitFloatSigned(float *fSampleData, uint32_t sampleLength) +{ + uint32_t i; + float fSample, fSampleVolPeak, fGain; + + fSampleVolPeak = 0.0f; + for (i = 0; i < sampleLength; i++) + { + fSample = fabsf(fSampleData[i]); + if (fSampleVolPeak < fSample) + fSampleVolPeak = fSample; + } + + if (fSampleVolPeak <= 0.0f) + return; + + fGain = (float)INT16_MAX / fSampleVolPeak; + for (i = 0; i < sampleLength; i++) + fSampleData[i] *= fGain; +} + +static void normalize64bitDoubleSigned(double *dSampleData, uint32_t sampleLength) +{ + uint32_t i; + double dSample, dSampleVolPeak, dGain; + + dSampleVolPeak = 0.0; + for (i = 0; i < sampleLength; i++) + { + dSample = fabs(dSampleData[i]); + if (dSampleVolPeak < dSample) + dSampleVolPeak = dSample; + } + + if (dSampleVolPeak <= 0.0) + return; + + dGain = (double)INT16_MAX / dSampleVolPeak; + for (i = 0; i < sampleLength; i++) + dSampleData[i] *= dGain; +} + +bool fileIsInstrument(char *fullPath) +{ + char *filename; + int32_t i, len, extOffset; + + // this assumes that fullPath is not empty + + len = (int32_t)strlen(fullPath); + + // get filename from path + i = len; + while (i--) + { + if (fullPath[i] == DIR_DELIMITER) + break; + } + + filename = fullPath; + if (i > 0) + filename += i + 1; + // -------------------------- + + len = (int32_t)strlen(filename); + if (len < 4) + return true; // can't be an instrument + + if (!_strnicmp("xi.", filename, 3) || (len >= 4 && !_strnicmp("pat.", filename, 4))) + return true; + + extOffset = getExtOffset(filename, len); + if (extOffset != -1) + { + if ((extOffset <= len-4) && !_strnicmp(".pat", &filename[extOffset], 4)) return true; + if ((extOffset <= len-3) && !_strnicmp(".xi", &filename[extOffset], 3)) return true; + } + + return false; +} + +bool fileIsSample(char *fullPath) +{ + char *filename; + int32_t i, len, extOffset; + + // this assumes that fullPath is not empty + + len = (int32_t)strlen(fullPath); + + // get filename from path + i = len; + while (i--) + { + if (fullPath[i] == DIR_DELIMITER) + break; + } + + filename = fullPath; + if (i > 0) + filename += i + 1; + // -------------------------- + + len = (int32_t)strlen(filename); + if (len < 4) + return true; // can't be a module + + if (!_strnicmp("xm.", filename, 3) || !_strnicmp("ft.", filename, 3) || + !_strnicmp("mod.", filename, 4) || !_strnicmp("nst.", filename, 4) || + !_strnicmp("s3m.", filename, 4) || !_strnicmp("stm.", filename, 4) || + !_strnicmp("fst.", filename, 4) || !_strnicmp("it.", filename, 3)) + { + return false; // definitely a module + } + + extOffset = getExtOffset(filename, len); + if (extOffset != -1) + { + if (extOffset <= len-4) + { + filename = &filename[extOffset]; + if (!_strnicmp(".mod", filename, 4) || !_strnicmp(".nst", filename, 4) || + !_strnicmp(".s3m", filename, 4) || !_strnicmp(".stm", filename, 4) || + !_strnicmp(".fst", filename, 4)) + { + return false; // definitely a module + } + } + else if (extOffset <= len-3) + { + filename = &filename[extOffset]; + if (!_strnicmp(".xm", filename, 3) || !_strnicmp(".ft", filename, 3) || !_strnicmp(".it", filename, 3)) + return false; // definitely a module + } + } + + return true; // let's assume it's a sample +} diff --git a/src/ft2_sample_loader.h b/src/ft2_sample_loader.h index d531938..d0191d9 100644 --- a/src/ft2_sample_loader.h +++ b/src/ft2_sample_loader.h @@ -1,10 +1,10 @@ -#pragma once - -#include -#include -#include "ft2_unicode.h" - -bool loadSample(UNICHAR *filenameU, uint8_t sampleSlot, bool loadAsInstrFlag); -bool fileIsInstrument(char *fullPath); -bool fileIsSample(char *fullPath); -void removeSampleIsLoadingFlag(void); +#pragma once + +#include +#include +#include "ft2_unicode.h" + +bool loadSample(UNICHAR *filenameU, uint8_t sampleSlot, bool loadAsInstrFlag); +bool fileIsInstrument(char *fullPath); +bool fileIsSample(char *fullPath); +void removeSampleIsLoadingFlag(void); diff --git a/src/ft2_sample_saver.c b/src/ft2_sample_saver.c index e9a36e5..a643c76 100644 --- a/src/ft2_sample_saver.c +++ b/src/ft2_sample_saver.c @@ -1,556 +1,556 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include -#ifndef _WIN32 -#include // chdir() -#endif -#include "ft2_header.h" -#include "ft2_gui.h" -#include "ft2_sample_ed.h" -#include "ft2_diskop.h" -#include "ft2_mouse.h" - -typedef struct wavHeader_t -{ - uint32_t chunkID, chunkSize, format, subchunk1ID, subchunk1Size; - uint16_t audioFormat, numChannels; - uint32_t sampleRate, byteRate; - uint16_t blockAlign, bitsPerSample; - uint32_t subchunk2ID, subchunk2Size; -} wavHeader_t; - -typedef struct sampleLoop_t -{ - uint32_t dwIdentifier, dwType, dwStart, dwEnd, dwFraction, dwPlayCount; -} sampleLoop_t; - -typedef struct samplerChunk_t -{ - uint32_t chunkID, chunkSize, dwManufacturer, dwProduct, dwSamplePeriod; - uint32_t dwMIDIUnityNote, dwMIDIPitchFraction, dwSMPTEFormat; - uint32_t dwSMPTEOffset, cSampleLoops, cbSamplerData; - sampleLoop_t loop; -} samplerChunk_t; - -typedef struct mptExtraChunk_t -{ - uint32_t chunkID, chunkSize, flags; - uint16_t defaultPan, defaultVolume, globalVolume, reserved; - uint8_t vibratoType, vibratoSweep, vibratoDepth, vibratoRate; -} mptExtraChunk_t; - -static const char rangedDataStr[] = "Ranged data from FT2"; - -// thread data -static bool saveRangeFlag; -static SDL_Thread *thread; - -// used to restore mixer interpolation fix .RAW/.IFF/.WAV files after save -static bool fileRestoreSampleData(UNICHAR *filenameU, int32_t sampleDataOffset, sampleTyp *smp) -{ - int8_t fixSpar8; - FILE *f; - - if (!smp->fixed) - return false; // nothing to fix - - f = UNICHAR_FOPEN(filenameU, "r+"); // open in read+update mode - if (f == NULL) - return false; - - if (smp->typ & 16) - { - // 16-bit sample - if (smp->fixedPos < smp->len/2) - { - fseek(f, sampleDataOffset + (smp->fixedPos * 2), SEEK_SET); - fwrite(&smp->fixedSmp1, sizeof (int16_t), 1, f); - } - -#ifndef LERPMIX - if (smp->fixedPos+2 < smp->len/2) - { - fseek(f, sampleDataOffset + ((smp->fixedPos + 2) * 2), SEEK_SET); - fwrite(&smp->fixedSmp2, sizeof (int16_t), 1, f); - } -#endif - } - else - { - // 8-bit sample - if (smp->fixedPos < smp->len) - { - fseek(f, sampleDataOffset + smp->fixedPos, SEEK_SET); - - fixSpar8 = (int8_t)smp->fixedSmp1; - if (editor.sampleSaveMode == SMP_SAVE_MODE_WAV) // on 8-bit WAVs the sample data is unsigned - fixSpar8 ^= 0x80; - - fwrite(&fixSpar8, sizeof (int8_t), 1, f); - } - -#ifndef LERPMIX - if (smp->fixedPos+1 < smp->len) - { - fseek(f, sampleDataOffset + (smp->fixedPos + 1), SEEK_SET); - - fixSpar8 = (int8_t)smp->fixedSmp2; - if (editor.sampleSaveMode == SMP_SAVE_MODE_WAV) // on 8-bit WAVs the sample data is unsigned - fixSpar8 ^= 0x80; - - fwrite(&fixSpar8, sizeof (int8_t), 1, f); - } -#endif - } - - fclose(f); - return true; -} - -static bool saveRawSample(UNICHAR *filenameU, bool saveRangedData) -{ - int8_t *samplePtr; - uint32_t sampleLen; - FILE *f; - sampleTyp *smp; - - if (instr[editor.curInstr] == NULL || - instr[editor.curInstr]->samp[editor.curSmp].pek == NULL || - instr[editor.curInstr]->samp[editor.curSmp].len == 0) - { - okBoxThreadSafe(0, "System message", "Error saving sample: The sample is empty!"); - return false; - } - - smp = &instr[editor.curInstr]->samp[editor.curSmp]; - - if (saveRangedData) - { - samplePtr = &smp->pek[getSampleRangeStart()]; - sampleLen = getSampleRangeLength(); - } - else - { - sampleLen = smp->len; - samplePtr = smp->pek; - } - - f = UNICHAR_FOPEN(filenameU, "wb"); - if (f == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during saving! Is the file in use?"); - return false; - } - - if (fwrite(samplePtr, sampleLen, 1, f) != 1) - { - fclose(f); - okBoxThreadSafe(0, "System message", "Error saving sample: General I/O error!"); - return false; - } - - fclose(f); - - // restore mixer interpolation fix - fileRestoreSampleData(filenameU, 0, smp); - - editor.diskOpReadDir = true; // force diskop re-read - - setMouseBusy(false); - return true; -} - -static void iffWriteChunkHeader(FILE *f, char *chunkName, uint32_t chunkLen) -{ - fwrite(chunkName, sizeof (int32_t), 1, f); - chunkLen = SWAP32(chunkLen); - fwrite(&chunkLen, sizeof (int32_t), 1, f); -} - -static void iffWriteUint32(FILE *f, uint32_t value) -{ - value = SWAP32(value); - fwrite(&value, sizeof (int32_t), 1, f); -} - -static void iffWriteUint16(FILE *f, uint16_t value) -{ - value = SWAP16(value); - fwrite(&value, sizeof (int16_t), 1, f); -} - -static bool saveIFFSample(UNICHAR *filenameU, bool saveRangedData) -{ - char *smpNamePtr; - int8_t *samplePtr; - uint32_t sampleLen, smpNameLen, chunkLen, tmp32, sampleDataPos; - FILE *f; - sampleTyp *smp; - - if (instr[editor.curInstr] == NULL || - instr[editor.curInstr]->samp[editor.curSmp].pek == NULL || - instr[editor.curInstr]->samp[editor.curSmp].len == 0) - { - okBoxThreadSafe(0, "System message", "Error saving sample: The sample is empty!"); - return false; - } - - smp = &instr[editor.curInstr]->samp[editor.curSmp]; - - f = UNICHAR_FOPEN(filenameU, "wb"); - if (f == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during saving! Is the file in use?"); - return false; - } - - if (saveRangedData) - { - samplePtr = &smp->pek[getSampleRangeStart()]; - sampleLen = getSampleRangeLength(); - } - else - { - sampleLen = smp->len; - samplePtr = smp->pek; - } - - // "FORM" chunk - iffWriteChunkHeader(f, "FORM", 0); // "FORM" chunk size is overwritten later - iffWriteUint32(f, (smp->typ & 16) ? 0x31365356 : 0x38535658); // bitdepth - "16SV" (16-bit) or "8SVX" (8-bit) - - // "VHDR" chunk - iffWriteChunkHeader(f, "VHDR", 20); - - if (!saveRangedData && (smp->typ & 3)) // loop enabled? - { - iffWriteUint32(f, smp->repS); // oneShotHiSamples - iffWriteUint32(f, smp->repL); // repeatHiSamples - } - else - { - iffWriteUint32(f, 0); // oneShotHiSamples - iffWriteUint32(f, 0); // repeatHiSamples - } - - iffWriteUint32(f, 0); // samplesPerHiCycle - - // samplesPerSec - tmp32 = getSampleMiddleCRate(smp); - if (tmp32 == 0 || tmp32 > 65535) - tmp32 = 16726; - iffWriteUint16(f, tmp32 & 0xFFFF); - - fputc(1, f); // ctOctave (number of samples) - fputc(0, f); // sCompression - iffWriteUint32(f, smp->vol * 1024); // volume (max: 65536/0x10000) - - // "NAME" chunk - - if (saveRangedData) - { - smpNamePtr = (char *)rangedDataStr; - smpNameLen = (uint32_t)strlen(rangedDataStr); - } - else - { - smpNamePtr = smp->name; - - smpNameLen = 0; - while (smpNameLen < 22) - { - if (smpNamePtr[smpNameLen] == '\0') - break; - - smpNameLen++; - } - } - - if (smpNameLen > 0) - { - chunkLen = smpNameLen; - iffWriteChunkHeader(f, "NAME", chunkLen); - fwrite(smpNamePtr, 1, chunkLen, f); - if (chunkLen & 1) fputc(0, f); // write pad byte if chunk size is uneven - } - - // "ANNO" chunk (we put the program name here) - if (PROG_NAME_STR[0] != '\0') - { - chunkLen = sizeof (PROG_NAME_STR) - 1; - iffWriteChunkHeader(f, "ANNO", chunkLen); - fwrite(PROG_NAME_STR, 1, chunkLen, f); - if (chunkLen & 1) fputc(0, f); // write pad byte if chunk size is uneven - } - - // "BODY" chunk - chunkLen = sampleLen; - iffWriteChunkHeader(f, "BODY", chunkLen); - sampleDataPos = ftell(f); - fwrite(samplePtr, 1, chunkLen, f); - if (chunkLen & 1) fputc(0, f); // write pad byte if chunk size is uneven - - // go back and fill in "FORM" chunk size - tmp32 = ftell(f) - 8; - fseek(f, 4, SEEK_SET); - iffWriteUint32(f, tmp32); - - fclose(f); - - // restore mixer interpolation fix - fileRestoreSampleData(filenameU, sampleDataPos, smp); - - editor.diskOpReadDir = true; // force diskop re-read - - setMouseBusy(false); - return true; -} - -static bool saveWAVSample(UNICHAR *filenameU, bool saveRangedData) -{ - char *smpNamePtr; - int8_t *samplePtr; - uint8_t sampleBitDepth; - uint32_t i, sampleLen, riffChunkSize, smpNameLen, tmpLen, progNameLen, sampleDataPos; - FILE *f; - sampleTyp *smp; - instrTyp *ins; - wavHeader_t wavHeader; - samplerChunk_t samplerChunk; - mptExtraChunk_t mptExtraChunk; - - ins = instr[editor.curInstr]; - if (ins == NULL) - { - okBoxThreadSafe(0, "System message", "Error saving sample: The sample is empty!"); - return false; - } - - smp = &ins->samp[editor.curSmp]; - if (smp->pek == NULL || smp->len == 0) - { - okBoxThreadSafe(0, "System message", "Error saving sample: The sample is empty!"); - return false; - } - - f = UNICHAR_FOPEN(filenameU, "wb"); - if (f == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during saving! Is the file in use?"); - return false; - } - - if (saveRangedData) - { - samplePtr = &smp->pek[getSampleRangeStart()]; - sampleLen = getSampleRangeLength(); - } - else - { - sampleLen = smp->len; - samplePtr = smp->pek; - } - - sampleBitDepth = (smp->typ & 16) ? 16 : 8; - - wavHeader.chunkID = 0x46464952; // "RIFF" - wavHeader.chunkSize = 0; // is filled later - wavHeader.format = 0x45564157; // "WAVE" - wavHeader.subchunk1ID = 0x20746D66; // "fmt " - wavHeader.subchunk1Size = 16; - wavHeader.audioFormat = 1; - wavHeader.numChannels = 1; - wavHeader.sampleRate = getSampleMiddleCRate(smp); - wavHeader.byteRate = (wavHeader.sampleRate * wavHeader.numChannels * sampleBitDepth) / 8; - wavHeader.blockAlign = (wavHeader.numChannels * sampleBitDepth) / 8; - wavHeader.bitsPerSample = sampleBitDepth; - wavHeader.subchunk2ID = 0x61746164; // "data" - wavHeader.subchunk2Size = sampleLen; - - // write main header - fwrite(&wavHeader, sizeof (wavHeader_t), 1, f); - - // write sample data - sampleDataPos = ftell(f); - if (sampleBitDepth == 16) - { - fwrite((int16_t *)samplePtr, sizeof (int16_t), sampleLen / 2, f); - } - else - { - for (i = 0; i < sampleLen; i++) - fputc(samplePtr[i] ^ 0x80, f); // write as unsigned 8-bit data - } - - if (wavHeader.subchunk2Size & 1) - fputc(0, f); // write pad byte if chunk size is uneven - - // write "smpl" chunk if loop is enabled - if (!saveRangedData && (smp->typ & 3)) - { - memset(&samplerChunk, 0, sizeof (samplerChunk)); - - samplerChunk.chunkID = 0x6C706D73; // "smpl" - samplerChunk.chunkSize = sizeof (samplerChunk) - 4 - 4; - samplerChunk.dwSamplePeriod = 1000000000 / wavHeader.sampleRate; - samplerChunk.dwMIDIUnityNote = 60; // 60 = C-4 - samplerChunk.cSampleLoops = 1; - samplerChunk.loop.dwType = (smp->typ & 3) - 1; // 0 = forward, 1 = ping-pong - - if (sampleBitDepth == 16) - { - // divide loop points by 2 to get samples insetad of bytes - samplerChunk.loop.dwStart = smp->repS / 2; - samplerChunk.loop.dwEnd = ((smp->repS + smp->repL) / 2) - 1; - } - else - { - // 8-bit sample - samplerChunk.loop.dwStart = smp->repS; - samplerChunk.loop.dwEnd = (smp->repS + smp->repL) - 1; - } - - fwrite(&samplerChunk, sizeof (samplerChunk), 1, f); - if (samplerChunk.chunkSize & 1) - fputc(0, f); // write pad byte if chunk size is uneven - } - - // write modplug tracker "xtra" chunk - if (!saveRangedData) - { - memset(&mptExtraChunk, 0, sizeof (mptExtraChunk)); - - mptExtraChunk.chunkID = 0x61727478; // "xtra" - mptExtraChunk.chunkSize = sizeof (mptExtraChunk) - 4 - 4; - mptExtraChunk.flags = 0x20; // set pan flag - used when loading .WAVs in OpenMPT - mptExtraChunk.defaultPan = smp->pan; // 0..255 - mptExtraChunk.defaultVolume = smp->vol * 4; // 0..256 - mptExtraChunk.globalVolume = 64; // 0..64 - mptExtraChunk.vibratoType = ins->vibTyp; // 0..3 0 = sine, 1 = square, 2 = ramp up, 3 = ramp down - mptExtraChunk.vibratoSweep = ins->vibSweep; // 0..255 - mptExtraChunk.vibratoDepth = ins->vibDepth; // 0..15 - mptExtraChunk.vibratoRate= ins->vibRate; // 0..63 - - fwrite(&mptExtraChunk, sizeof (mptExtraChunk), 1, f); - if (mptExtraChunk.chunkSize & 1) - fputc(0, f); // write pad byte if chunk size is uneven - } - - // write LIST->INFO->INAM chunk - - if (saveRangedData) - { - smpNamePtr = (char *)rangedDataStr; - smpNameLen = (uint32_t)strlen(smpNamePtr); - } - else - { - smpNamePtr = smp->name; - - smpNameLen = 0; - while (smpNameLen < 22) - { - if (smpNamePtr[smpNameLen] == '\0') - break; - - smpNameLen++; - } - } - - progNameLen = sizeof (PROG_NAME_STR) - 1; - - tmpLen = 4 + (4 + 4) + (progNameLen + 1 + ((progNameLen + 1) & 1)); - if (smpNameLen > 0) - tmpLen += ((4 + 4) + (progNameLen + 1 + ((progNameLen + 1) & 1))); - - fwrite("LIST", sizeof (int32_t), 1, f); - fwrite(&tmpLen, sizeof (int32_t), 1, f); - fwrite("INFO", sizeof (int32_t), 1, f); - - if (smpNameLen > 0) - { - tmpLen = smpNameLen + 1; - fwrite("INAM", sizeof (int32_t), 1, f); - fwrite(&tmpLen, sizeof (int32_t), 1, f); - fwrite(smpNamePtr, 1, smpNameLen, f); - fputc(0, f); // string termination - if (tmpLen & 1) - fputc(0, f); // pad byte - } - - tmpLen = progNameLen + 1; - fwrite("ISFT", sizeof (int32_t), 1, f); - fwrite(&tmpLen, sizeof (int32_t), 1, f); - fwrite(PROG_NAME_STR, 1, progNameLen, f); - fputc(0, f); // string termination - if (tmpLen & 1) - fputc(0, f); // pad byte - - // go back and fill in "RIFF" chunk size - riffChunkSize = ftell(f) - 8; - fseek(f, 4, SEEK_SET); - fwrite(&riffChunkSize, sizeof (int32_t), 1, f); - - fclose(f); - - // restore mixer interpolation fix - fileRestoreSampleData(filenameU, sampleDataPos, smp); - - editor.diskOpReadDir = true; // force diskop re-read - - setMouseBusy(false); - return true; -} - -static int32_t SDLCALL saveSampleThread(void *ptr) -{ - const UNICHAR *oldPathU; - - (void)ptr; - - if (editor.tmpFilenameU == NULL) - { - okBoxThreadSafe(0, "System message", "General I/O error during saving! Is the file in use?"); - return false; - } - - oldPathU = getDiskOpCurPath(); - - // in "save range mode", we must enter the sample directory - if (saveRangeFlag) - UNICHAR_CHDIR(getDiskOpSmpPath()); - - switch (editor.sampleSaveMode) - { - case SMP_SAVE_MODE_RAW: saveRawSample(editor.tmpFilenameU, saveRangeFlag); break; - case SMP_SAVE_MODE_IFF: saveIFFSample(editor.tmpFilenameU, saveRangeFlag); break; - default: case SMP_SAVE_MODE_WAV: saveWAVSample(editor.tmpFilenameU, saveRangeFlag); break; - } - - // set back old working directory if we changed it - if (saveRangeFlag) - UNICHAR_CHDIR(oldPathU); - - return true; -} - -void saveSample(UNICHAR *filenameU, bool saveAsRange) -{ - saveRangeFlag = saveAsRange; - UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); - - mouseAnimOn(); - thread = SDL_CreateThread(saveSampleThread, NULL, NULL); - if (thread == NULL) - { - okBoxThreadSafe(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include +#ifndef _WIN32 +#include // chdir() +#endif +#include "ft2_header.h" +#include "ft2_gui.h" +#include "ft2_sample_ed.h" +#include "ft2_diskop.h" +#include "ft2_mouse.h" + +typedef struct wavHeader_t +{ + uint32_t chunkID, chunkSize, format, subchunk1ID, subchunk1Size; + uint16_t audioFormat, numChannels; + uint32_t sampleRate, byteRate; + uint16_t blockAlign, bitsPerSample; + uint32_t subchunk2ID, subchunk2Size; +} wavHeader_t; + +typedef struct sampleLoop_t +{ + uint32_t dwIdentifier, dwType, dwStart, dwEnd, dwFraction, dwPlayCount; +} sampleLoop_t; + +typedef struct samplerChunk_t +{ + uint32_t chunkID, chunkSize, dwManufacturer, dwProduct, dwSamplePeriod; + uint32_t dwMIDIUnityNote, dwMIDIPitchFraction, dwSMPTEFormat; + uint32_t dwSMPTEOffset, cSampleLoops, cbSamplerData; + sampleLoop_t loop; +} samplerChunk_t; + +typedef struct mptExtraChunk_t +{ + uint32_t chunkID, chunkSize, flags; + uint16_t defaultPan, defaultVolume, globalVolume, reserved; + uint8_t vibratoType, vibratoSweep, vibratoDepth, vibratoRate; +} mptExtraChunk_t; + +static const char rangedDataStr[] = "Ranged data from FT2"; + +// thread data +static bool saveRangeFlag; +static SDL_Thread *thread; + +// used to restore mixer interpolation fix .RAW/.IFF/.WAV files after save +static bool fileRestoreSampleData(UNICHAR *filenameU, int32_t sampleDataOffset, sampleTyp *smp) +{ + int8_t fixSpar8; + FILE *f; + + if (!smp->fixed) + return false; // nothing to fix + + f = UNICHAR_FOPEN(filenameU, "r+"); // open in read+update mode + if (f == NULL) + return false; + + if (smp->typ & 16) + { + // 16-bit sample + if (smp->fixedPos < smp->len/2) + { + fseek(f, sampleDataOffset + (smp->fixedPos * 2), SEEK_SET); + fwrite(&smp->fixedSmp1, sizeof (int16_t), 1, f); + } + +#ifndef LERPMIX + if (smp->fixedPos+2 < smp->len/2) + { + fseek(f, sampleDataOffset + ((smp->fixedPos + 2) * 2), SEEK_SET); + fwrite(&smp->fixedSmp2, sizeof (int16_t), 1, f); + } +#endif + } + else + { + // 8-bit sample + if (smp->fixedPos < smp->len) + { + fseek(f, sampleDataOffset + smp->fixedPos, SEEK_SET); + + fixSpar8 = (int8_t)smp->fixedSmp1; + if (editor.sampleSaveMode == SMP_SAVE_MODE_WAV) // on 8-bit WAVs the sample data is unsigned + fixSpar8 ^= 0x80; + + fwrite(&fixSpar8, sizeof (int8_t), 1, f); + } + +#ifndef LERPMIX + if (smp->fixedPos+1 < smp->len) + { + fseek(f, sampleDataOffset + (smp->fixedPos + 1), SEEK_SET); + + fixSpar8 = (int8_t)smp->fixedSmp2; + if (editor.sampleSaveMode == SMP_SAVE_MODE_WAV) // on 8-bit WAVs the sample data is unsigned + fixSpar8 ^= 0x80; + + fwrite(&fixSpar8, sizeof (int8_t), 1, f); + } +#endif + } + + fclose(f); + return true; +} + +static bool saveRawSample(UNICHAR *filenameU, bool saveRangedData) +{ + int8_t *samplePtr; + uint32_t sampleLen; + FILE *f; + sampleTyp *smp; + + if (instr[editor.curInstr] == NULL || + instr[editor.curInstr]->samp[editor.curSmp].pek == NULL || + instr[editor.curInstr]->samp[editor.curSmp].len == 0) + { + okBoxThreadSafe(0, "System message", "Error saving sample: The sample is empty!"); + return false; + } + + smp = &instr[editor.curInstr]->samp[editor.curSmp]; + + if (saveRangedData) + { + samplePtr = &smp->pek[getSampleRangeStart()]; + sampleLen = getSampleRangeLength(); + } + else + { + sampleLen = smp->len; + samplePtr = smp->pek; + } + + f = UNICHAR_FOPEN(filenameU, "wb"); + if (f == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during saving! Is the file in use?"); + return false; + } + + if (fwrite(samplePtr, sampleLen, 1, f) != 1) + { + fclose(f); + okBoxThreadSafe(0, "System message", "Error saving sample: General I/O error!"); + return false; + } + + fclose(f); + + // restore mixer interpolation fix + fileRestoreSampleData(filenameU, 0, smp); + + editor.diskOpReadDir = true; // force diskop re-read + + setMouseBusy(false); + return true; +} + +static void iffWriteChunkHeader(FILE *f, char *chunkName, uint32_t chunkLen) +{ + fwrite(chunkName, sizeof (int32_t), 1, f); + chunkLen = SWAP32(chunkLen); + fwrite(&chunkLen, sizeof (int32_t), 1, f); +} + +static void iffWriteUint32(FILE *f, uint32_t value) +{ + value = SWAP32(value); + fwrite(&value, sizeof (int32_t), 1, f); +} + +static void iffWriteUint16(FILE *f, uint16_t value) +{ + value = SWAP16(value); + fwrite(&value, sizeof (int16_t), 1, f); +} + +static bool saveIFFSample(UNICHAR *filenameU, bool saveRangedData) +{ + char *smpNamePtr; + int8_t *samplePtr; + uint32_t sampleLen, smpNameLen, chunkLen, tmp32, sampleDataPos; + FILE *f; + sampleTyp *smp; + + if (instr[editor.curInstr] == NULL || + instr[editor.curInstr]->samp[editor.curSmp].pek == NULL || + instr[editor.curInstr]->samp[editor.curSmp].len == 0) + { + okBoxThreadSafe(0, "System message", "Error saving sample: The sample is empty!"); + return false; + } + + smp = &instr[editor.curInstr]->samp[editor.curSmp]; + + f = UNICHAR_FOPEN(filenameU, "wb"); + if (f == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during saving! Is the file in use?"); + return false; + } + + if (saveRangedData) + { + samplePtr = &smp->pek[getSampleRangeStart()]; + sampleLen = getSampleRangeLength(); + } + else + { + sampleLen = smp->len; + samplePtr = smp->pek; + } + + // "FORM" chunk + iffWriteChunkHeader(f, "FORM", 0); // "FORM" chunk size is overwritten later + iffWriteUint32(f, (smp->typ & 16) ? 0x31365356 : 0x38535658); // bitdepth - "16SV" (16-bit) or "8SVX" (8-bit) + + // "VHDR" chunk + iffWriteChunkHeader(f, "VHDR", 20); + + if (!saveRangedData && (smp->typ & 3)) // loop enabled? + { + iffWriteUint32(f, smp->repS); // oneShotHiSamples + iffWriteUint32(f, smp->repL); // repeatHiSamples + } + else + { + iffWriteUint32(f, 0); // oneShotHiSamples + iffWriteUint32(f, 0); // repeatHiSamples + } + + iffWriteUint32(f, 0); // samplesPerHiCycle + + // samplesPerSec + tmp32 = getSampleMiddleCRate(smp); + if (tmp32 == 0 || tmp32 > 65535) + tmp32 = 16726; + iffWriteUint16(f, tmp32 & 0xFFFF); + + fputc(1, f); // ctOctave (number of samples) + fputc(0, f); // sCompression + iffWriteUint32(f, smp->vol * 1024); // volume (max: 65536/0x10000) + + // "NAME" chunk + + if (saveRangedData) + { + smpNamePtr = (char *)rangedDataStr; + smpNameLen = (uint32_t)strlen(rangedDataStr); + } + else + { + smpNamePtr = smp->name; + + smpNameLen = 0; + while (smpNameLen < 22) + { + if (smpNamePtr[smpNameLen] == '\0') + break; + + smpNameLen++; + } + } + + if (smpNameLen > 0) + { + chunkLen = smpNameLen; + iffWriteChunkHeader(f, "NAME", chunkLen); + fwrite(smpNamePtr, 1, chunkLen, f); + if (chunkLen & 1) fputc(0, f); // write pad byte if chunk size is uneven + } + + // "ANNO" chunk (we put the program name here) + if (PROG_NAME_STR[0] != '\0') + { + chunkLen = sizeof (PROG_NAME_STR) - 1; + iffWriteChunkHeader(f, "ANNO", chunkLen); + fwrite(PROG_NAME_STR, 1, chunkLen, f); + if (chunkLen & 1) fputc(0, f); // write pad byte if chunk size is uneven + } + + // "BODY" chunk + chunkLen = sampleLen; + iffWriteChunkHeader(f, "BODY", chunkLen); + sampleDataPos = ftell(f); + fwrite(samplePtr, 1, chunkLen, f); + if (chunkLen & 1) fputc(0, f); // write pad byte if chunk size is uneven + + // go back and fill in "FORM" chunk size + tmp32 = ftell(f) - 8; + fseek(f, 4, SEEK_SET); + iffWriteUint32(f, tmp32); + + fclose(f); + + // restore mixer interpolation fix + fileRestoreSampleData(filenameU, sampleDataPos, smp); + + editor.diskOpReadDir = true; // force diskop re-read + + setMouseBusy(false); + return true; +} + +static bool saveWAVSample(UNICHAR *filenameU, bool saveRangedData) +{ + char *smpNamePtr; + int8_t *samplePtr; + uint8_t sampleBitDepth; + uint32_t i, sampleLen, riffChunkSize, smpNameLen, tmpLen, progNameLen, sampleDataPos; + FILE *f; + sampleTyp *smp; + instrTyp *ins; + wavHeader_t wavHeader; + samplerChunk_t samplerChunk; + mptExtraChunk_t mptExtraChunk; + + ins = instr[editor.curInstr]; + if (ins == NULL) + { + okBoxThreadSafe(0, "System message", "Error saving sample: The sample is empty!"); + return false; + } + + smp = &ins->samp[editor.curSmp]; + if (smp->pek == NULL || smp->len == 0) + { + okBoxThreadSafe(0, "System message", "Error saving sample: The sample is empty!"); + return false; + } + + f = UNICHAR_FOPEN(filenameU, "wb"); + if (f == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during saving! Is the file in use?"); + return false; + } + + if (saveRangedData) + { + samplePtr = &smp->pek[getSampleRangeStart()]; + sampleLen = getSampleRangeLength(); + } + else + { + sampleLen = smp->len; + samplePtr = smp->pek; + } + + sampleBitDepth = (smp->typ & 16) ? 16 : 8; + + wavHeader.chunkID = 0x46464952; // "RIFF" + wavHeader.chunkSize = 0; // is filled later + wavHeader.format = 0x45564157; // "WAVE" + wavHeader.subchunk1ID = 0x20746D66; // "fmt " + wavHeader.subchunk1Size = 16; + wavHeader.audioFormat = 1; + wavHeader.numChannels = 1; + wavHeader.sampleRate = getSampleMiddleCRate(smp); + wavHeader.byteRate = (wavHeader.sampleRate * wavHeader.numChannels * sampleBitDepth) / 8; + wavHeader.blockAlign = (wavHeader.numChannels * sampleBitDepth) / 8; + wavHeader.bitsPerSample = sampleBitDepth; + wavHeader.subchunk2ID = 0x61746164; // "data" + wavHeader.subchunk2Size = sampleLen; + + // write main header + fwrite(&wavHeader, sizeof (wavHeader_t), 1, f); + + // write sample data + sampleDataPos = ftell(f); + if (sampleBitDepth == 16) + { + fwrite((int16_t *)samplePtr, sizeof (int16_t), sampleLen / 2, f); + } + else + { + for (i = 0; i < sampleLen; i++) + fputc(samplePtr[i] ^ 0x80, f); // write as unsigned 8-bit data + } + + if (wavHeader.subchunk2Size & 1) + fputc(0, f); // write pad byte if chunk size is uneven + + // write "smpl" chunk if loop is enabled + if (!saveRangedData && (smp->typ & 3)) + { + memset(&samplerChunk, 0, sizeof (samplerChunk)); + + samplerChunk.chunkID = 0x6C706D73; // "smpl" + samplerChunk.chunkSize = sizeof (samplerChunk) - 4 - 4; + samplerChunk.dwSamplePeriod = 1000000000 / wavHeader.sampleRate; + samplerChunk.dwMIDIUnityNote = 60; // 60 = C-4 + samplerChunk.cSampleLoops = 1; + samplerChunk.loop.dwType = (smp->typ & 3) - 1; // 0 = forward, 1 = ping-pong + + if (sampleBitDepth == 16) + { + // divide loop points by 2 to get samples insetad of bytes + samplerChunk.loop.dwStart = smp->repS / 2; + samplerChunk.loop.dwEnd = ((smp->repS + smp->repL) / 2) - 1; + } + else + { + // 8-bit sample + samplerChunk.loop.dwStart = smp->repS; + samplerChunk.loop.dwEnd = (smp->repS + smp->repL) - 1; + } + + fwrite(&samplerChunk, sizeof (samplerChunk), 1, f); + if (samplerChunk.chunkSize & 1) + fputc(0, f); // write pad byte if chunk size is uneven + } + + // write modplug tracker "xtra" chunk + if (!saveRangedData) + { + memset(&mptExtraChunk, 0, sizeof (mptExtraChunk)); + + mptExtraChunk.chunkID = 0x61727478; // "xtra" + mptExtraChunk.chunkSize = sizeof (mptExtraChunk) - 4 - 4; + mptExtraChunk.flags = 0x20; // set pan flag - used when loading .WAVs in OpenMPT + mptExtraChunk.defaultPan = smp->pan; // 0..255 + mptExtraChunk.defaultVolume = smp->vol * 4; // 0..256 + mptExtraChunk.globalVolume = 64; // 0..64 + mptExtraChunk.vibratoType = ins->vibTyp; // 0..3 0 = sine, 1 = square, 2 = ramp up, 3 = ramp down + mptExtraChunk.vibratoSweep = ins->vibSweep; // 0..255 + mptExtraChunk.vibratoDepth = ins->vibDepth; // 0..15 + mptExtraChunk.vibratoRate= ins->vibRate; // 0..63 + + fwrite(&mptExtraChunk, sizeof (mptExtraChunk), 1, f); + if (mptExtraChunk.chunkSize & 1) + fputc(0, f); // write pad byte if chunk size is uneven + } + + // write LIST->INFO->INAM chunk + + if (saveRangedData) + { + smpNamePtr = (char *)rangedDataStr; + smpNameLen = (uint32_t)strlen(smpNamePtr); + } + else + { + smpNamePtr = smp->name; + + smpNameLen = 0; + while (smpNameLen < 22) + { + if (smpNamePtr[smpNameLen] == '\0') + break; + + smpNameLen++; + } + } + + progNameLen = sizeof (PROG_NAME_STR) - 1; + + tmpLen = 4 + (4 + 4) + (progNameLen + 1 + ((progNameLen + 1) & 1)); + if (smpNameLen > 0) + tmpLen += ((4 + 4) + (progNameLen + 1 + ((progNameLen + 1) & 1))); + + fwrite("LIST", sizeof (int32_t), 1, f); + fwrite(&tmpLen, sizeof (int32_t), 1, f); + fwrite("INFO", sizeof (int32_t), 1, f); + + if (smpNameLen > 0) + { + tmpLen = smpNameLen + 1; + fwrite("INAM", sizeof (int32_t), 1, f); + fwrite(&tmpLen, sizeof (int32_t), 1, f); + fwrite(smpNamePtr, 1, smpNameLen, f); + fputc(0, f); // string termination + if (tmpLen & 1) + fputc(0, f); // pad byte + } + + tmpLen = progNameLen + 1; + fwrite("ISFT", sizeof (int32_t), 1, f); + fwrite(&tmpLen, sizeof (int32_t), 1, f); + fwrite(PROG_NAME_STR, 1, progNameLen, f); + fputc(0, f); // string termination + if (tmpLen & 1) + fputc(0, f); // pad byte + + // go back and fill in "RIFF" chunk size + riffChunkSize = ftell(f) - 8; + fseek(f, 4, SEEK_SET); + fwrite(&riffChunkSize, sizeof (int32_t), 1, f); + + fclose(f); + + // restore mixer interpolation fix + fileRestoreSampleData(filenameU, sampleDataPos, smp); + + editor.diskOpReadDir = true; // force diskop re-read + + setMouseBusy(false); + return true; +} + +static int32_t SDLCALL saveSampleThread(void *ptr) +{ + const UNICHAR *oldPathU; + + (void)ptr; + + if (editor.tmpFilenameU == NULL) + { + okBoxThreadSafe(0, "System message", "General I/O error during saving! Is the file in use?"); + return false; + } + + oldPathU = getDiskOpCurPath(); + + // in "save range mode", we must enter the sample directory + if (saveRangeFlag) + UNICHAR_CHDIR(getDiskOpSmpPath()); + + switch (editor.sampleSaveMode) + { + case SMP_SAVE_MODE_RAW: saveRawSample(editor.tmpFilenameU, saveRangeFlag); break; + case SMP_SAVE_MODE_IFF: saveIFFSample(editor.tmpFilenameU, saveRangeFlag); break; + default: case SMP_SAVE_MODE_WAV: saveWAVSample(editor.tmpFilenameU, saveRangeFlag); break; + } + + // set back old working directory if we changed it + if (saveRangeFlag) + UNICHAR_CHDIR(oldPathU); + + return true; +} + +void saveSample(UNICHAR *filenameU, bool saveAsRange) +{ + saveRangeFlag = saveAsRange; + UNICHAR_STRCPY(editor.tmpFilenameU, filenameU); + + mouseAnimOn(); + thread = SDL_CreateThread(saveSampleThread, NULL, NULL); + if (thread == NULL) + { + okBoxThreadSafe(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} diff --git a/src/ft2_sample_saver.h b/src/ft2_sample_saver.h index b0b4816..e262939 100644 --- a/src/ft2_sample_saver.h +++ b/src/ft2_sample_saver.h @@ -1,13 +1,13 @@ -#pragma once - -#include -#include -#include "ft2_unicode.h" - -enum -{ - SAVE_NORMAL = 0, - SAVE_RANGE = 1 -}; - -void saveSample(UNICHAR *filenameU, bool saveAsRange); +#pragma once + +#include +#include +#include "ft2_unicode.h" + +enum +{ + SAVE_NORMAL = 0, + SAVE_RANGE = 1 +}; + +void saveSample(UNICHAR *filenameU, bool saveAsRange); diff --git a/src/ft2_sampling.c b/src/ft2_sampling.c index 38b0654..9212eb8 100644 --- a/src/ft2_sampling.c +++ b/src/ft2_sampling.c @@ -1,434 +1,457 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include "ft2_gui.h" -#include "ft2_mouse.h" -#include "ft2_sample_ed.h" -#include "ft2_video.h" - -// these may very well change after opening the audio input device -#define SAMPLING_BUFFER_SIZE 2048 -#define SAMPLING_FREQUENCY 44100 - -static bool sampleInStereo; -static volatile bool drawSamplingBufferFlag, outOfMemoryFlag, noMoreRoomFlag; -static int16_t *currWriteBuf; -static int16_t displayBuffer1[SAMPLING_BUFFER_SIZE * 2], displayBuffer2[SAMPLING_BUFFER_SIZE * 2]; -static int32_t bytesSampled, samplingBufferBytes; -static volatile int32_t currSampleLen; -static SDL_AudioDeviceID recordDev; -static int16_t rightChSmpSlot = -1; - -static void SDLCALL samplingCallback(void *userdata, Uint8 *stream, int len) -{ - int8_t *newPtr; - sampleTyp *s; - - (void)userdata; - - if (instr[editor.curInstr] == NULL || len < 0 || len > samplingBufferBytes) - return; - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - newPtr = (int8_t *)realloc(s->pek, s->len + len); - if (newPtr == NULL) - { - drawSamplingBufferFlag = false; - outOfMemoryFlag = true; - return; - } - - s->pek = newPtr; - memcpy(&s->pek[s->len], stream, len); - - s->len += len; - if (s->len > MAX_SAMPLE_LEN) // length overflow - { - s->len -= len; - noMoreRoomFlag = true; - return; - } - - bytesSampled += len; - if (bytesSampled >= samplingBufferBytes) - { - bytesSampled -= samplingBufferBytes; - - currSampleLen = s->len - samplingBufferBytes; - - // fill display buffer - memcpy(currWriteBuf, &s->pek[currSampleLen], samplingBufferBytes); - - // swap write buffer (double-buffering) - if (currWriteBuf == displayBuffer1) - currWriteBuf = displayBuffer2; - else - currWriteBuf = displayBuffer1; - - drawSamplingBufferFlag = true; - } -} - -void stopSampling(void) -{ - int8_t *newPtr; - int16_t *dst16, *src16; - int32_t i, len; - sampleTyp *currSmp, *nextSmp; - - resumeAudio(); - mouseAnimOff(); - - SDL_CloseAudioDevice(recordDev); - editor.samplingAudioFlag = false; - - currSmp = NULL; - nextSmp = NULL; - - if (instr[editor.curInstr] != NULL) - currSmp = &instr[editor.curInstr]->samp[editor.curSmp]; - - if (sampleInStereo) - { - // read right channel data - - if (currSmp->pek != NULL && rightChSmpSlot != -1) - { - nextSmp = &instr[editor.curInstr]->samp[rightChSmpSlot]; - - nextSmp->pek = (int8_t *)malloc((currSmp->len / 2) + LOOP_FIX_LEN); - if (nextSmp->pek != NULL) - { - nextSmp->len = currSmp->len / 2; - - src16 = (int16_t *)currSmp->pek; - dst16 = (int16_t *)nextSmp->pek; - - len = nextSmp->len / 2; - for (i = 0; i < len; i++) - dst16[i] = src16[(i << 1) + 1]; - } - else - { - freeSample(editor.curInstr, rightChSmpSlot); - } - - currSmp->len /= 2; - - // read left channel data by skipping every other sample - - dst16 = (int16_t *)currSmp->pek; - - len = currSmp->len / 2; - for (i = 0; i < len; i++) - dst16[i] = dst16[i << 1]; - } - } - - if (currSmp->pek != NULL) - { - newPtr = (int8_t *)realloc(currSmp->pek, currSmp->len + LOOP_FIX_LEN); - if (newPtr != NULL) - currSmp->pek = newPtr; - } - else - { - freeSample(editor.curInstr, editor.curSmp); - } - - updateSampleEditorSample(); - editor.updateCurInstr = true; -} - -static uint8_t getDispBuffPeakMono(const int16_t *smpData, int32_t smpNum) -{ - int16_t smp16; - uint32_t smpAbs, max; - int32_t i; - - max = 0; - for (i = 0; i < smpNum; i++) - { - smp16 = smpData[i]; - - smpAbs = ABS(smp16); - if (smpAbs > max) - max = smpAbs; - } - - max = (max * SAMPLE_AREA_HEIGHT) >> 16; - if (max > 76) - max = 76; - - return (uint8_t)max; -} - -static uint8_t getDispBuffPeakLeft(const int16_t *smpData, int32_t smpNum) -{ - int16_t smp16; - uint32_t smpAbs, max; - int32_t i; - - smpNum <<= 1; - - max = 0; - for (i = 0; i < smpNum; i += 2) - { - smp16 = smpData[i]; - - smpAbs = ABS(smp16); - if (smpAbs > max) - max = smpAbs; - } - - max = (max * SAMPLE_AREA_HEIGHT) >> (16 + 1); - if (max > 38) - max = 38; - - return (uint8_t)max; -} - -static uint8_t getDispBuffPeakRight(const int16_t *smpData, int32_t smpNum) -{ - int16_t smp16; - uint32_t smpAbs, max; - int32_t i; - - smpNum <<= 1; - - max = 0; - for (i = 0; i < smpNum; i += 2) - { - smp16 = smpData[i]; - - smpAbs = ABS(smp16); - if (smpAbs > max) - max = smpAbs; - } - - max = (max * SAMPLE_AREA_HEIGHT) >> (16 + 1); - if (max > 38) - max = 38; - - return (uint8_t)max; -} - -static inline int32_t scrPos2SmpBufPos(int32_t x) // x = 0..SAMPLE_AREA_WIDTH -{ - return (x * ((SAMPLING_BUFFER_SIZE << 16) / SAMPLE_AREA_WIDTH)) >> 16; -} - -static void drawSamplingPreview(void) -{ - uint8_t smpAbs; - int16_t *readBuf; - uint16_t x; - int32_t smpIdx, smpNum; - uint32_t *centerPtrL, *centerPtrR, pixVal; - -#define SAMPLEL_AREA_Y_CENTER 250 - - pixVal = video.palette[PAL_PATTEXT]; - - // select buffer currently not being written to (double-buffering) - if (currWriteBuf == displayBuffer1) - readBuf = displayBuffer2; - else - readBuf = displayBuffer1; - - if (sampleInStereo) - { - // stereo sampling - - const uint16_t centerL = SAMPLE_AREA_Y_CENTER - (SAMPLE_AREA_HEIGHT / 4); - const uint16_t centerR = SAMPLE_AREA_Y_CENTER + (SAMPLE_AREA_HEIGHT / 4); - - centerPtrL = &video.frameBuffer[centerL*SCREEN_W]; - centerPtrR = &video.frameBuffer[centerR*SCREEN_W]; - - for (x = 0; x < SAMPLE_AREA_WIDTH; x++) - { - smpIdx = scrPos2SmpBufPos(x); - smpNum = scrPos2SmpBufPos(x+1) - smpIdx; - - if (smpIdx+smpNum >= SAMPLING_BUFFER_SIZE) - smpNum = SAMPLING_BUFFER_SIZE - smpIdx; - - // left channel samples - smpAbs = getDispBuffPeakLeft(&readBuf[(smpIdx * 2) + 0], smpNum); - if (smpAbs == 0) - centerPtrL[x] = pixVal; - else - vLine(x, centerL - smpAbs, (smpAbs * 2) + 1, PAL_PATTEXT); - - // right channel samples - smpAbs = getDispBuffPeakRight(&readBuf[(smpIdx * 2) + 1], smpNum); - if (smpAbs == 0) - centerPtrR[x] = pixVal; - else - vLine(x, centerR - smpAbs, (smpAbs * 2) + 1, PAL_PATTEXT); - } - } - else - { - // mono sampling - - centerPtrL = &video.frameBuffer[SAMPLE_AREA_Y_CENTER * SCREEN_W]; - - for (x = 0; x < SAMPLE_AREA_WIDTH; x++) - { - smpIdx = scrPos2SmpBufPos(x); - smpNum = scrPos2SmpBufPos(x+1) - smpIdx; - - if (smpIdx+smpNum >= SAMPLING_BUFFER_SIZE) - smpNum = SAMPLING_BUFFER_SIZE - smpIdx; - - smpAbs = getDispBuffPeakMono(&readBuf[smpIdx], smpNum); - if (smpAbs == 0) - centerPtrL[x] = pixVal; - else - vLine(x, SAMPLE_AREA_Y_CENTER - smpAbs, (smpAbs * 2) + 1, PAL_PATTEXT); - } - } -} - -void handleSamplingUpdates(void) -{ - if (outOfMemoryFlag) - { - outOfMemoryFlag = false; - stopSampling(); - okBox(0, "System message", "Not enough memory!"); - return; - } - - if (noMoreRoomFlag) - { - noMoreRoomFlag = false; - stopSampling(); - okBox(0, "System message", "Not more room in sample!"); - return; - } - - if (drawSamplingBufferFlag) - { - drawSamplingBufferFlag = false; - - // clear sample data area - memset(&video.frameBuffer[174 * SCREEN_W], 0, SAMPLE_AREA_WIDTH * SAMPLE_AREA_HEIGHT * sizeof (int32_t)); - - drawSamplingPreview(); - - // clear and draw new sample length number - fillRect(536, 362, 56, 10, PAL_DESKTOP); - - if (sampleInStereo) - hexOut(536, 362, PAL_FORGRND, currSampleLen >> 1, 8); - else - hexOut(536, 362, PAL_FORGRND, currSampleLen, 8); - } -} - -void startSampling(void) -{ - int16_t result; - -#if SDL_PATCHLEVEL < 5 - okBox(2, "System message", "This program needs to be compiled with SDL 2.0.5 or later to support audio sampling."); - return; -#else - SDL_AudioSpec want, have; - sampleTyp *s, *nextSmp; - - if (editor.samplingAudioFlag || editor.curInstr == 0) - return; - - result = okBox(9, "System request", "Stereo sampling will use the next sample slot. While ongoing, press any key to stop. "); - if (result == 0 || result == 3) - return; - - sampleInStereo = (result == 2); - samplingBufferBytes = sampleInStereo ? (SAMPLING_BUFFER_SIZE * 4) : (SAMPLING_BUFFER_SIZE * 2); - - mouseAnimOn(); - - memset(&want, 0, sizeof (SDL_AudioSpec)); - want.freq = SAMPLING_FREQUENCY; - want.format = AUDIO_S16; - want.channels = 1 + sampleInStereo; - want.callback = samplingCallback; - want.userdata = NULL; - want.samples = SAMPLING_BUFFER_SIZE; - - recordDev = SDL_OpenAudioDevice(audio.currInputDevice, true, &want, &have, SDL_AUDIO_ALLOW_FREQUENCY_CHANGE); - if (recordDev == 0) - { - okBox(0, "System message", "Couldn't open audio input device."); - return; - } - - pauseAudio(); - - if (instr[editor.curInstr] == NULL && !allocateInstr(editor.curInstr)) - { - resumeAudio(); - okBox(0, "System message", "Not enough memory!"); - return; - } - - s = &instr[editor.curInstr]->samp[editor.curSmp]; - - // wipe current sample and prepare it - freeSample(editor.curInstr, editor.curSmp); - s->typ |= 16; // we always sample in 16-bit - - tuneSample(s, have.freq); // tune sample (relTone/finetune) to the sampling frequency we obtained - - if (sampleInStereo) - { - strcpy(s->name, "Left sample"); - s->pan = 0; - - if (editor.curSmp+1 < MAX_SMP_PER_INST) - rightChSmpSlot = editor.curSmp+1; - else - rightChSmpSlot = -1; - - if (rightChSmpSlot != -1) - { - // wipe current sample and prepare it - freeSample(editor.curInstr, rightChSmpSlot); - nextSmp = &instr[editor.curInstr]->samp[rightChSmpSlot]; - - strcpy(nextSmp->name, "Right sample"); - nextSmp->typ |= 16; // we always sample in 16-bit - nextSmp->pan = 255; - - tuneSample(nextSmp, have.freq); // tune sample (relTone/finetune) to the sampling frequency we obtained - } - } - else - { - strcpy(s->name, "Mono-mixed sample"); - } - - updateSampleEditorSample(); - updateSampleEditor(); - setSongModifiedFlag(); - - currWriteBuf = displayBuffer1; - memset(displayBuffer1, 0, sizeof (displayBuffer1)); - memset(displayBuffer2, 0, sizeof (displayBuffer2)); - - editor.samplingAudioFlag = true; - bytesSampled = 0; - currSampleLen = 0; - - SDL_PauseAudioDevice(recordDev, false); -#endif -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include "ft2_config.h" +#include "ft2_gui.h" +#include "ft2_mouse.h" +#include "ft2_sample_ed.h" +#include "ft2_video.h" +#include "ft2_sampling.h" + +// these may very well change after opening the audio input device +#define SAMPLING_BUFFER_SIZE 2048 + +static bool sampleInStereo; +static volatile bool drawSamplingBufferFlag, outOfMemoryFlag, noMoreRoomFlag; +static int16_t *currWriteBuf; +static int16_t displayBuffer1[SAMPLING_BUFFER_SIZE * 2], displayBuffer2[SAMPLING_BUFFER_SIZE * 2]; +static int32_t bytesSampled, samplingBufferBytes; +static uint32_t samplingRate; +static volatile int32_t currSampleLen; +static SDL_AudioDeviceID recordDev; +static int16_t rightChSmpSlot = -1; + +static void SDLCALL samplingCallback(void *userdata, Uint8 *stream, int len) +{ + int8_t *newPtr; + sampleTyp *s; + + (void)userdata; + + if (instr[editor.curInstr] == NULL || len < 0 || len > samplingBufferBytes) + return; + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + newPtr = (int8_t *)realloc(s->origPek, (s->len + len) + LOOP_FIX_LEN); + if (newPtr == NULL) + { + drawSamplingBufferFlag = false; + outOfMemoryFlag = true; + return; + } + + s->origPek = newPtr; + s->pek = s->origPek + SMP_DAT_OFFSET; + + memcpy(&s->pek[s->len], stream, len); + + s->len += len; + if (s->len > MAX_SAMPLE_LEN) // length overflow + { + s->len -= len; + noMoreRoomFlag = true; + return; + } + + bytesSampled += len; + if (bytesSampled >= samplingBufferBytes) + { + bytesSampled -= samplingBufferBytes; + + currSampleLen = s->len - samplingBufferBytes; + + // fill display buffer + memcpy(currWriteBuf, &s->pek[currSampleLen], samplingBufferBytes); + + // swap write buffer (double-buffering) + if (currWriteBuf == displayBuffer1) + currWriteBuf = displayBuffer2; + else + currWriteBuf = displayBuffer1; + + drawSamplingBufferFlag = true; + } +} + +void stopSampling(void) +{ + int8_t *newPtr; + int16_t *dst16, *src16; + int32_t i, len; + sampleTyp *currSmp, *nextSmp; + + resumeAudio(); + mouseAnimOff(); + + SDL_CloseAudioDevice(recordDev); + editor.samplingAudioFlag = false; + + currSmp = NULL; + nextSmp = NULL; + + if (instr[editor.curInstr] != NULL) + currSmp = &instr[editor.curInstr]->samp[editor.curSmp]; + + if (sampleInStereo) + { + // read right channel data + + if (currSmp->pek != NULL && rightChSmpSlot != -1) + { + nextSmp = &instr[editor.curInstr]->samp[rightChSmpSlot]; + + nextSmp->origPek = (int8_t *)malloc((currSmp->len >> 1) + LOOP_FIX_LEN); + if (nextSmp->origPek != NULL) + { + nextSmp->pek = nextSmp->origPek + SMP_DAT_OFFSET; + nextSmp->len = currSmp->len >> 1; + + src16 = (int16_t *)currSmp->pek; + dst16 = (int16_t *)nextSmp->pek; + + len = nextSmp->len >> 1; + for (i = 0; i < len; i++) + dst16[i] = src16[(i << 1) + 1]; + } + else + { + freeSample(editor.curInstr, rightChSmpSlot); + } + + currSmp->len >>= 1; + + // read left channel data by skipping every other sample + + dst16 = (int16_t *)currSmp->pek; + + len = currSmp->len >> 1; + for (i = 0; i < len; i++) + dst16[i] = dst16[i << 1]; + } + } + + if (currSmp->origPek != NULL) + { + newPtr = (int8_t *)realloc(currSmp->origPek, currSmp->len + LOOP_FIX_LEN); + if (newPtr != NULL) + { + currSmp->origPek = newPtr; + currSmp->pek = currSmp->origPek + SMP_DAT_OFFSET; + } + + fixSample(currSmp); + } + else + { + freeSample(editor.curInstr, editor.curSmp); + } + + if (nextSmp != NULL && nextSmp->origPek != NULL) + fixSample(nextSmp); + + updateSampleEditorSample(); + editor.updateCurInstr = true; +} + +static uint8_t getDispBuffPeakMono(const int16_t *smpData, int32_t smpNum) +{ + int16_t smp16; + uint32_t smpAbs, max; + int32_t i; + + max = 0; + for (i = 0; i < smpNum; i++) + { + smp16 = smpData[i]; + + smpAbs = ABS(smp16); + if (smpAbs > max) + max = smpAbs; + } + + max = (max * SAMPLE_AREA_HEIGHT) >> 16; + if (max > 76) + max = 76; + + return (uint8_t)max; +} + +static uint8_t getDispBuffPeakLeft(const int16_t *smpData, int32_t smpNum) +{ + int16_t smp16; + uint32_t smpAbs, max; + int32_t i; + + smpNum <<= 1; + + max = 0; + for (i = 0; i < smpNum; i += 2) + { + smp16 = smpData[i]; + + smpAbs = ABS(smp16); + if (smpAbs > max) + max = smpAbs; + } + + max = (max * SAMPLE_AREA_HEIGHT) >> (16 + 1); + if (max > 38) + max = 38; + + return (uint8_t)max; +} + +static uint8_t getDispBuffPeakRight(const int16_t *smpData, int32_t smpNum) +{ + int16_t smp16; + uint32_t smpAbs, max; + int32_t i; + + smpNum <<= 1; + + max = 0; + for (i = 0; i < smpNum; i += 2) + { + smp16 = smpData[i]; + + smpAbs = ABS(smp16); + if (smpAbs > max) + max = smpAbs; + } + + max = (max * SAMPLE_AREA_HEIGHT) >> (16 + 1); + if (max > 38) + max = 38; + + return (uint8_t)max; +} + +static inline int32_t scrPos2SmpBufPos(int32_t x) // x = 0..SAMPLE_AREA_WIDTH +{ + return (x * ((SAMPLING_BUFFER_SIZE << 16) / SAMPLE_AREA_WIDTH)) >> 16; +} + +static void drawSamplingPreview(void) +{ + uint8_t smpAbs; + int16_t *readBuf; + uint16_t x; + int32_t smpIdx, smpNum; + uint32_t *centerPtrL, *centerPtrR, pixVal; + + pixVal = video.palette[PAL_PATTEXT]; + + // select buffer currently not being written to (double-buffering) + if (currWriteBuf == displayBuffer1) + readBuf = displayBuffer2; + else + readBuf = displayBuffer1; + + if (sampleInStereo) + { + // stereo sampling + + const uint16_t centerL = SAMPLE_AREA_Y_CENTER - (SAMPLE_AREA_HEIGHT / 4); + const uint16_t centerR = SAMPLE_AREA_Y_CENTER + (SAMPLE_AREA_HEIGHT / 4); + + centerPtrL = &video.frameBuffer[centerL*SCREEN_W]; + centerPtrR = &video.frameBuffer[centerR*SCREEN_W]; + + for (x = 0; x < SAMPLE_AREA_WIDTH; x++) + { + smpIdx = scrPos2SmpBufPos(x); + smpNum = scrPos2SmpBufPos(x+1) - smpIdx; + + if (smpIdx+smpNum >= SAMPLING_BUFFER_SIZE) + smpNum = SAMPLING_BUFFER_SIZE - smpIdx; + + // left channel samples + smpAbs = getDispBuffPeakLeft(&readBuf[(smpIdx * 2) + 0], smpNum); + if (smpAbs == 0) + centerPtrL[x] = pixVal; + else + vLine(x, centerL - smpAbs, (smpAbs * 2) + 1, PAL_PATTEXT); + + // right channel samples + smpAbs = getDispBuffPeakRight(&readBuf[(smpIdx * 2) + 1], smpNum); + if (smpAbs == 0) + centerPtrR[x] = pixVal; + else + vLine(x, centerR - smpAbs, (smpAbs * 2) + 1, PAL_PATTEXT); + } + } + else + { + // mono sampling + + centerPtrL = &video.frameBuffer[SAMPLE_AREA_Y_CENTER * SCREEN_W]; + + for (x = 0; x < SAMPLE_AREA_WIDTH; x++) + { + smpIdx = scrPos2SmpBufPos(x); + smpNum = scrPos2SmpBufPos(x+1) - smpIdx; + + if (smpIdx+smpNum >= SAMPLING_BUFFER_SIZE) + smpNum = SAMPLING_BUFFER_SIZE - smpIdx; + + smpAbs = getDispBuffPeakMono(&readBuf[smpIdx], smpNum); + if (smpAbs == 0) + centerPtrL[x] = pixVal; + else + vLine(x, SAMPLE_AREA_Y_CENTER - smpAbs, (smpAbs * 2) + 1, PAL_PATTEXT); + } + } +} + +void handleSamplingUpdates(void) +{ + if (outOfMemoryFlag) + { + outOfMemoryFlag = false; + stopSampling(); + okBox(0, "System message", "Not enough memory!"); + return; + } + + if (noMoreRoomFlag) + { + noMoreRoomFlag = false; + stopSampling(); + okBox(0, "System message", "Not more room in sample!"); + return; + } + + if (drawSamplingBufferFlag) + { + drawSamplingBufferFlag = false; + + // clear sample data area + memset(&video.frameBuffer[174 * SCREEN_W], 0, SAMPLE_AREA_WIDTH * SAMPLE_AREA_HEIGHT * sizeof (int32_t)); + + drawSamplingPreview(); + + // clear and draw new sample length number + fillRect(536, 362, 56, 10, PAL_DESKTOP); + + if (sampleInStereo) + hexOut(536, 362, PAL_FORGRND, currSampleLen >> 1, 8); + else + hexOut(536, 362, PAL_FORGRND, currSampleLen, 8); + } +} + +void startSampling(void) +{ +#if SDL_PATCHLEVEL < 5 + okBox(0, "System message", "This program needs to be compiled with SDL 2.0.5 or later to support audio sampling."); + return; +#else + int16_t result; + SDL_AudioSpec want, have; + sampleTyp *s, *nextSmp; + + if (editor.samplingAudioFlag || editor.curInstr == 0) + return; + + result = okBox(9, "System request", "Stereo sampling will use the next sample slot. While ongoing, press any key to stop."); + if (result == 0 || result == 3) + return; + + sampleInStereo = (result == 2); + samplingBufferBytes = sampleInStereo ? (SAMPLING_BUFFER_SIZE * 4) : (SAMPLING_BUFFER_SIZE * 2); + + mouseAnimOn(); + + switch (config.audioInputFreq) + { + case INPUT_FREQ_96KHZ: samplingRate = 96000; break; + +#ifdef __APPLE__ + case INPUT_FREQ_48KHZ: samplingRate = 48000; break; + default: samplingRate = 44100; break; +#else + case INPUT_FREQ_44KHZ: samplingRate = 44100; break; + default: samplingRate = 48000; break; +#endif + } + + memset(&want, 0, sizeof (SDL_AudioSpec)); + want.freq = samplingRate; + want.format = AUDIO_S16; + want.channels = 1 + sampleInStereo; + want.callback = samplingCallback; + want.userdata = NULL; + want.samples = SAMPLING_BUFFER_SIZE; + + recordDev = SDL_OpenAudioDevice(audio.currInputDevice, true, &want, &have, 0); + if (recordDev == 0) + { + okBox(0, "System message", "Couldn't open the input device! Try adjusting the input rate at the config screen."); + return; + } + + pauseAudio(); + + if (instr[editor.curInstr] == NULL && !allocateInstr(editor.curInstr)) + { + resumeAudio(); + okBox(0, "System message", "Not enough memory!"); + return; + } + + s = &instr[editor.curInstr]->samp[editor.curSmp]; + + // wipe current sample and prepare it + freeSample(editor.curInstr, editor.curSmp); + s->typ |= 16; // we always sample in 16-bit + + tuneSample(s, samplingRate); // tune sample (relTone/finetune) to the sampling frequency we obtained + + if (sampleInStereo) + { + strcpy(s->name, "Left sample"); + s->pan = 0; + + if (editor.curSmp+1 < MAX_SMP_PER_INST) + rightChSmpSlot = editor.curSmp+1; + else + rightChSmpSlot = -1; + + if (rightChSmpSlot != -1) + { + // wipe current sample and prepare it + freeSample(editor.curInstr, rightChSmpSlot); + nextSmp = &instr[editor.curInstr]->samp[rightChSmpSlot]; + + strcpy(nextSmp->name, "Right sample"); + nextSmp->typ |= 16; // we always sample in 16-bit + nextSmp->pan = 255; + + tuneSample(nextSmp, samplingRate); // tune sample (relTone/finetune) to the sampling frequency we obtained + } + } + else + { + strcpy(s->name, "Mono-mixed sample"); + } + + updateSampleEditorSample(); + updateSampleEditor(); + setSongModifiedFlag(); + + currWriteBuf = displayBuffer1; + memset(displayBuffer1, 0, sizeof (displayBuffer1)); + memset(displayBuffer2, 0, sizeof (displayBuffer2)); + + editor.samplingAudioFlag = true; + bytesSampled = 0; + currSampleLen = 0; + + SDL_PauseAudioDevice(recordDev, false); +#endif +} diff --git a/src/ft2_sampling.h b/src/ft2_sampling.h index 4133fee..afa2290 100644 --- a/src/ft2_sampling.h +++ b/src/ft2_sampling.h @@ -1,5 +1,12 @@ -#pragma once - -void startSampling(void); -void stopSampling(void); -void handleSamplingUpdates(void); +#pragma once + +enum +{ + INPUT_FREQ_44KHZ = 2, + INPUT_FREQ_48KHZ = 4, + INPUT_FREQ_96KHZ = 8 +}; + +void startSampling(void); +void stopSampling(void); +void handleSamplingUpdates(void); diff --git a/src/ft2_scopedraw.c b/src/ft2_scopedraw.c new file mode 100644 index 0000000..f57a0d5 --- /dev/null +++ b/src/ft2_scopedraw.c @@ -0,0 +1,365 @@ +#include "ft2_scopes.h" +#include "ft2_scopedraw.h" +#include "ft2_video.h" +#include "ft2_palette.h" + +/* ----------------------------------------------------------------------- */ +/* SCOPE DRAWING MACROS */ +/* ----------------------------------------------------------------------- */ + +#define SCOPE_REGS \ + int32_t sample; \ + int32_t scopeDrawPos = s->SPos; \ + int32_t scopeDrawFrac = 0; \ + uint32_t scopePixelColor = video.palette[PAL_PATTEXT]; \ + uint32_t len = x + w; \ + +#define SCOPE_REGS_PINGPONG \ + int32_t sample; \ + int32_t scopeDrawPos = s->SPos; \ + int32_t scopeDrawFrac = 0; \ + int32_t drawPosDir = s->SPosDir; \ + uint32_t scopePixelColor = video.palette[PAL_PATTEXT]; \ + uint32_t len = x + w; \ + +#define LINED_SCOPE_REGS \ + int32_t sample; \ + int32_t y1, y2; \ + int32_t scopeDrawPos = s->SPos; \ + int32_t scopeDrawFrac = 0; \ + uint32_t len = (x + w) - 1; \ + +#define LINED_SCOPE_REGS_PINGPONG \ + int32_t sample; \ + int32_t y1, y2; \ + int32_t scopeDrawPos = s->SPos; \ + int32_t scopeDrawFrac = 0; \ + int32_t drawPosDir = s->SPosDir; \ + uint32_t len = (x + w) - 1; \ + +#define SCOPE_GET_SMP8 \ + if (!s->active) \ + { \ + sample = 0; \ + } \ + else \ + { \ + assert(scopeDrawPos >= 0 && scopeDrawPos < s->SLen); \ + sample = (s->sampleData8[scopeDrawPos] * s->SVol) >> 8; \ + } \ + +#define SCOPE_GET_SMP16 \ + if (!s->active) \ + { \ + sample = 0; \ + } \ + else \ + { \ + assert(scopeDrawPos >= 0 && scopeDrawPos < s->SLen); \ + sample = (int8_t)((s->sampleData16[scopeDrawPos] * s->SVol) >> 16); \ + } \ + +#define SCOPE_UPDATE_DRAWPOS \ + scopeDrawFrac += s->SFrq >> 6; \ + scopeDrawPos += scopeDrawFrac >> 16; \ + scopeDrawFrac &= 0xFFFF; \ + +#define SCOPE_UPDATE_DRAWPOS_PINGPONG \ + scopeDrawFrac += s->SFrq >> 6; \ + scopeDrawPos += (scopeDrawFrac >> 16) * drawPosDir; \ + scopeDrawFrac &= 0xFFFF; \ + +#define SCOPE_DRAW_SMP \ + video.frameBuffer[((lineY - sample) * SCREEN_W) + x] = scopePixelColor; + +#define LINED_SCOPE_PREPARE_SMP8 \ + SCOPE_GET_SMP8 \ + y1 = lineY - sample; \ + SCOPE_UPDATE_DRAWPOS + +#define LINED_SCOPE_PREPARE_SMP16 \ + SCOPE_GET_SMP16 \ + y1 = lineY - sample; \ + SCOPE_UPDATE_DRAWPOS + +#define LINED_SCOPE_DRAW_SMP \ + y2 = lineY - sample; \ + scopeLine(x, y1, y2); \ + y1 = y2; \ + +#define SCOPE_HANDLE_POS_NO_LOOP \ + if (scopeDrawPos >= s->SLen) \ + s->active = false; \ + +#define SCOPE_HANDLE_POS_LOOP \ + if (scopeDrawPos >= s->SLen) \ + { \ + if (s->SRepL < 2) \ + scopeDrawPos = s->SRepS; \ + else \ + scopeDrawPos = s->SRepS + ((scopeDrawPos - s->SLen) % s->SRepL); \ + \ + assert(scopeDrawPos >= s->SRepS && scopeDrawPos < s->SLen); \ + } \ + +#define SCOPE_HANDLE_POS_PINGPONG \ + if (drawPosDir == -1 && scopeDrawPos < s->SRepS) \ + { \ + drawPosDir = 1; /* change direction to forwards */ \ + \ + if (s->SRepL < 2) \ + scopeDrawPos = s->SRepS; \ + else \ + scopeDrawPos = s->SRepS + ((s->SRepS - scopeDrawPos - 1) % s->SRepL); \ + \ + assert(scopeDrawPos >= s->SRepS && scopeDrawPos < s->SLen); \ + } \ + else if (scopeDrawPos >= s->SLen) \ + { \ + drawPosDir = -1; /* change direction to backwards */ \ + \ + if (s->SRepL < 2) \ + scopeDrawPos = s->SLen - 1; \ + else \ + scopeDrawPos = (s->SLen - 1) - ((scopeDrawPos - s->SLen) % s->SRepL); \ + \ + assert(scopeDrawPos >= s->SRepS && scopeDrawPos < s->SLen); \ + } \ + assert(scopeDrawPos >= 0); \ + +static void scopeLine(int32_t x1, int32_t y1, int32_t y2) +{ + int32_t pitch, d, sy, dy; + uint32_t ay, pixVal, *dst32; + + dy = y2 - y1; + ay = ABS(dy); + sy = SGN(dy); + + pixVal = video.palette[PAL_PATTEXT]; + pitch = sy * SCREEN_W; + + dst32 = &video.frameBuffer[(y1 * SCREEN_W) + x1]; + *dst32 = pixVal; + + if (ay <= 1) + { + if (ay != 0) + dst32 += pitch; + + *++dst32 = pixVal; + return; + } + + d = 2 - ay; + + ay *= 2; + while (y1 != y2) + { + if (d >= 0) + { + d -= ay; + dst32++; + } + + y1 += sy; + d += 2; + + dst32 += pitch; + *dst32 = pixVal; + } +} + +/* ----------------------------------------------------------------------- */ +/* SCOPE DRAWING ROUTINES */ +/* ----------------------------------------------------------------------- */ + +static void scopeDrawNoLoop_8bit(scope_t *s, uint32_t x, uint32_t lineY, uint32_t w) +{ + SCOPE_REGS + + for (; x < len; x++) + { + SCOPE_GET_SMP8 + SCOPE_DRAW_SMP + SCOPE_UPDATE_DRAWPOS + SCOPE_HANDLE_POS_NO_LOOP + } +} + +static void scopeDrawLoop_8bit(scope_t *s, uint32_t x, uint32_t lineY, uint32_t w) +{ + SCOPE_REGS + + for (; x < len; x++) + { + SCOPE_GET_SMP8 + SCOPE_DRAW_SMP + SCOPE_UPDATE_DRAWPOS + SCOPE_HANDLE_POS_LOOP + } +} + +static void scopeDrawPingPong_8bit(scope_t *s, uint32_t x, uint32_t lineY, uint32_t w) +{ + SCOPE_REGS_PINGPONG + + for (; x < len; x++) + { + SCOPE_GET_SMP8 + SCOPE_DRAW_SMP + SCOPE_UPDATE_DRAWPOS_PINGPONG + SCOPE_HANDLE_POS_PINGPONG + } +} + +static void scopeDrawNoLoop_16bit(scope_t *s, uint32_t x, uint32_t lineY, uint32_t w) +{ + SCOPE_REGS + + for (; x < len; x++) + { + SCOPE_GET_SMP16 + SCOPE_DRAW_SMP + SCOPE_UPDATE_DRAWPOS + SCOPE_HANDLE_POS_NO_LOOP + } +} + +static void scopeDrawLoop_16bit(scope_t *s, uint32_t x, uint32_t lineY, uint32_t w) +{ + SCOPE_REGS + + for (; x < len; x++) + { + SCOPE_GET_SMP16 + SCOPE_DRAW_SMP + SCOPE_UPDATE_DRAWPOS + SCOPE_HANDLE_POS_LOOP + } +} + +static void scopeDrawPingPong_16bit(scope_t *s, uint32_t x, uint32_t lineY, uint32_t w) +{ + SCOPE_REGS_PINGPONG + + for (; x < len; x++) + { + SCOPE_GET_SMP16 + SCOPE_DRAW_SMP + SCOPE_UPDATE_DRAWPOS_PINGPONG + SCOPE_HANDLE_POS_PINGPONG + } +} + +/* ----------------------------------------------------------------------- */ +/* LINED SCOPE DRAWING ROUTINES */ +/* ----------------------------------------------------------------------- */ + +static void linedScopeDrawNoLoop_8bit(scope_t *s, uint32_t x, uint32_t lineY, uint32_t w) +{ + LINED_SCOPE_REGS + LINED_SCOPE_PREPARE_SMP8 + SCOPE_HANDLE_POS_NO_LOOP + + for (; x < len; x++) + { + SCOPE_GET_SMP8 + LINED_SCOPE_DRAW_SMP + SCOPE_UPDATE_DRAWPOS + SCOPE_HANDLE_POS_NO_LOOP + } +} + +static void linedScopeDrawLoop_8bit(scope_t *s, uint32_t x, uint32_t lineY, uint32_t w) +{ + LINED_SCOPE_REGS + LINED_SCOPE_PREPARE_SMP8 + SCOPE_HANDLE_POS_LOOP + + for (; x < len; x++) + { + SCOPE_GET_SMP8 + LINED_SCOPE_DRAW_SMP + SCOPE_UPDATE_DRAWPOS + SCOPE_HANDLE_POS_LOOP + } +} + +static void linedScopeDrawPingPong_8bit(scope_t *s, uint32_t x, uint32_t lineY, uint32_t w) +{ + LINED_SCOPE_REGS_PINGPONG + LINED_SCOPE_PREPARE_SMP8 + SCOPE_HANDLE_POS_PINGPONG + + for (; x < len; x++) + { + SCOPE_GET_SMP8 + LINED_SCOPE_DRAW_SMP + SCOPE_UPDATE_DRAWPOS_PINGPONG + SCOPE_HANDLE_POS_PINGPONG + } +} + +static void linedScopeDrawNoLoop_16bit(scope_t *s, uint32_t x, uint32_t lineY, uint32_t w) +{ + LINED_SCOPE_REGS + LINED_SCOPE_PREPARE_SMP16 + SCOPE_HANDLE_POS_NO_LOOP + + for (; x < len; x++) + { + SCOPE_GET_SMP16 + LINED_SCOPE_DRAW_SMP + SCOPE_UPDATE_DRAWPOS + SCOPE_HANDLE_POS_NO_LOOP + } +} + +static void linedScopeDrawLoop_16bit(scope_t *s, uint32_t x, uint32_t lineY, uint32_t w) +{ + LINED_SCOPE_REGS + LINED_SCOPE_PREPARE_SMP16 + SCOPE_HANDLE_POS_LOOP + + for (; x < len; x++) + { + SCOPE_GET_SMP16 + LINED_SCOPE_DRAW_SMP + SCOPE_UPDATE_DRAWPOS + SCOPE_HANDLE_POS_LOOP + } +} + +static void linedScopeDrawPingPong_16bit(scope_t *s, uint32_t x, uint32_t lineY, uint32_t w) +{ + LINED_SCOPE_REGS_PINGPONG + LINED_SCOPE_PREPARE_SMP16 + SCOPE_HANDLE_POS_PINGPONG + + for (; x < len; x++) + { + SCOPE_GET_SMP16 + LINED_SCOPE_DRAW_SMP + SCOPE_UPDATE_DRAWPOS_PINGPONG + SCOPE_HANDLE_POS_PINGPONG + } +} + +// ----------------------------------------------------------------------- + +const scopeDrawRoutine scopeDrawRoutineTable[12] = +{ + (scopeDrawRoutine)scopeDrawNoLoop_8bit, + (scopeDrawRoutine)scopeDrawLoop_8bit, + (scopeDrawRoutine)scopeDrawPingPong_8bit, + (scopeDrawRoutine)scopeDrawNoLoop_16bit, + (scopeDrawRoutine)scopeDrawLoop_16bit, + (scopeDrawRoutine)scopeDrawPingPong_16bit, + (scopeDrawRoutine)linedScopeDrawNoLoop_8bit, + (scopeDrawRoutine)linedScopeDrawLoop_8bit, + (scopeDrawRoutine)linedScopeDrawPingPong_8bit, + (scopeDrawRoutine)linedScopeDrawNoLoop_16bit, + (scopeDrawRoutine)linedScopeDrawLoop_16bit, + (scopeDrawRoutine)linedScopeDrawPingPong_16bit +}; diff --git a/src/ft2_scopedraw.h b/src/ft2_scopedraw.h new file mode 100644 index 0000000..50efdb3 --- /dev/null +++ b/src/ft2_scopedraw.h @@ -0,0 +1,8 @@ +#pragma once + +#include +#include "ft2_scopes.h" + +typedef void (*scopeDrawRoutine)(scope_t *, uint32_t, uint32_t, uint32_t); + +extern const scopeDrawRoutine scopeDrawRoutineTable[12]; // ft2_scopedraw.c diff --git a/src/ft2_scopes.c b/src/ft2_scopes.c index 9e93a7d..31a2104 100644 --- a/src/ft2_scopes.c +++ b/src/ft2_scopes.c @@ -1,906 +1,658 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include // modf() -#ifndef _WIN32 -#include // usleep() -#endif -#include "ft2_header.h" -#include "ft2_events.h" -#include "ft2_config.h" -#include "ft2_audio.h" -#include "ft2_gui.h" -#include "ft2_midi.h" -#include "ft2_gfxdata.h" -#include "ft2_scopes.h" -#include "ft2_mouse.h" -#include "ft2_video.h" - -enum -{ - LOOP_NONE = 0, - LOOP_FORWARD = 1, - LOOP_PINGPONG = 2 -}; - -#define SCOPE_DATA_HEIGHT 36 - -// data to be read from main update thread during sample trigger -typedef struct scopeState_t -{ - int8_t *pek; - uint8_t typ; - int32_t len, repS, repL, playOffset; -} scopeState_t; - -// actual scope data -typedef struct scope_t -{ - volatile bool active; - const int8_t *sampleData8; - const int16_t *sampleData16; - int8_t SVol; - bool wasCleared, sample16Bit; - uint8_t loopType; - int32_t SRepS, SRepL, SLen, SPos; - uint32_t SFrq, SPosDec, posXOR; -} scope_t; - -static volatile bool scopesUpdatingFlag, scopesDisplayingFlag; -static uint32_t oldVoiceDelta, oldSFrq, scopeTimeLen, scopeTimeLenFrac; -static uint64_t timeNext64, timeNext64Frac; -static volatile scope_t scope[MAX_VOICES]; -static SDL_Thread *scopeThread; - -lastChInstr_t lastChInstr[MAX_VOICES]; // global - -static const uint8_t scopeMuteBMPWidths[16] = -{ - 162,111, 76, 56, 42, 35, 28, 24, - 21, 21, 17, 17, 12, 12, 9, 9 -}; - -static const uint8_t scopeMuteBMPHeights[16] = -{ - 27, 27, 26, 25, 25, 25, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24 -}; - -static const uint8_t *scopeMuteBMPPointers[16] = -{ - scopeMuteBMP1, scopeMuteBMP2, scopeMuteBMP3, scopeMuteBMP4, - scopeMuteBMP5, scopeMuteBMP6, scopeMuteBMP7, scopeMuteBMP8, - scopeMuteBMP9, scopeMuteBMP9, scopeMuteBMP10,scopeMuteBMP10, - scopeMuteBMP11,scopeMuteBMP11,scopeMuteBMP12,scopeMuteBMP12 -}; - -static const uint16_t scopeLenTab[16][32] = -{ - /* 2 ch */ {285,285}, - /* 4 ch */ {141,141,141,141}, - /* 6 ch */ {93,93,93,93,93,93}, - /* 8 ch */ {69,69,69,69,69,69,69,69}, - /* 10 ch */ {55,55,55,54,54,55,55,55,54,54}, - /* 12 ch */ {45,45,45,45,45,45,45,45,45,45,45,45}, - /* 14 ch */ {39,38,38,38,38,38,38,39,38,38,38,38,38,38}, - /* 16 ch */ {33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33}, - /* 18 ch */ {29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29}, - /* 20 ch */ {26,26,26,26,26,26,26,26,25,25,26,26,26,26,26,26,26,26,25,25}, - /* 22 ch */ {24,24,23,23,23,23,23,23,23,23,23,24,24,23,23,23,23,23,23,23,23,23}, - /* 24 ch */ {21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21}, - /* 26 ch */ {20,20,19,19,19,19,19,19,19,19,19,19,19,20,20,19,19,19,19,19,19,19,19,19,19,19}, - /* 28 ch */ {18,18,18,18,18,18,18,18,17,17,17,17,17,17,18,18,18,18,18,18,18,18,17,17,17,17,17,17}, - /* 30 ch */ {17,17,17,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,16,16,16,16,16,16,16,16,16,16,16,16}, - /* 32 ch */ {15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15} -}; - -void resetOldScopeRates(void) -{ - oldVoiceDelta = 0; - oldSFrq = 0; -} - -int32_t getSamplePosition(uint8_t ch) -{ - volatile bool active, sample16Bit; - volatile int32_t pos, len; - volatile scope_t *sc; - - if (ch >= song.antChn) - return -1; - - sc = &scope[ch]; - - // cache some stuff - active = sc->active; - pos = sc->SPos; - len = sc->SLen; - sample16Bit = sc->sample16Bit; - - if (!active || len == 0) - return -1; - - if (pos >= 0 && pos < len) - { - if (sample16Bit) - pos <<= 1; - - return pos; - } - - return -1; // not active or overflown -} - -void stopAllScopes(void) -{ - // wait for scopes to finish updating - while (scopesUpdatingFlag); - - for (uint8_t i = 0; i < MAX_VOICES; i++) - scope[i].active = false; - - // wait for scope displaying to be done (safety) - while (scopesDisplayingFlag); -} - -// toggle mute -static void setChannel(int16_t nr, bool on) -{ - stmTyp *ch; - - ch = &stm[nr]; - - ch->stOff = !on; - if (ch->stOff) - { - ch->effTyp = 0; - ch->eff = 0; - ch->realVol = 0; - ch->outVol = 0; - ch->oldVol = 0; - ch->finalVol = 0; - ch->outPan = 128; - ch->oldPan = 128; - ch->finalPan = 128; - ch->status = IS_Vol; - - ch->envSustainActive = false; // non-FT2 bug fix for stuck piano keys - } - - scope[nr].wasCleared = false; -} - -static void drawScopeNumber(uint16_t scopeXOffs, uint16_t scopeYOffs, uint8_t channel, bool outline) -{ - scopeYOffs++; - channel++; - - if (outline) - { - if (channel < 10) // one digit? - { - charOutOutlined(scopeXOffs, scopeYOffs, PAL_MOUSEPT, '0' + channel); - } - else - { - charOutOutlined(scopeXOffs, scopeYOffs, PAL_MOUSEPT, '0' + (channel / 10)); - charOutOutlined(scopeXOffs + 7, scopeYOffs, PAL_MOUSEPT, '0' + (channel % 10)); - } - } - else - { - if (channel < 10) // one digit? - { - charOut(scopeXOffs, scopeYOffs, PAL_MOUSEPT, '0' + channel); - } - else - { - charOut(scopeXOffs, scopeYOffs, PAL_MOUSEPT, '0' + (channel / 10)); - charOut(scopeXOffs + 7, scopeYOffs, PAL_MOUSEPT, '0' + (channel % 10)); - } - } -} - -static void redrawScope(int16_t ch) -{ - uint8_t chansPerRow; - int16_t i, chanLookup, scopeLen, muteGfxLen, muteGfxX; - const uint16_t *scopeLens; - uint16_t x, y; - - chansPerRow = song.antChn / 2; - chanLookup = chansPerRow - 1; - scopeLens = scopeLenTab[chanLookup]; - - x = 2; - y = 94; - - scopeLen = 0; // prevent compiler warning - for (i = 0; i < song.antChn; i++) - { - scopeLen = scopeLens[i]; - - if (i == chansPerRow) // did we reach end of row? - { - // yes, go one row down - x = 2; - y += 39; - } - - if (i == ch) - break; - - // adjust position to next channel - x += scopeLen + 3; - } - - drawFramework(x, y, scopeLen + 2, 38, FRAMEWORK_TYPE2); - - // draw mute graphics if channel is muted - if (!editor.chnMode[i]) - { - muteGfxLen = scopeMuteBMPWidths[chanLookup]; - muteGfxX = x + ((scopeLen - muteGfxLen) / 2); - - blitFast(muteGfxX, y + 6, scopeMuteBMPPointers[chanLookup], muteGfxLen, scopeMuteBMPHeights[chanLookup]); - - if (config.ptnChnNumbers) - drawScopeNumber(x + 1, y + 1, (uint8_t)i, true); - } - - scope[ch].wasCleared = false; -} - -void refreshScopes(void) -{ - for (int16_t i = 0; i < MAX_VOICES; i++) - scope[i].wasCleared = false; -} - -static void channelMode(int16_t chn) -{ - bool m, m2, test; - int16_t i; - - assert(chn < song.antChn); - - m = mouse.leftButtonPressed && !mouse.rightButtonPressed; - m2 = mouse.rightButtonPressed && mouse.leftButtonPressed; - - if (m2) - { - test = false; - for (i = 0; i < song.antChn; i++) - { - if (i != chn && !editor.chnMode[i]) - test = true; - } - - if (test) - { - for (i = 0; i < song.antChn; i++) - editor.chnMode[i] = true; - } - else - { - for (i = 0; i < song.antChn; i++) - editor.chnMode[i] = (i == chn); - } - } - else if (m) - { - editor.chnMode[chn] ^= 1; - } - else - { - if (editor.chnMode[chn]) - { - config.multiRecChn[chn] ^= 1; - } - else - { - config.multiRecChn[chn] = true; - editor.chnMode[chn] = true; - m = true; - } - } - - for (i = 0; i < song.antChn; i++) - setChannel(i, editor.chnMode[i]); - - if (m2) - { - for (i = 0; i < song.antChn; i++) - redrawScope(i); - } - else - { - redrawScope(chn); - } -} - -bool testScopesMouseDown(void) -{ - int8_t chanToToggle; - uint8_t i, chansPerRow; - uint16_t x; - const uint16_t *scopeLens; - - if (!editor.ui.scopesShown) - return false; - - if (mouse.y >= 95 && mouse.y <= 169 && mouse.x >= 3 && mouse.x <= 288) - { - if (mouse.y > 130 && mouse.y < 134) - return true; - - chansPerRow = song.antChn / 2; - scopeLens = scopeLenTab[chansPerRow-1]; - - // find out if we clicked inside a scope - x = 3; - for (i = 0; i < chansPerRow; i++) - { - if (mouse.x >= x && mouse.x < x+scopeLens[i]) - break; - - x += scopeLens[i] + 3; - } - - if (i == chansPerRow) - return true; // scope framework was clicked instead - - chanToToggle = i; - if (mouse.y >= 134) // second row of scopes? - chanToToggle += chansPerRow; // yes, increase lookup offset - - channelMode(chanToToggle); - return true; - } - - return false; -} - -static void scopeTrigger(uint8_t ch, sampleTyp *s, int32_t playOffset) -{ - bool sampleIs16Bit; - uint8_t loopType; - int32_t length, loopBegin, loopLength; - volatile scope_t *sc; - scope_t tempState; - - sc = &scope[ch]; - - length = s->len; - loopBegin = s->repS; - loopLength = s->repL; - loopType = s->typ & 3; - sampleIs16Bit = (s->typ >> 4) & 1; - - if (sampleIs16Bit) - { - assert(!(length & 1)); - assert(!(loopBegin & 1)); - assert(!(loopLength & 1)); - - length >>= 1; - loopBegin >>= 1; - loopLength >>= 1; - } - - if (s->pek == NULL || length < 1) - { - sc->active = false; // shut down scope (illegal parameters) - return; - } - - if (loopLength < 1) // disable loop if loopLength is below 1 - loopType = 0; - - if (sampleIs16Bit) - tempState.sampleData16 = (const int16_t *)s->pek; - else - tempState.sampleData8 = (const int8_t *)s->pek; - - tempState.sample16Bit = sampleIs16Bit; - tempState.loopType = loopType; - - tempState.posXOR = 0; // forwards - tempState.SLen = (loopType > 0) ? (loopBegin + loopLength) : length; - tempState.SRepS = loopBegin; - tempState.SRepL = loopLength; - tempState.SPos = playOffset; - tempState.SPosDec = 0; // position fraction - - // if 9xx position overflows, shut down scopes - if (tempState.SPos >= tempState.SLen) - { - sc->active = false; - return; - } - - // these has to be read - tempState.active = true; - tempState.wasCleared = sc->wasCleared; - tempState.SFrq = sc->SFrq; - tempState.SVol = sc->SVol; - - /* Update live scope now. - ** In theory it -can- be written to in the middle of a cached read, - ** then the read thread writes its own non-updated cached copy back and - ** the trigger never happens. So far I have never seen it happen, - ** so it's probably very rare. Yes, this is not good coding... */ - *sc = tempState; -} - -static void updateScopes(void) -{ - int32_t loopOverflowVal; - volatile scope_t *sc; - scope_t tempState; - - scopesUpdatingFlag = true; - for (uint32_t i = 0; i < song.antChn; i++) - { - sc = &scope[i]; - tempState = *sc; // cache it - - if (!tempState.active) - continue; // scope is not active, no need - - // scope position update - - tempState.SPosDec += tempState.SFrq; - if (tempState.SPosDec >= 65536) - { - tempState.SPos += ((tempState.SPosDec >> 16) ^ tempState.posXOR); - tempState.SPosDec &= 0xFFFF; - - // handle loop wrapping or sample end - - if (tempState.posXOR == 0xFFFFFFFF) // sampling backwards (definitely pingpong loop) - { - if (tempState.SPos < tempState.SRepS) - { - tempState.posXOR = 0; // change direction to forwards - - if (tempState.SRepL < 2) - tempState.SPos = tempState.SRepS; - else - tempState.SPos = tempState.SRepS + ((tempState.SRepS - tempState.SPos - 1) % tempState.SRepL); - - assert(tempState.SPos >= tempState.SRepS && tempState.SPos < tempState.SLen); - } - } - else if (tempState.loopType == LOOP_NONE) // no loop - { - if (tempState.SPos >= tempState.SLen) - { - tempState.SPos = tempState.SLen - 1; - tempState.active = false; - } - } - else if (tempState.SPos >= tempState.SLen) // forward or pingpong loop - { - if (tempState.SRepL < 2) - loopOverflowVal = 0; - else - loopOverflowVal = (tempState.SPos - tempState.SLen) % tempState.SRepL; - - if (tempState.loopType == LOOP_PINGPONG) - { - tempState.posXOR = 0xFFFFFFFF; // change direction to backwards - tempState.SPos = (tempState.SLen - 1) - loopOverflowVal; - } - else // forward loop - { - tempState.SPos = tempState.SRepS + loopOverflowVal; - } - - assert(tempState.SPos >= tempState.SRepS && tempState.SPos < tempState.SLen); - } - - assert(tempState.SPos >= 0 && tempState.SPos < tempState.SLen); - - *sc = tempState; // update it - } - } - scopesUpdatingFlag = false; -} - -static void scopeLine(int16_t x1, int16_t y1, int16_t y2) -{ - int16_t d, sy, dy; - uint16_t ay; - int32_t pitch; - uint32_t pixVal, *dst32; - - dy = y2 - y1; - ay = ABS(dy); - sy = SGN(dy); - - pixVal = video.palette[PAL_PATTEXT]; - pitch = sy * SCREEN_W; - - dst32 = &video.frameBuffer[(y1 * SCREEN_W) + x1]; - *dst32 = pixVal; - - if (ay <= 1) - { - if (ay != 0) - dst32 += pitch; - - *++dst32 = pixVal; - return; - } - - d = 2 - ay; - - ay *= 2; - while (y1 != y2) - { - if (d >= 0) - { - d -= ay; - dst32++; - } - - y1 += sy; - d += 2; - - dst32 += pitch; - *dst32 = pixVal; - } -} - -static inline int8_t getScaledScopeSample8(scope_t *sc, int32_t drawPos) -{ - if (!sc->active) - return 0; - - assert(drawPos >= 0 && drawPos < sc->SLen); - return (int8_t)((sc->sampleData8[drawPos] * sc->SVol) >> 8); -} - -static inline int8_t getScaledScopeSample16(scope_t *sc, int32_t drawPos) -{ - if (!sc->active) - return 0; - - assert(drawPos >= 0 && drawPos < sc->SLen); - return (int8_t)((sc->sampleData16[drawPos] * sc->SVol) >> 16); -} - -#define SCOPE_UPDATE_POS \ - scopeDrawFrac += s.SFrq >> 6; \ - if (scopeDrawFrac >= 65536) \ - { \ - scopeDrawPos += (int32_t)((scopeDrawFrac >> 16) ^ drawPosXOR); \ - scopeDrawFrac &= 0xFFFF; \ - \ - if (s.loopType == LOOP_NONE) \ - { \ - if (scopeDrawPos >= s.SLen) \ - s.active = false; \ - } \ - else if (drawPosXOR == 0xFFFFFFFF) /* sampling backwards (definitely pingpong loop) */ \ - { \ - if (scopeDrawPos < s.SRepS) \ - { \ - drawPosXOR = 0; /* change direction to forwards */ \ - \ - if (s.SRepL < 2) \ - scopeDrawPos = s.SRepS; \ - else \ - scopeDrawPos = s.SRepS + ((s.SRepS - scopeDrawPos - 1) % s.SRepL); \ - \ - assert(scopeDrawPos >= s.SRepS && scopeDrawPos < s.SLen); \ - } \ - } \ - else if (scopeDrawPos >= s.SLen) /* forward or pingpong loop */ \ - { \ - if (s.SRepL < 2) \ - loopOverflowVal = 0; \ - else \ - loopOverflowVal = (scopeDrawPos - s.SLen) % s.SRepL; \ - \ - if (s.loopType == LOOP_PINGPONG) \ - { \ - drawPosXOR = 0xFFFFFFFF; /* change direction to backwards */ \ - scopeDrawPos = (s.SLen - 1) - loopOverflowVal; \ - } \ - else /* forward loop */ \ - { \ - scopeDrawPos = s.SRepS + loopOverflowVal; \ - } \ - \ - assert(scopeDrawPos >= s.SRepS && scopeDrawPos < s.SLen); \ - } \ - } \ - -void drawScopes(void) -{ - int16_t y1, y2, sample, scopeLineY; - const uint16_t *scopeLens; - uint16_t chansPerRow, x16, scopeXOffs, scopeYOffs, scopeDrawLen; - int32_t scopeDrawPos, loopOverflowVal; - uint32_t x, len, drawPosXOR, scopeDrawFrac, scopePixelColor; - volatile scope_t *sc; - scope_t s; - - scopesDisplayingFlag = true; - chansPerRow = song.antChn / 2; - - scopeLens = scopeLenTab[chansPerRow-1]; - scopeXOffs = 3; - scopeYOffs = 95; - scopeLineY = 112; - - for (int16_t i = 0; i < song.antChn; i++) - { - // if we reached the last channel on the row, go to bottom left - if (i == chansPerRow) - { - scopeXOffs = 3; - scopeYOffs = 134; - scopeLineY = 151; - } - - scopeDrawLen = scopeLens[i]; - - if (editor.chnMode[i]) - { - s = scope[i]; // cache scope to lower thread race condition issues - - if (s.active && s.SVol > 0 && !audio.locked) - { - // scope is active - - scope[i].wasCleared = false; - - // clear scope background - clearRect(scopeXOffs, scopeYOffs, scopeDrawLen, SCOPE_DATA_HEIGHT); - - scopeDrawPos = s.SPos; - scopeDrawFrac = 0; - drawPosXOR = s.posXOR; - - // draw current scope - if (config.specialFlags & LINED_SCOPES) - { - // LINE SCOPE - - if (s.sample16Bit) - { - y1 = scopeLineY - getScaledScopeSample16(&s, scopeDrawPos); - SCOPE_UPDATE_POS - - x16 = scopeXOffs; - len = scopeXOffs + (scopeDrawLen - 1); - - for (; x16 < len; x16++) - { - y2 = scopeLineY - getScaledScopeSample16(&s, scopeDrawPos); - scopeLine(x16, y1, y2); - y1 = y2; - - SCOPE_UPDATE_POS - } - } - else - { - y1 = scopeLineY - getScaledScopeSample8(&s, scopeDrawPos); - SCOPE_UPDATE_POS - - x16 = scopeXOffs; - len = scopeXOffs + (scopeDrawLen - 1); - - for (; x16 < len; x16++) - { - y2 = scopeLineY - getScaledScopeSample8(&s, scopeDrawPos); - scopeLine(x16, y1, y2); - y1 = y2; - - SCOPE_UPDATE_POS - } - } - } - else - { - // PIXEL SCOPE - - scopePixelColor = video.palette[PAL_PATTEXT]; - - x = scopeXOffs; - len = scopeXOffs + scopeDrawLen; - - if (s.sample16Bit) - { - for (; x < len; x++) - { - sample = getScaledScopeSample16(&s, scopeDrawPos); - video.frameBuffer[((scopeLineY - sample) * SCREEN_W) + x] = scopePixelColor; - - SCOPE_UPDATE_POS - } - } - else - { - for (; x < len; x++) - { - sample = getScaledScopeSample8(&s, scopeDrawPos); - video.frameBuffer[((scopeLineY - sample) * SCREEN_W) + x] = scopePixelColor; - - SCOPE_UPDATE_POS - } - } - } - } - else - { - // scope is inactive - - sc = &scope[i]; - if (!sc->wasCleared) - { - // clear scope background - clearRect(scopeXOffs, scopeYOffs, scopeDrawLen, SCOPE_DATA_HEIGHT); - - // draw empty line - hLine(scopeXOffs, scopeLineY, scopeDrawLen, PAL_PATTEXT); - - sc->wasCleared = true; - } - } - - // draw channel numbering (if enabled) - if (config.ptnChnNumbers) - drawScopeNumber(scopeXOffs, scopeYOffs, (uint8_t)i, false); - - // draw rec. symbol (if enabled) - if (config.multiRecChn[i]) - blit(scopeXOffs, scopeYOffs + 31, scopeRecBMP, 13, 4); - } - - // align x to next scope - scopeXOffs += scopeDrawLen + 3; - } - - scopesDisplayingFlag = false; -} - -void drawScopeFramework(void) -{ - drawFramework(0, 92, 291, 81, FRAMEWORK_TYPE1); - for (uint8_t i = 0; i < song.antChn; i++) - redrawScope(i); -} - -void handleScopesFromChQueue(chSyncData_t *chSyncData, uint8_t *scopeUpdateStatus) -{ - uint8_t status; - syncedChannel_t *ch; - volatile scope_t *sc; - sampleTyp *smpPtr; - - for (int32_t i = 0; i < song.antChn; i++) - { - sc = &scope[i]; - ch = &chSyncData->channels[i]; - status = scopeUpdateStatus[i]; - - // set scope volume - if (status & IS_Vol) - sc->SVol = (int8_t)((ch->finalVol * SCOPE_DATA_HEIGHT) >> 11); - - // set scope frequency - if (status & IS_Period) - { - if (ch->voiceDelta != oldVoiceDelta) - { - oldVoiceDelta = ch->voiceDelta; - oldSFrq = (uint32_t)((oldVoiceDelta * audio.dScopeFreqMul) + 0.5); - } - - sc->SFrq = oldSFrq; - } - - // start scope sample - if (status & IS_NyTon) - { - if (instr[ch->instrNr] != NULL) - { - smpPtr = &instr[ch->instrNr]->samp[ch->sampleNr]; - scopeTrigger((uint8_t)i, smpPtr, ch->smpStartPos); - - // set stuff used by Smp. Ed. for sampling position line - - if (ch->instrNr == 130 || (ch->instrNr == editor.curInstr && ch->sampleNr == editor.curSmp)) - editor.curSmpChannel = (uint8_t)i; - - lastChInstr[i].instrNr = ch->instrNr; - lastChInstr[i].sampleNr = ch->sampleNr; - } - } - } -} - -static int32_t SDLCALL scopeThreadFunc(void *ptr) -{ - int32_t time32; - uint32_t diff32; - uint64_t time64; - - (void)ptr; - - // this is needed for scope stability (confirmed) - SDL_SetThreadPriority(SDL_THREAD_PRIORITY_HIGH); - - // set next frame time - timeNext64 = SDL_GetPerformanceCounter() + scopeTimeLen; - timeNext64Frac = scopeTimeLenFrac; - - while (editor.programRunning) - { - editor.scopeThreadMutex = true; - updateScopes(); - editor.scopeThreadMutex = false; - - time64 = SDL_GetPerformanceCounter(); - if (time64 < timeNext64) - { - assert(timeNext64-time64 <= 0xFFFFFFFFULL); - diff32 = (uint32_t)(timeNext64 - time64); - - // convert to microseconds and round to integer - time32 = (int32_t)((diff32 * editor.dPerfFreqMulMicro) + 0.5); - - // delay until we have reached next tick - if (time32 > 0) - usleep(time32); - } - - // update next tick time - timeNext64 += scopeTimeLen; - - timeNext64Frac += scopeTimeLenFrac; - if (timeNext64Frac >= (1ULL << 32)) - { - timeNext64++; - timeNext64Frac &= 0xFFFFFFFF; - } - } - - return true; -} - -bool initScopes(void) -{ - double dInt, dFrac; - - // calculate scope time for performance counters and split into int/frac - dFrac = modf(editor.dPerfFreq / SCOPE_HZ, &dInt); - - // integer part - scopeTimeLen = (uint32_t)dInt; - - // fractional part scaled to 0..2^32-1 - dFrac *= UINT32_MAX + 1.0; - if (dFrac > (double)UINT32_MAX) - dFrac = (double)UINT32_MAX; - scopeTimeLenFrac = (uint32_t)round(dFrac); - - scopeThread = SDL_CreateThread(scopeThreadFunc, NULL, NULL); - if (scopeThread == NULL) - { - showErrorMsgBox("Couldn't create channel scope thread!"); - return false; - } - - SDL_DetachThread(scopeThread); - return true; -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include // modf() +#ifndef _WIN32 +#include // usleep() +#endif +#include "ft2_header.h" +#include "ft2_events.h" +#include "ft2_config.h" +#include "ft2_audio.h" +#include "ft2_gui.h" +#include "ft2_midi.h" +#include "ft2_gfxdata.h" +#include "ft2_scopes.h" +#include "ft2_mouse.h" +#include "ft2_video.h" +#include "ft2_scopedraw.h" +#include "ft2_tables.h" + +enum +{ + LOOP_NONE = 0, + LOOP_FORWARD = 1, + LOOP_PINGPONG = 2 +}; + +#define SCOPE_HEIGHT 36 + +// data to be read from main update thread during sample trigger +typedef struct scopeState_t +{ + int8_t *pek; + uint8_t typ; + int32_t len, repS, repL, playOffset; +} scopeState_t; + +static volatile bool scopesUpdatingFlag, scopesDisplayingFlag; +static uint32_t oldVoiceDelta, oldSFrq, scopeTimeLen, scopeTimeLenFrac; +static uint64_t timeNext64, timeNext64Frac; +static volatile scope_t scope[MAX_VOICES]; +static SDL_Thread *scopeThread; + +lastChInstr_t lastChInstr[MAX_VOICES]; // global + +void resetOldScopeRates(void) +{ + oldVoiceDelta = 0; + oldSFrq = 0; +} + +int32_t getSamplePosition(uint8_t ch) +{ + volatile bool active, sample16Bit; + volatile int32_t pos, len; + volatile scope_t *sc; + + if (ch >= song.antChn) + return -1; + + sc = &scope[ch]; + + // cache some stuff + active = sc->active; + pos = sc->SPos; + len = sc->SLen; + sample16Bit = sc->sample16Bit; + + if (!active || len == 0) + return -1; + + if (pos >= 0 && pos < len) + { + if (sample16Bit) + pos <<= 1; + + return pos; + } + + return -1; // not active or overflown +} + +void stopAllScopes(void) +{ + // wait for scopes to finish updating + while (scopesUpdatingFlag); + + for (uint8_t i = 0; i < MAX_VOICES; i++) + scope[i].active = false; + + // wait for scope displaying to be done (safety) + while (scopesDisplayingFlag); +} + +// toggle mute +static void setChannel(int16_t nr, bool on) +{ + stmTyp *ch; + + ch = &stm[nr]; + + ch->stOff = !on; + if (ch->stOff) + { + ch->effTyp = 0; + ch->eff = 0; + ch->realVol = 0; + ch->outVol = 0; + ch->oldVol = 0; + ch->finalVol = 0; + ch->outPan = 128; + ch->oldPan = 128; + ch->finalPan = 128; + ch->status = IS_Vol; + + ch->envSustainActive = false; // non-FT2 bug fix for stuck piano keys + } + + scope[nr].wasCleared = false; +} + +static void drawScopeNumber(uint16_t scopeXOffs, uint16_t scopeYOffs, uint8_t channel, bool outline) +{ + scopeYOffs++; + channel++; + + if (outline) + { + if (channel < 10) // one digit? + { + charOutOutlined(scopeXOffs, scopeYOffs, PAL_MOUSEPT, '0' + channel); + } + else + { + charOutOutlined(scopeXOffs, scopeYOffs, PAL_MOUSEPT, chDecTab1[channel]); + charOutOutlined(scopeXOffs + 7, scopeYOffs, PAL_MOUSEPT, chDecTab2[channel]); + } + } + else + { + if (channel < 10) // one digit? + { + charOut(scopeXOffs, scopeYOffs, PAL_MOUSEPT, '0' + channel); + } + else + { + charOut(scopeXOffs, scopeYOffs, PAL_MOUSEPT, chDecTab1[channel]); + charOut(scopeXOffs + 7, scopeYOffs, PAL_MOUSEPT, chDecTab2[channel]); + } + } +} + +static void redrawScope(int16_t ch) +{ + uint8_t chansPerRow; + const uint16_t *scopeLens; + uint16_t x, y, i, chanLookup, scopeLen, muteGfxLen, muteGfxX; + + chansPerRow = song.antChn / 2; + chanLookup = chansPerRow - 1; + scopeLens = scopeLenTab[chanLookup]; + + x = 2; + y = 94; + + scopeLen = 0; // prevent compiler warning + for (i = 0; i < song.antChn; i++) + { + scopeLen = scopeLens[i]; + + if (i == chansPerRow) // did we reach end of row? + { + // yes, go one row down + x = 2; + y += 39; + } + + if (i == ch) + break; + + // adjust position to next channel + x += scopeLen + 3; + } + + drawFramework(x, y, scopeLen + 2, 38, FRAMEWORK_TYPE2); + + // draw mute graphics if channel is muted + if (!editor.chnMode[i]) + { + muteGfxLen = scopeMuteBMPWidths[chanLookup]; + muteGfxX = x + ((scopeLen - muteGfxLen) / 2); + + blitFast(muteGfxX, y + 6, scopeMuteBMPPointers[chanLookup], muteGfxLen, scopeMuteBMPHeights[chanLookup]); + + if (config.ptnChnNumbers) + drawScopeNumber(x + 1, y + 1, (uint8_t)i, true); + } + + scope[ch].wasCleared = false; +} + +void refreshScopes(void) +{ + for (int16_t i = 0; i < MAX_VOICES; i++) + scope[i].wasCleared = false; +} + +static void channelMode(int16_t chn) +{ + bool m, m2, test; + int16_t i; + + assert(chn < song.antChn); + + m = mouse.leftButtonPressed && !mouse.rightButtonPressed; + m2 = mouse.rightButtonPressed && mouse.leftButtonPressed; + + if (m2) + { + test = false; + for (i = 0; i < song.antChn; i++) + { + if (i != chn && !editor.chnMode[i]) + test = true; + } + + if (test) + { + for (i = 0; i < song.antChn; i++) + editor.chnMode[i] = true; + } + else + { + for (i = 0; i < song.antChn; i++) + editor.chnMode[i] = (i == chn); + } + } + else if (m) + { + editor.chnMode[chn] ^= 1; + } + else + { + if (editor.chnMode[chn]) + { + config.multiRecChn[chn] ^= 1; + } + else + { + config.multiRecChn[chn] = true; + editor.chnMode[chn] = true; + m = true; + } + } + + for (i = 0; i < song.antChn; i++) + setChannel(i, editor.chnMode[i]); + + if (m2) + { + for (i = 0; i < song.antChn; i++) + redrawScope(i); + } + else + { + redrawScope(chn); + } +} + +bool testScopesMouseDown(void) +{ + int8_t chanToToggle; + uint8_t i, chansPerRow; + uint16_t x; + const uint16_t *scopeLens; + + if (!editor.ui.scopesShown) + return false; + + if (mouse.y >= 95 && mouse.y <= 169 && mouse.x >= 3 && mouse.x <= 288) + { + if (mouse.y > 130 && mouse.y < 134) + return true; + + chansPerRow = song.antChn / 2; + scopeLens = scopeLenTab[chansPerRow-1]; + + // find out if we clicked inside a scope + x = 3; + for (i = 0; i < chansPerRow; i++) + { + if (mouse.x >= x && mouse.x < x+scopeLens[i]) + break; + + x += scopeLens[i] + 3; + } + + if (i == chansPerRow) + return true; // scope framework was clicked instead + + chanToToggle = i; + if (mouse.y >= 134) // second row of scopes? + chanToToggle += chansPerRow; // yes, increase lookup offset + + channelMode(chanToToggle); + return true; + } + + return false; +} + +static void scopeTrigger(uint8_t ch, sampleTyp *s, int32_t playOffset) +{ + bool sampleIs16Bit; + uint8_t loopType; + int32_t length, loopBegin, loopLength; + volatile scope_t *sc; + scope_t tempState; + + sc = &scope[ch]; + + length = s->len; + loopBegin = s->repS; + loopLength = s->repL; + loopType = s->typ & 3; + sampleIs16Bit = (s->typ >> 4) & 1; + + if (sampleIs16Bit) + { + assert(!(length & 1)); + assert(!(loopBegin & 1)); + assert(!(loopLength & 1)); + + length >>= 1; + loopBegin >>= 1; + loopLength >>= 1; + } + + if (s->pek == NULL || length < 1) + { + sc->active = false; // shut down scope (illegal parameters) + return; + } + + if (loopLength < 1) // disable loop if loopLength is below 1 + loopType = 0; + + if (sampleIs16Bit) + tempState.sampleData16 = (const int16_t *)s->pek; + else + tempState.sampleData8 = (const int8_t *)s->pek; + + tempState.sample16Bit = sampleIs16Bit; + tempState.loopType = loopType; + + tempState.SPosDir = 1; // forwards + tempState.SLen = (loopType > 0) ? (loopBegin + loopLength) : length; + tempState.SRepS = loopBegin; + tempState.SRepL = loopLength; + tempState.SPos = playOffset; + tempState.SPosDec = 0; // position fraction + + // if 9xx position overflows, shut down scopes + if (tempState.SPos >= tempState.SLen) + { + sc->active = false; + return; + } + + // these has to be read + tempState.active = true; + tempState.wasCleared = sc->wasCleared; + tempState.SFrq = sc->SFrq; + tempState.SVol = sc->SVol; + + /* Update live scope now. + ** In theory it -can- be written to in the middle of a cached read, + ** then the read thread writes its own non-updated cached copy back and + ** the trigger never happens. So far I have never seen it happen, + ** so it's probably very rare. Yes, this is not good coding... */ + *sc = tempState; +} + +static void updateScopes(void) +{ + int32_t loopOverflowVal; + volatile scope_t *sc; + scope_t tempState; + + scopesUpdatingFlag = true; + + sc = scope; + for (uint32_t i = 0; i < song.antChn; i++, sc++) + { + tempState = *sc; // cache it + if (!tempState.active) + continue; // scope is not active, no need + + // scope position update + + tempState.SPosDec += tempState.SFrq; + tempState.SPos += ((tempState.SPosDec >> 16) * tempState.SPosDir); + tempState.SPosDec &= 0xFFFF; + + // handle loop wrapping or sample end + + if (tempState.SPosDir == -1 && tempState.SPos < tempState.SRepS) // sampling backwards (definitely pingpong loop) + { + tempState.SPosDir = 1; // change direction to forwards + + if (tempState.SRepL < 2) + tempState.SPos = tempState.SRepS; + else + tempState.SPos = tempState.SRepS + ((tempState.SRepS - tempState.SPos - 1) % tempState.SRepL); + + assert(tempState.SPos >= tempState.SRepS && tempState.SPos < tempState.SLen); + } + else if (tempState.SPos >= tempState.SLen) + { + if (tempState.SRepL < 2) + loopOverflowVal = 0; + else + loopOverflowVal = (tempState.SPos - tempState.SLen) % tempState.SRepL; + + if (tempState.loopType == LOOP_NONE) + { + tempState.active = false; + } + else if (tempState.loopType == LOOP_FORWARD) + { + tempState.SPos = tempState.SRepS + loopOverflowVal; + assert(tempState.SPos >= tempState.SRepS && tempState.SPos < tempState.SLen); + } + else // pingpong loop + { + tempState.SPosDir = -1; // change direction to backwards + tempState.SPos = (tempState.SLen - 1) - loopOverflowVal; + assert(tempState.SPos >= tempState.SRepS && tempState.SPos < tempState.SLen); + } + } + assert(tempState.SPos >= 0); + + *sc = tempState; // update scope state + } + scopesUpdatingFlag = false; +} + +void drawScopes(void) +{ + int16_t scopeLineY; + const uint16_t *scopeLens; + uint16_t chansPerRow, scopeXOffs, scopeYOffs, scopeDrawLen; + volatile scope_t *sc; + scope_t s; + + scopesDisplayingFlag = true; + chansPerRow = song.antChn / 2; + + scopeLens = scopeLenTab[chansPerRow-1]; + scopeXOffs = 3; + scopeYOffs = 95; + scopeLineY = 112; + + for (int16_t i = 0; i < song.antChn; i++) + { + // if we reached the last scope on the row, go to first scope on the next row + if (i == chansPerRow) + { + scopeXOffs = 3; + scopeYOffs = 134; + scopeLineY = 151; + } + + scopeDrawLen = scopeLens[i]; + + if (!editor.chnMode[i]) // scope muted (mute graphics blit()'ed elsewhere) + { + scopeXOffs += scopeDrawLen + 3; // align x to next scope + continue; + } + + s = scope[i]; // cache scope to lower thread race condition issues + if (s.active && s.SVol > 0 && !audio.locked) + { + // scope is active + + scope[i].wasCleared = false; + + // clear scope background + clearRect(scopeXOffs, scopeYOffs, scopeDrawLen, SCOPE_HEIGHT); + + // draw scope + bool linedScopes = !!(config.specialFlags & LINED_SCOPES); + scopeDrawRoutineTable[(linedScopes * 6) + (s.sample16Bit * 3) + s.loopType](&s, scopeXOffs, scopeLineY, scopeDrawLen); + } + else + { + // scope is inactive + + sc = &scope[i]; + if (!sc->wasCleared) + { + // clear scope background + clearRect(scopeXOffs, scopeYOffs, scopeDrawLen, SCOPE_HEIGHT); + + // draw empty line + hLine(scopeXOffs, scopeLineY, scopeDrawLen, PAL_PATTEXT); + + sc->wasCleared = true; + } + } + + // draw channel numbering (if enabled) + if (config.ptnChnNumbers) + drawScopeNumber(scopeXOffs, scopeYOffs, (uint8_t)i, false); + + // draw rec. symbol (if enabled) + if (config.multiRecChn[i]) + blit(scopeXOffs, scopeYOffs + 31, scopeRecBMP, 13, 4); + + scopeXOffs += scopeDrawLen + 3; // align x to next scope + } + + scopesDisplayingFlag = false; +} + +void drawScopeFramework(void) +{ + drawFramework(0, 92, 291, 81, FRAMEWORK_TYPE1); + for (uint8_t i = 0; i < song.antChn; i++) + redrawScope(i); +} + +void handleScopesFromChQueue(chSyncData_t *chSyncData, uint8_t *scopeUpdateStatus) +{ + uint8_t status; + syncedChannel_t *ch; + volatile scope_t *sc; + sampleTyp *smpPtr; + + sc = scope; + ch = chSyncData->channels; + for (int32_t i = 0; i < song.antChn; i++, sc++, ch++) + { + status = scopeUpdateStatus[i]; + + // set scope volume + if (status & IS_Vol) + sc->SVol = (int8_t)(((ch->finalVol * SCOPE_HEIGHT) + (1 << 15)) >> 16); // rounded + + // set scope frequency + if (status & IS_Period) + { + if (ch->voiceDelta != oldVoiceDelta) + { + oldVoiceDelta = ch->voiceDelta; + oldSFrq = (int32_t)((oldVoiceDelta * audio.dScopeFreqMul) + 0.5); // rounded + } + + sc->SFrq = oldSFrq; + } + + // start scope sample + if (status & IS_NyTon) + { + if (instr[ch->instrNr] != NULL) + { + smpPtr = &instr[ch->instrNr]->samp[ch->sampleNr]; + scopeTrigger((uint8_t)i, smpPtr, ch->smpStartPos); + + // set stuff used by Smp. Ed. for sampling position line + + if (ch->instrNr == 130 || (ch->instrNr == editor.curInstr && ch->sampleNr == editor.curSmp)) + editor.curSmpChannel = (uint8_t)i; + + lastChInstr[i].instrNr = ch->instrNr; + lastChInstr[i].sampleNr = ch->sampleNr; + } + } + } +} + +static int32_t SDLCALL scopeThreadFunc(void *ptr) +{ + int32_t time32; + uint32_t diff32; + uint64_t time64; + + (void)ptr; + + // this is needed for scope stability (confirmed) + SDL_SetThreadPriority(SDL_THREAD_PRIORITY_HIGH); + + // set next frame time + timeNext64 = SDL_GetPerformanceCounter() + scopeTimeLen; + timeNext64Frac = scopeTimeLenFrac; + + while (editor.programRunning) + { + editor.scopeThreadMutex = true; + updateScopes(); + editor.scopeThreadMutex = false; + + time64 = SDL_GetPerformanceCounter(); + if (time64 < timeNext64) + { + assert(timeNext64-time64 <= 0xFFFFFFFFULL); + diff32 = (uint32_t)(timeNext64 - time64); + + // convert to microseconds and round to integer + time32 = (int32_t)((diff32 * editor.dPerfFreqMulMicro) + 0.5); + + // delay until we have reached next tick + if (time32 > 0) + usleep(time32); + } + + // update next tick time + timeNext64 += scopeTimeLen; + timeNext64Frac += scopeTimeLenFrac; + if (timeNext64Frac > 0xFFFFFFFF) + { + timeNext64Frac &= 0xFFFFFFFF; + timeNext64++; + } + } + + return true; +} + +bool initScopes(void) +{ + double dInt, dFrac; + + // calculate scope time for performance counters and split into int/frac + dFrac = modf(editor.dPerfFreq / SCOPE_HZ, &dInt); + + // integer part + scopeTimeLen = (uint32_t)dInt; + + // fractional part (scaled to 0..2^32-1) + dFrac *= UINT32_MAX; + scopeTimeLenFrac = (uint32_t)(dFrac + 0.5); + + scopeThread = SDL_CreateThread(scopeThreadFunc, NULL, NULL); + if (scopeThread == NULL) + { + showErrorMsgBox("Couldn't create channel scope thread!"); + return false; + } + + SDL_DetachThread(scopeThread); + return true; +} diff --git a/src/ft2_scopes.h b/src/ft2_scopes.h index 3bf09ee..ba79ad9 100644 --- a/src/ft2_scopes.h +++ b/src/ft2_scopes.h @@ -1,21 +1,34 @@ -#pragma once - -#include -#include -#include "ft2_header.h" - -void resetOldScopeRates(void); -int32_t getSamplePosition(uint8_t ch); -void stopAllScopes(void); -void refreshScopes(void); -bool testScopesMouseDown(void); -void drawScopes(void); -void drawScopeFramework(void); -bool initScopes(void); - -typedef struct lastChInstr_t -{ - uint8_t sampleNr, instrNr; -} lastChInstr_t; - -extern lastChInstr_t lastChInstr[MAX_VOICES]; +#pragma once + +#include +#include +#include "ft2_header.h" + +void resetOldScopeRates(void); +int32_t getSamplePosition(uint8_t ch); +void stopAllScopes(void); +void refreshScopes(void); +bool testScopesMouseDown(void); +void drawScopes(void); +void drawScopeFramework(void); +bool initScopes(void); + +// actual scope data +typedef struct scope_t +{ + volatile bool active; + const int8_t *sampleData8; + const int16_t *sampleData16; + int8_t SVol; + bool wasCleared, sample16Bit; + uint8_t loopType; + int32_t SPosDir, SRepS, SRepL, SLen, SPos; + uint32_t SFrq, SPosDec; +} scope_t; + +typedef struct lastChInstr_t +{ + uint8_t sampleNr, instrNr; +} lastChInstr_t; + +extern lastChInstr_t lastChInstr[MAX_VOICES]; diff --git a/src/ft2_scrollbars.c b/src/ft2_scrollbars.c index b9687f6..cd96043 100644 --- a/src/ft2_scrollbars.c +++ b/src/ft2_scrollbars.c @@ -1,684 +1,708 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include "ft2_header.h" -#include "ft2_gui.h" -#include "ft2_config.h" -#include "ft2_audio.h" -#include "ft2_help.h" -#include "ft2_sample_ed.h" -#include "ft2_inst_ed.h" -#include "ft2_diskop.h" -#include "ft2_pattern_ed.h" -#include "ft2_audioselector.h" -#include "ft2_midi.h" -#include "ft2_mouse.h" -#include "ft2_video.h" -#include "ft2_palette.h" - -scrollBar_t scrollBars[NUM_SCROLLBARS] = -{ - // ------ RESERVED SCROLLBARS ------ - { 0 }, { 0 }, { 0 }, - - /* - ** -- STRUCT INFO: -- - ** x = x position - ** y = y position - ** w = width - ** h = height - ** type = scrollbar type (vertical/horizontal) - ** style = scrollbar style (flat/noflat) - ** funcOnDown = function to call when pressed - */ - - // ------ POSITION EDITOR SCROLLBARS ------ - //x, y, w, h, type, style funcOnDown - { 55, 15, 18, 21, SCROLLBAR_VERTICAL, SCROLLBAR_THUMB_FLAT, sbPosEdPos }, - - // ------ INSTRUMENT SWITCHER SCROLLBARS ------ - //x, y, w, h, type, style funcOnDown - { 566, 112, 18, 28, SCROLLBAR_VERTICAL, SCROLLBAR_THUMB_FLAT, sbSmpBankPos }, - - // ------ PATTERN VIEWER SCROLLBARS ------ - //x, y, w, h, type, style funcOnDown - { 28, 385, 576, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_FLAT, setChannelScrollPos }, - - // ------ HELP SCREEN SCROLLBARS ------ - //x, y, w, h, type, style funcOnDown - { 611, 15, 18, 143, SCROLLBAR_VERTICAL, SCROLLBAR_THUMB_FLAT, helpScrollSetPos }, - - // ------ SAMPLE EDITOR SCROLLBARS ------ - //x, y, w, h, type, style funcOnDown - { 26, 331, 580, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_FLAT, scrollSampleData }, - - // ------ INSTRUMENT EDITOR SCROLLBARS ------ - //x, y, w, h, type, style funcOnDown - { 544, 175, 62, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, setVolumeScroll }, - { 544, 189, 62, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, setPanningScroll }, - { 544, 203, 62, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, setFinetuneScroll }, - { 544, 220, 62, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, setFadeoutScroll }, - { 544, 234, 62, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, setVibSpeedScroll }, - { 544, 248, 62, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, setVibDepthScroll }, - { 544, 262, 62, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, setVibSweepScroll }, - - // ------ INSTRUMENT EDITOR EXTENSION SCROLLBARS ------ - //x, y, w, h, type, style funcOnDown - { 195, 130, 70, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbMidiChPos }, - { 195, 144, 70, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbMidiPrgPos }, - { 195, 158, 70, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbMidiBendPos }, - - // ------ CONFIG AUDIO SCROLLBARS ------ - //x, y, w, h, type, style funcOnDown - { 365, 29, 18, 43, SCROLLBAR_VERTICAL, SCROLLBAR_THUMB_FLAT, sbAudOutputSetPos }, - { 365, 116, 18, 42, SCROLLBAR_VERTICAL, SCROLLBAR_THUMB_FLAT, sbAudInputSetPos }, - { 529, 132, 79, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbAmp }, - { 529, 158, 79, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbMasterVol }, - - // ------ CONFIG LAYOUT SCROLLBARS ------ - //x, y, w, h, type, style funcOnDown - { 536, 15, 70, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbPalRPos }, - { 536, 29, 70, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbPalGPos }, - { 536, 43, 70, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbPalBPos }, - { 536, 71, 70, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbPalContrastPos }, - - // ------ CONFIG MISCELLANEOUS SCROLLBARS ------ - //x, y, w, h, type, style funcOnDown - { 578, 158, 29, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbMIDISens }, - - // ------ CONFIG MIDI SCROLLBARS ------ - //x, y, w, h, type, style funcOnDown - { 483, 15, 18, 143, SCROLLBAR_VERTICAL, SCROLLBAR_THUMB_FLAT, sbMidiInputSetPos }, - - // ------ DISK OP. SCROLLBARS ------ - //x, y, w, h, type, style funcOnDown - { 335, 15, 18, 143, SCROLLBAR_VERTICAL, SCROLLBAR_THUMB_FLAT, sbDiskOpSetPos } -}; - -void drawScrollBar(uint16_t scrollBarID) -{ - int16_t thumbX, thumbY, thumbW, thumbH; - scrollBar_t *scrollBar; - - assert(scrollBarID < NUM_SCROLLBARS); - - scrollBar = &scrollBars[scrollBarID]; - if (!scrollBar->visible) - return; - - assert(scrollBar->x < SCREEN_W && scrollBar->y < SCREEN_H && scrollBar->w >= 3 && scrollBar->h >= 3); - - thumbX = scrollBar->thumbX; - thumbY = scrollBar->thumbY; - thumbW = scrollBar->thumbW; - thumbH = scrollBar->thumbH; - - // clear scrollbar background (lazy, but sometimes even faster than filling bg gaps) - clearRect(scrollBar->x, scrollBar->y, scrollBar->w, scrollBar->h); - - // draw thumb - if (scrollBar->thumbType == SCROLLBAR_THUMB_FLAT) - { - // flat - fillRect(thumbX, thumbY, thumbW, thumbH, PAL_PATTEXT); - } - else - { - // 3D - fillRect(thumbX, thumbY, thumbW, thumbH, PAL_BUTTONS); - - if (scrollBar->state == SCROLLBAR_UNPRESSED) - { - // top left corner inner border - hLine(thumbX, thumbY, thumbW - 1, PAL_BUTTON1); - vLine(thumbX, thumbY + 1, thumbH - 2, PAL_BUTTON1); - - // bottom right corner inner border - hLine(thumbX, thumbY + thumbH - 1, thumbW - 1, PAL_BUTTON2); - vLine(thumbX + thumbW - 1, thumbY, thumbH, PAL_BUTTON2); - } - else - { - // top left corner inner border - hLine(thumbX, thumbY, thumbW, PAL_BUTTON2); - vLine(thumbX, thumbY + 1, thumbH - 1, PAL_BUTTON2); - } - } -} - -void showScrollBar(uint16_t scrollBarID) -{ - assert(scrollBarID < NUM_SCROLLBARS); - scrollBars[scrollBarID].visible = true; - drawScrollBar(scrollBarID); -} - -void hideScrollBar(uint16_t scrollBarID) -{ - assert(scrollBarID < NUM_SCROLLBARS); - scrollBars[scrollBarID].state = 0; - scrollBars[scrollBarID].visible = false; -} - -static void setScrollBarThumbCoords(uint16_t scrollBarID) -{ - int16_t tmp16, thumbX, thumbY, thumbW, thumbH, scrollEnd; - scrollBar_t *scrollBar; - - assert(scrollBarID < NUM_SCROLLBARS); - scrollBar = &scrollBars[scrollBarID]; - - assert(scrollBar->page > 0); - - // uninitialized scrollbar, set full thumb length/height - if (scrollBar->end == 0) - { - scrollBar->thumbX = scrollBar->x + 1; - scrollBar->thumbY = scrollBar->y + 1; - scrollBar->thumbW = scrollBar->w - 2; - scrollBar->thumbH = scrollBar->h - 2; - return; - } - - if (scrollBar->type == SCROLLBAR_HORIZONTAL) - { - // horizontal scrollbar - - thumbY = scrollBar->y + 1; - thumbH = scrollBar->h - 2; - scrollEnd = scrollBar->x + scrollBar->w; - - if (scrollBar->thumbType == SCROLLBAR_THUMB_NOFLAT) - { - thumbW = 15; - if (scrollBar->end > 0) - { - tmp16 = (int16_t)round(((scrollBar->w - thumbW) / (double)scrollBar->end) * scrollBar->pos); - thumbX = scrollBar->x + tmp16; - } - else - { - thumbX = scrollBar->x; - } - } - else - { - if (scrollBar->end > 0) - { - tmp16 = (int16_t)round((scrollBar->w / (double)scrollBar->end) * scrollBar->page); - thumbW = CLAMP(tmp16, 1, scrollBar->w); - } - else - { - thumbW = 1; - } - - if (scrollBar->end > scrollBar->page) - { - tmp16 = (int16_t)round(((scrollBar->w - thumbW) / (double)(scrollBar->end - scrollBar->page)) * scrollBar->pos); - thumbX = scrollBar->x + tmp16; - } - else - { - thumbX = scrollBar->x; - } - } - - // prevent scrollbar thumb coords from being outside of the scrollbar area - thumbX = CLAMP(thumbX, scrollBar->x, scrollEnd - 1); - if (thumbX+thumbW > scrollEnd) - thumbW = scrollEnd - thumbX; - } - else - { - // vertical scrollbar - - thumbX = scrollBar->x + 1; - thumbW = scrollBar->w - 2; - scrollEnd = scrollBar->y + scrollBar->h; - - if (scrollBar->end > 0) - { - tmp16 = (int16_t)round((scrollBar->h / (double)scrollBar->end) * scrollBar->page); - thumbH = CLAMP(tmp16, 1, scrollBar->h); - } - else - { - thumbH = 1; - } - - if (scrollBar->end > scrollBar->page) - { - tmp16 = (int16_t)round(((scrollBar->h - thumbH) / (double)(scrollBar->end - scrollBar->page)) * scrollBar->pos); - thumbY = scrollBar->y + tmp16; - } - else - { - thumbY = scrollBar->y; - } - - // prevent scrollbar thumb coords from being outside of the scrollbar area - thumbY = CLAMP(thumbY, scrollBar->y, scrollEnd - 1); - if (thumbY+thumbH > scrollEnd) - thumbH = scrollEnd - thumbY; - } - - // set values now - scrollBar->thumbX = thumbX; - scrollBar->thumbY = thumbY; - scrollBar->thumbW = thumbW; - scrollBar->thumbH = thumbH; -} - -void scrollBarScrollUp(uint16_t scrollBarID, uint32_t amount) -{ - scrollBar_t *scrollBar; - - assert(scrollBarID < NUM_SCROLLBARS); - scrollBar = &scrollBars[scrollBarID]; - - assert(scrollBar->page > 0 && scrollBar->end > 0); - - if (scrollBar->end < scrollBar->page || scrollBar->pos == 0) - return; - - if (scrollBar->pos >= amount) - scrollBar->pos -= amount; - else - scrollBar->pos = 0; - - setScrollBarThumbCoords(scrollBarID); - drawScrollBar(scrollBarID); - - if (scrollBar->callbackFunc != NULL) - scrollBar->callbackFunc(scrollBar->pos); -} - -void scrollBarScrollDown(uint16_t scrollBarID, uint32_t amount) -{ - uint32_t endPos; - scrollBar_t *scrollBar; - - assert(scrollBarID < NUM_SCROLLBARS); - scrollBar = &scrollBars[scrollBarID]; - - assert(scrollBar->page > 0 && scrollBar->end > 0); - - if (scrollBar->end < scrollBar->page) - return; - - endPos = scrollBar->end; - if (scrollBar->thumbType == SCROLLBAR_THUMB_FLAT) - { - if (endPos >= scrollBar->page) - endPos -= scrollBar->page; - else - endPos = 0; - } - - // check if we're already at the end - if (scrollBar->pos == endPos) - return; - - scrollBar->pos += amount; - if (scrollBar->pos > endPos) - scrollBar->pos = endPos; - - setScrollBarThumbCoords(scrollBarID); - drawScrollBar(scrollBarID); - - if (scrollBar->callbackFunc != NULL) - scrollBar->callbackFunc(scrollBar->pos); -} - -void scrollBarScrollLeft(uint16_t scrollBarID, uint32_t amount) -{ - scrollBarScrollUp(scrollBarID, amount); -} - -void scrollBarScrollRight(uint16_t scrollBarID, uint32_t amount) -{ - scrollBarScrollDown(scrollBarID, amount); -} - -void setScrollBarPos(uint16_t scrollBarID, uint32_t pos, bool triggerCallBack) -{ - uint32_t endPos; - scrollBar_t *scrollBar; - - assert(scrollBarID < NUM_SCROLLBARS); - scrollBar = &scrollBars[scrollBarID]; - - if (scrollBar->page == 0) - { - scrollBar->pos = 0; - return; - } - - if (scrollBar->end < scrollBar->page || scrollBar->pos == pos) - { - setScrollBarThumbCoords(scrollBarID); - drawScrollBar(scrollBarID); - return; - } - - endPos = scrollBar->end; - if (scrollBar->thumbType == SCROLLBAR_THUMB_FLAT) - { - if (endPos >= scrollBar->page) - endPos -= scrollBar->page; - else - endPos = 0; - } - - scrollBar->pos = pos; - if (scrollBar->pos > endPos) - scrollBar->pos = endPos; - - setScrollBarThumbCoords(scrollBarID); - drawScrollBar(scrollBarID); - - if (triggerCallBack && scrollBar->callbackFunc != NULL) - scrollBar->callbackFunc(scrollBar->pos); -} - -uint32_t getScrollBarPos(uint16_t scrollBarID) -{ - assert(scrollBarID < NUM_SCROLLBARS); - return scrollBars[scrollBarID].pos; -} - -void setScrollBarEnd(uint16_t scrollBarID, uint32_t end) -{ - uint8_t setPos; - scrollBar_t *scrollBar; - - assert(scrollBarID < NUM_SCROLLBARS); - scrollBar = &scrollBars[scrollBarID]; - - if (end < 1) - end = 1; - - scrollBar->end = end; - - setPos = false; - if (scrollBar->pos >= end) - { - scrollBar->pos = end - 1; - setPos = true; - } - - if (scrollBar->page > 0) - { - if (setPos) - { - setScrollBarPos(scrollBarID, scrollBar->pos, false); - // this will also call setScrollBarThumbCoords() and drawScrollBar() - } - else - { - setScrollBarThumbCoords(scrollBarID); - drawScrollBar(scrollBarID); - } - } -} - -void setScrollBarPageLength(uint16_t scrollBarID, uint32_t pageLength) -{ - scrollBar_t *scrollBar; - - assert(scrollBarID < NUM_SCROLLBARS); - scrollBar = &scrollBars[scrollBarID]; - - if (pageLength < 1) - pageLength = 1; - - scrollBar->page = pageLength; - if (scrollBar->end > 0) - { - setScrollBarPos(scrollBarID, scrollBar->pos, false); - setScrollBarThumbCoords(scrollBarID); - drawScrollBar(scrollBarID); - } -} - -bool testScrollBarMouseDown(void) -{ - uint16_t start, end; - int32_t scrollPos; - double dTmp; - scrollBar_t *scrollBar; - - if (editor.ui.sysReqShown) - { - // if a system request is open, only test the first three scrollbars (reserved) - start = 0; - end = 3; - } - else - { - start = 3; - end = NUM_SCROLLBARS; - } - - for (uint16_t i = start; i < end; i++) - { - scrollBar = &scrollBars[i]; - if (!scrollBar->visible) - continue; - - if (mouse.x >= scrollBar->x && mouse.x < scrollBar->x+scrollBar->w && - mouse.y >= scrollBar->y && mouse.y < scrollBar->y+scrollBar->h) - { - mouse.lastUsedObjectID = i; - mouse.lastUsedObjectType = OBJECT_SCROLLBAR; - - // kludge for when a system request is about to open - scrollBar->state = SCROLLBAR_PRESSED; - if (scrollBar->thumbType == SCROLLBAR_THUMB_NOFLAT) - drawScrollBar(mouse.lastUsedObjectType); - - if (scrollBar->type == SCROLLBAR_HORIZONTAL) - { - mouse.lastScrollXTmp = mouse.lastScrollX = mouse.x; - - if (mouse.x >= scrollBar->thumbX && mouse.x < scrollBar->thumbX+scrollBar->thumbW) - { - mouse.saveMouseX = mouse.lastScrollX - scrollBar->thumbX; - } - else - { - mouse.saveMouseX = (int16_t)round(scrollBar->thumbW / 2.0); - - scrollPos = mouse.lastScrollX - scrollBar->x - mouse.saveMouseX; - if (scrollBar->thumbType == SCROLLBAR_THUMB_NOFLAT) - scrollPos = (int32_t)round(scrollPos * (scrollBar->w / (double)(scrollBar->w - 15))); - - scrollPos = CLAMP(scrollPos, 0, scrollBar->w); - - assert(scrollBar->w > 0); - - dTmp = round(((double)scrollPos * scrollBar->end) / scrollBar->w); - setScrollBarPos(mouse.lastUsedObjectID, (int32_t)dTmp, true); - } - } - else - { - mouse.lastScrollY = mouse.y; - if (mouse.y >= scrollBar->thumbY && mouse.y < scrollBar->thumbY+scrollBar->thumbH) - { - mouse.saveMouseY = mouse.lastScrollY - scrollBar->thumbY; - } - else - { - mouse.saveMouseY = (int16_t)(scrollBar->thumbH / 2.0); // truncate here - - scrollPos = mouse.lastScrollY - scrollBar->y - mouse.saveMouseY; - scrollPos = CLAMP(scrollPos, 0, scrollBar->h); - - assert(scrollBar->h > 0); - - dTmp = round(((double)scrollPos * scrollBar->end) / scrollBar->h); - setScrollBarPos(mouse.lastUsedObjectID, (int32_t)dTmp, true); - } - } - - // objectID can be set to none in scrollbar's callback during setScrollBarPos() - if (mouse.lastUsedObjectID == OBJECT_ID_NONE) - return true; - - scrollBar->state = SCROLLBAR_PRESSED; - if (scrollBar->thumbType == SCROLLBAR_THUMB_NOFLAT) - drawScrollBar(mouse.lastUsedObjectID); - - return true; - } - } - - return false; -} - -void testScrollBarMouseRelease(void) -{ - scrollBar_t *scrollBar; - - if (mouse.lastUsedObjectType != OBJECT_SCROLLBAR || mouse.lastUsedObjectID == OBJECT_ID_NONE) - return; - - assert(mouse.lastUsedObjectID < NUM_SCROLLBARS); - - scrollBar = &scrollBars[mouse.lastUsedObjectID]; - if (scrollBar->visible) - { - scrollBar->state = SCROLLBAR_UNPRESSED; - drawScrollBar(mouse.lastUsedObjectID); - } -} - -void handleScrollBarsWhileMouseDown(void) -{ - int16_t scrollX, scrollY; - double dTmp; - scrollBar_t *scrollBar; - - assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_SCROLLBARS); - scrollBar = &scrollBars[mouse.lastUsedObjectID]; - if (!scrollBar->visible) - return; - - if (scrollBar->type == SCROLLBAR_HORIZONTAL) - { - if (mouse.x != mouse.lastScrollX) - { - mouse.lastScrollX = mouse.x; - scrollX = mouse.lastScrollX - mouse.saveMouseX - scrollBar->x; - - if (scrollBar->thumbType == SCROLLBAR_THUMB_NOFLAT) - { - assert(scrollBar->w >= 16); - scrollX = (int16_t)round(scrollX * (scrollBar->w / (double)(scrollBar->w - 15))); - } - - scrollX = CLAMP(scrollX, 0, scrollBar->w); - - assert(scrollBar->w > 0); - - dTmp = round(((double)scrollX * scrollBar->end) / scrollBar->w); - setScrollBarPos(mouse.lastUsedObjectID, (int32_t)dTmp, true); - - if (mouse.lastUsedObjectID != OBJECT_ID_NONE) // this can change in the callback in setScrollBarPos() - drawScrollBar(mouse.lastUsedObjectID); - } - } - else - { - if (mouse.y != mouse.lastScrollY) - { - mouse.lastScrollY = mouse.y; - - scrollY = mouse.lastScrollY - mouse.saveMouseY - scrollBar->y; - scrollY = CLAMP(scrollY, 0, scrollBar->h); - - assert(scrollBar->h > 0); - - dTmp = round(((double)scrollY * scrollBar->end) / scrollBar->h); - setScrollBarPos(mouse.lastUsedObjectID, (int32_t)dTmp, true); - - if (mouse.lastUsedObjectID != OBJECT_ID_NONE) // this can change in the callback in setScrollBarPos() - drawScrollBar(mouse.lastUsedObjectID); - } - } -} - -void initializeScrollBars(void) -{ - // pattern editor - setScrollBarPageLength(SB_CHAN_SCROLL, 8); - setScrollBarEnd(SB_CHAN_SCROLL, 8); - - // position editor - setScrollBarPageLength(SB_POS_ED, 5); - setScrollBarEnd(SB_POS_ED, 5); - - // instrument switcher - setScrollBarPageLength(SB_SAMPLE_LIST, 5); - setScrollBarEnd(SB_SAMPLE_LIST, 16); - - // help screen - setScrollBarPageLength(SB_HELP_SCROLL, 15); - setScrollBarEnd(SB_HELP_SCROLL, 1); - - // config screen - setScrollBarPageLength(SB_AMP_SCROLL, 1); - setScrollBarEnd(SB_AMP_SCROLL, 31); - setScrollBarPageLength(SB_MASTERVOL_SCROLL, 1); - setScrollBarEnd(SB_MASTERVOL_SCROLL, 256); - setScrollBarPageLength(SB_PAL_R, 1); - setScrollBarEnd(SB_PAL_R, 63); - setScrollBarPageLength(SB_PAL_G, 1); - setScrollBarEnd(SB_PAL_G, 63); - setScrollBarPageLength(SB_PAL_B, 1); - setScrollBarEnd(SB_PAL_B, 63); - setScrollBarPageLength(SB_PAL_CONTRAST, 1); - setScrollBarEnd(SB_PAL_CONTRAST, 100); - setScrollBarPageLength(SB_MIDI_SENS, 1); - setScrollBarEnd(SB_MIDI_SENS, 200); - setScrollBarPageLength(SB_AUDIO_OUTPUT_SCROLL, 6); - setScrollBarEnd(SB_AUDIO_OUTPUT_SCROLL, 1); - setScrollBarPageLength(SB_AUDIO_INPUT_SCROLL, 6); - setScrollBarEnd(SB_AUDIO_INPUT_SCROLL, 1); - setScrollBarPageLength(SB_MIDI_INPUT_SCROLL, 15); - setScrollBarEnd(SB_MIDI_INPUT_SCROLL, 1); - - // disk op. - setScrollBarPageLength(SB_DISKOP_LIST, DISKOP_ENTRY_NUM); - setScrollBarEnd(SB_DISKOP_LIST, 1); - - // instrument editor - setScrollBarPageLength(SB_INST_VOL, 1); - setScrollBarEnd(SB_INST_VOL, 64); - setScrollBarPageLength(SB_INST_PAN, 1); - setScrollBarEnd(SB_INST_PAN, 255); - setScrollBarPageLength(SB_INST_FTUNE, 1); - setScrollBarEnd(SB_INST_FTUNE, 255); - setScrollBarPageLength(SB_INST_FADEOUT, 1); - setScrollBarEnd(SB_INST_FADEOUT, 0xFFF); - setScrollBarPageLength(SB_INST_VIBSPEED, 1); - setScrollBarEnd(SB_INST_VIBSPEED, 0x3F); - setScrollBarPageLength(SB_INST_VIBDEPTH, 1); - setScrollBarEnd(SB_INST_VIBDEPTH, 0xF); - setScrollBarPageLength(SB_INST_VIBSWEEP, 1); - setScrollBarEnd(SB_INST_VIBSWEEP, 0xFF); - - // instrument editor extension - setScrollBarPageLength(SB_INST_EXT_MIDI_CH, 1); - setScrollBarEnd(SB_INST_EXT_MIDI_CH, 15); - setScrollBarPageLength(SB_INST_EXT_MIDI_PRG, 1); - setScrollBarEnd(SB_INST_EXT_MIDI_PRG, 127); - setScrollBarPageLength(SB_INST_EXT_MIDI_BEND, 1); - setScrollBarEnd(SB_INST_EXT_MIDI_BEND, 36); -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include "ft2_header.h" +#include "ft2_gui.h" +#include "ft2_config.h" +#include "ft2_audio.h" +#include "ft2_help.h" +#include "ft2_sample_ed.h" +#include "ft2_inst_ed.h" +#include "ft2_diskop.h" +#include "ft2_pattern_ed.h" +#include "ft2_audioselector.h" +#include "ft2_midi.h" +#include "ft2_mouse.h" +#include "ft2_video.h" +#include "ft2_palette.h" + +scrollBar_t scrollBars[NUM_SCROLLBARS] = +{ + // ------ RESERVED SCROLLBARS ------ + { 0 }, { 0 }, { 0 }, + + /* + ** -- STRUCT INFO: -- + ** x = x position + ** y = y position + ** w = width + ** h = height + ** type = scrollbar type (vertical/horizontal) + ** style = scrollbar style (flat/noflat) + ** funcOnDown = function to call when pressed + */ + + // ------ POSITION EDITOR SCROLLBARS ------ + //x, y, w, h, type, style funcOnDown + { 55, 15, 18, 21, SCROLLBAR_VERTICAL, SCROLLBAR_THUMB_FLAT, sbPosEdPos }, + + // ------ INSTRUMENT SWITCHER SCROLLBARS ------ + //x, y, w, h, type, style funcOnDown + { 566, 112, 18, 28, SCROLLBAR_VERTICAL, SCROLLBAR_THUMB_FLAT, sbSmpBankPos }, + + // ------ PATTERN VIEWER SCROLLBARS ------ + //x, y, w, h, type, style funcOnDown + { 28, 385, 576, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_FLAT, setChannelScrollPos }, + + // ------ HELP SCREEN SCROLLBARS ------ + //x, y, w, h, type, style funcOnDown + { 611, 15, 18, 143, SCROLLBAR_VERTICAL, SCROLLBAR_THUMB_FLAT, helpScrollSetPos }, + + // ------ SAMPLE EDITOR SCROLLBARS ------ + //x, y, w, h, type, style funcOnDown + { 26, 331, 580, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_FLAT, scrollSampleData }, + + // ------ INSTRUMENT EDITOR SCROLLBARS ------ + //x, y, w, h, type, style funcOnDown + { 544, 175, 62, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, setVolumeScroll }, + { 544, 189, 62, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, setPanningScroll }, + { 544, 203, 62, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, setFinetuneScroll }, + { 544, 220, 62, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, setFadeoutScroll }, + { 544, 234, 62, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, setVibSpeedScroll }, + { 544, 248, 62, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, setVibDepthScroll }, + { 544, 262, 62, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, setVibSweepScroll }, + + // ------ INSTRUMENT EDITOR EXTENSION SCROLLBARS ------ + //x, y, w, h, type, style funcOnDown + { 195, 130, 70, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbMidiChPos }, + { 195, 144, 70, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbMidiPrgPos }, + { 195, 158, 70, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbMidiBendPos }, + + // ------ CONFIG AUDIO SCROLLBARS ------ + //x, y, w, h, type, style funcOnDown + { 365, 29, 18, 43, SCROLLBAR_VERTICAL, SCROLLBAR_THUMB_FLAT, sbAudOutputSetPos }, + { 365, 116, 18, 21, SCROLLBAR_VERTICAL, SCROLLBAR_THUMB_FLAT, sbAudInputSetPos }, + { 529, 132, 79, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbAmp }, + { 529, 158, 79, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbMasterVol }, + + // ------ CONFIG LAYOUT SCROLLBARS ------ + //x, y, w, h, type, style funcOnDown + { 536, 15, 70, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbPalRPos }, + { 536, 29, 70, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbPalGPos }, + { 536, 43, 70, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbPalBPos }, + { 536, 71, 70, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbPalContrastPos }, + + // ------ CONFIG MISCELLANEOUS SCROLLBARS ------ + //x, y, w, h, type, style funcOnDown + { 578, 158, 29, 13, SCROLLBAR_HORIZONTAL, SCROLLBAR_THUMB_NOFLAT, sbMIDISens }, + +#ifdef HAS_MIDI + // ------ CONFIG MIDI SCROLLBARS ------ + //x, y, w, h, type, style funcOnDown + { 483, 15, 18, 143, SCROLLBAR_VERTICAL, SCROLLBAR_THUMB_FLAT, sbMidiInputSetPos }, +#endif + + // ------ DISK OP. SCROLLBARS ------ + //x, y, w, h, type, style funcOnDown + { 335, 15, 18, 143, SCROLLBAR_VERTICAL, SCROLLBAR_THUMB_FLAT, sbDiskOpSetPos } +}; + +void drawScrollBar(uint16_t scrollBarID) +{ + int16_t thumbX, thumbY, thumbW, thumbH; + scrollBar_t *scrollBar; + + assert(scrollBarID < NUM_SCROLLBARS); + + scrollBar = &scrollBars[scrollBarID]; + if (!scrollBar->visible) + return; + + assert(scrollBar->x < SCREEN_W && scrollBar->y < SCREEN_H && scrollBar->w >= 3 && scrollBar->h >= 3); + + thumbX = scrollBar->thumbX; + thumbY = scrollBar->thumbY; + thumbW = scrollBar->thumbW; + thumbH = scrollBar->thumbH; + + // clear scrollbar background (lazy, but sometimes even faster than filling bg gaps) + clearRect(scrollBar->x, scrollBar->y, scrollBar->w, scrollBar->h); + + // draw thumb + if (scrollBar->thumbType == SCROLLBAR_THUMB_FLAT) + { + // flat + fillRect(thumbX, thumbY, thumbW, thumbH, PAL_PATTEXT); + } + else + { + // 3D + fillRect(thumbX, thumbY, thumbW, thumbH, PAL_BUTTONS); + + if (scrollBar->state == SCROLLBAR_UNPRESSED) + { + // top left corner inner border + hLine(thumbX, thumbY, thumbW - 1, PAL_BUTTON1); + vLine(thumbX, thumbY + 1, thumbH - 2, PAL_BUTTON1); + + // bottom right corner inner border + hLine(thumbX, thumbY + thumbH - 1, thumbW - 1, PAL_BUTTON2); + vLine(thumbX + thumbW - 1, thumbY, thumbH, PAL_BUTTON2); + } + else + { + // top left corner inner border + hLine(thumbX, thumbY, thumbW, PAL_BUTTON2); + vLine(thumbX, thumbY + 1, thumbH - 1, PAL_BUTTON2); + } + } +} + +void showScrollBar(uint16_t scrollBarID) +{ + assert(scrollBarID < NUM_SCROLLBARS); + scrollBars[scrollBarID].visible = true; + drawScrollBar(scrollBarID); +} + +void hideScrollBar(uint16_t scrollBarID) +{ + assert(scrollBarID < NUM_SCROLLBARS); + scrollBars[scrollBarID].state = 0; + scrollBars[scrollBarID].visible = false; +} + +static void setScrollBarThumbCoords(uint16_t scrollBarID) +{ + int16_t tmp16, thumbX, thumbY, thumbW, thumbH, scrollEnd; + scrollBar_t *scrollBar; + + assert(scrollBarID < NUM_SCROLLBARS); + scrollBar = &scrollBars[scrollBarID]; + + assert(scrollBar->page > 0); + + // uninitialized scrollbar, set full thumb length/height + if (scrollBar->end == 0) + { + scrollBar->thumbX = scrollBar->x + 1; + scrollBar->thumbY = scrollBar->y + 1; + scrollBar->thumbW = scrollBar->w - 2; + scrollBar->thumbH = scrollBar->h - 2; + return; + } + + if (scrollBar->type == SCROLLBAR_HORIZONTAL) + { + // horizontal scrollbar + + thumbY = scrollBar->y + 1; + thumbH = scrollBar->h - 2; + scrollEnd = scrollBar->x + scrollBar->w; + + if (scrollBar->thumbType == SCROLLBAR_THUMB_NOFLAT) + { + thumbW = 15; + if (scrollBar->end > 0) + { + tmp16 = (int16_t)round(((scrollBar->w - thumbW) / (double)scrollBar->end) * scrollBar->pos); + thumbX = scrollBar->x + tmp16; + } + else + { + thumbX = scrollBar->x; + } + } + else + { + if (scrollBar->end > 0) + { + tmp16 = (int16_t)round((scrollBar->w / (double)scrollBar->end) * scrollBar->page); + thumbW = CLAMP(tmp16, 1, scrollBar->w); + } + else + { + thumbW = 1; + } + + if (scrollBar->end > scrollBar->page) + { + tmp16 = (int16_t)round(((scrollBar->w - thumbW) / (double)(scrollBar->end - scrollBar->page)) * scrollBar->pos); + thumbX = scrollBar->x + tmp16; + } + else + { + thumbX = scrollBar->x; + } + } + + // prevent scrollbar thumb coords from being outside of the scrollbar area + thumbX = CLAMP(thumbX, scrollBar->x, scrollEnd - 1); + if (thumbX+thumbW > scrollEnd) + thumbW = scrollEnd - thumbX; + } + else + { + // vertical scrollbar + + thumbX = scrollBar->x + 1; + thumbW = scrollBar->w - 2; + scrollEnd = scrollBar->y + scrollBar->h; + + if (scrollBar->end > 0) + { + tmp16 = (int16_t)round((scrollBar->h / (double)scrollBar->end) * scrollBar->page); + thumbH = CLAMP(tmp16, 1, scrollBar->h); + } + else + { + thumbH = 1; + } + + if (scrollBar->end > scrollBar->page) + { + tmp16 = (int16_t)round(((scrollBar->h - thumbH) / (double)(scrollBar->end - scrollBar->page)) * scrollBar->pos); + thumbY = scrollBar->y + tmp16; + } + else + { + thumbY = scrollBar->y; + } + + // prevent scrollbar thumb coords from being outside of the scrollbar area + thumbY = CLAMP(thumbY, scrollBar->y, scrollEnd - 1); + if (thumbY+thumbH > scrollEnd) + thumbH = scrollEnd - thumbY; + } + + // set values now + scrollBar->thumbX = thumbX; + scrollBar->thumbY = thumbY; + scrollBar->thumbW = thumbW; + scrollBar->thumbH = thumbH; +} + +void scrollBarScrollUp(uint16_t scrollBarID, uint32_t amount) +{ + scrollBar_t *scrollBar; + + assert(scrollBarID < NUM_SCROLLBARS); + scrollBar = &scrollBars[scrollBarID]; + + assert(scrollBar->page > 0 && scrollBar->end > 0); + + if (scrollBar->end < scrollBar->page || scrollBar->pos == 0) + return; + + if (scrollBar->pos >= amount) + scrollBar->pos -= amount; + else + scrollBar->pos = 0; + + setScrollBarThumbCoords(scrollBarID); + drawScrollBar(scrollBarID); + + if (scrollBar->callbackFunc != NULL) + scrollBar->callbackFunc(scrollBar->pos); +} + +void scrollBarScrollDown(uint16_t scrollBarID, uint32_t amount) +{ + uint32_t endPos; + scrollBar_t *scrollBar; + + assert(scrollBarID < NUM_SCROLLBARS); + scrollBar = &scrollBars[scrollBarID]; + + assert(scrollBar->page > 0 && scrollBar->end > 0); + + if (scrollBar->end < scrollBar->page) + return; + + endPos = scrollBar->end; + if (scrollBar->thumbType == SCROLLBAR_THUMB_FLAT) + { + if (endPos >= scrollBar->page) + endPos -= scrollBar->page; + else + endPos = 0; + } + + // check if we're already at the end + if (scrollBar->pos == endPos) + return; + + scrollBar->pos += amount; + if (scrollBar->pos > endPos) + scrollBar->pos = endPos; + + setScrollBarThumbCoords(scrollBarID); + drawScrollBar(scrollBarID); + + if (scrollBar->callbackFunc != NULL) + scrollBar->callbackFunc(scrollBar->pos); +} + +void scrollBarScrollLeft(uint16_t scrollBarID, uint32_t amount) +{ + scrollBarScrollUp(scrollBarID, amount); +} + +void scrollBarScrollRight(uint16_t scrollBarID, uint32_t amount) +{ + scrollBarScrollDown(scrollBarID, amount); +} + +void setScrollBarPos(uint16_t scrollBarID, uint32_t pos, bool triggerCallBack) +{ + uint32_t endPos; + scrollBar_t *scrollBar; + + assert(scrollBarID < NUM_SCROLLBARS); + scrollBar = &scrollBars[scrollBarID]; + + if (scrollBar->oldPos == pos) + return; + scrollBar->oldPos = pos; + + if (scrollBar->page == 0) + { + scrollBar->pos = 0; + return; + } + + if (scrollBar->end < scrollBar->page || scrollBar->pos == pos) + { + setScrollBarThumbCoords(scrollBarID); + drawScrollBar(scrollBarID); + return; + } + + endPos = scrollBar->end; + if (scrollBar->thumbType == SCROLLBAR_THUMB_FLAT) + { + if (endPos >= scrollBar->page) + endPos -= scrollBar->page; + else + endPos = 0; + } + + scrollBar->pos = pos; + if (scrollBar->pos > endPos) + scrollBar->pos = endPos; + + setScrollBarThumbCoords(scrollBarID); + drawScrollBar(scrollBarID); + + if (triggerCallBack && scrollBar->callbackFunc != NULL) + scrollBar->callbackFunc(scrollBar->pos); +} + +uint32_t getScrollBarPos(uint16_t scrollBarID) +{ + assert(scrollBarID < NUM_SCROLLBARS); + return scrollBars[scrollBarID].pos; +} + +void setScrollBarEnd(uint16_t scrollBarID, uint32_t end) +{ + uint8_t setPos; + scrollBar_t *scrollBar; + + assert(scrollBarID < NUM_SCROLLBARS); + scrollBar = &scrollBars[scrollBarID]; + + if (end < 1) + end = 1; + + if (scrollBar->oldEnd == end) + return; + scrollBar->oldEnd = end; + + scrollBar->end = end; + + setPos = false; + if (scrollBar->pos >= end) + { + scrollBar->pos = end - 1; + setPos = true; + } + + if (scrollBar->page > 0) + { + if (setPos) + { + setScrollBarPos(scrollBarID, scrollBar->pos, false); + // this will also call setScrollBarThumbCoords() and drawScrollBar() + } + else + { + setScrollBarThumbCoords(scrollBarID); + drawScrollBar(scrollBarID); + } + } +} + +void setScrollBarPageLength(uint16_t scrollBarID, uint32_t pageLength) +{ + scrollBar_t *scrollBar; + + assert(scrollBarID < NUM_SCROLLBARS); + scrollBar = &scrollBars[scrollBarID]; + + if (pageLength < 1) + pageLength = 1; + + if (scrollBar->oldPage == pageLength) + return; + scrollBar->oldPage = pageLength; + + scrollBar->page = pageLength; + if (scrollBar->end > 0) + { + setScrollBarPos(scrollBarID, scrollBar->pos, false); + setScrollBarThumbCoords(scrollBarID); + drawScrollBar(scrollBarID); + } +} + +bool testScrollBarMouseDown(void) +{ + uint16_t start, end; + int32_t scrollPos; + double dTmp; + scrollBar_t *scrollBar; + + if (editor.ui.sysReqShown) + { + // if a system request is open, only test the first three scrollbars (reserved) + start = 0; + end = 3; + } + else + { + start = 3; + end = NUM_SCROLLBARS; + } + + for (uint16_t i = start; i < end; i++) + { + scrollBar = &scrollBars[i]; + if (!scrollBar->visible) + continue; + + if (mouse.x >= scrollBar->x && mouse.x < scrollBar->x+scrollBar->w && + mouse.y >= scrollBar->y && mouse.y < scrollBar->y+scrollBar->h) + { + mouse.lastUsedObjectID = i; + mouse.lastUsedObjectType = OBJECT_SCROLLBAR; + + // kludge for when a system request is about to open + scrollBar->state = SCROLLBAR_PRESSED; + if (scrollBar->thumbType == SCROLLBAR_THUMB_NOFLAT) + drawScrollBar(mouse.lastUsedObjectType); + + if (scrollBar->type == SCROLLBAR_HORIZONTAL) + { + mouse.lastScrollXTmp = mouse.lastScrollX = mouse.x; + + if (mouse.x >= scrollBar->thumbX && mouse.x < scrollBar->thumbX+scrollBar->thumbW) + { + mouse.saveMouseX = mouse.lastScrollX - scrollBar->thumbX; + } + else + { + mouse.saveMouseX = (int16_t)round(scrollBar->thumbW / 2.0); + + scrollPos = mouse.lastScrollX - scrollBar->x - mouse.saveMouseX; + if (scrollBar->thumbType == SCROLLBAR_THUMB_NOFLAT) + scrollPos = (int32_t)round(scrollPos * (scrollBar->w / (double)(scrollBar->w - 15))); + + scrollPos = CLAMP(scrollPos, 0, scrollBar->w); + + assert(scrollBar->w > 0); + + dTmp = round(((double)scrollPos * scrollBar->end) / scrollBar->w); + setScrollBarPos(mouse.lastUsedObjectID, (int32_t)dTmp, true); + } + } + else + { + mouse.lastScrollY = mouse.y; + if (mouse.y >= scrollBar->thumbY && mouse.y < scrollBar->thumbY+scrollBar->thumbH) + { + mouse.saveMouseY = mouse.lastScrollY - scrollBar->thumbY; + } + else + { + mouse.saveMouseY = (int16_t)(scrollBar->thumbH / 2.0); // truncate here + + scrollPos = mouse.lastScrollY - scrollBar->y - mouse.saveMouseY; + scrollPos = CLAMP(scrollPos, 0, scrollBar->h); + + assert(scrollBar->h > 0); + + dTmp = round(((double)scrollPos * scrollBar->end) / scrollBar->h); + setScrollBarPos(mouse.lastUsedObjectID, (int32_t)dTmp, true); + } + } + + // objectID can be set to none in scrollbar's callback during setScrollBarPos() + if (mouse.lastUsedObjectID == OBJECT_ID_NONE) + return true; + + scrollBar->state = SCROLLBAR_PRESSED; + if (scrollBar->thumbType == SCROLLBAR_THUMB_NOFLAT) + drawScrollBar(mouse.lastUsedObjectID); + + return true; + } + } + + return false; +} + +void testScrollBarMouseRelease(void) +{ + scrollBar_t *scrollBar; + + if (mouse.lastUsedObjectType != OBJECT_SCROLLBAR || mouse.lastUsedObjectID == OBJECT_ID_NONE) + return; + + assert(mouse.lastUsedObjectID < NUM_SCROLLBARS); + + scrollBar = &scrollBars[mouse.lastUsedObjectID]; + if (scrollBar->visible) + { + scrollBar->state = SCROLLBAR_UNPRESSED; + drawScrollBar(mouse.lastUsedObjectID); + } +} + +void handleScrollBarsWhileMouseDown(void) +{ + int16_t scrollX, scrollY; + double dTmp; + scrollBar_t *scrollBar; + + assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_SCROLLBARS); + scrollBar = &scrollBars[mouse.lastUsedObjectID]; + if (!scrollBar->visible) + return; + + if (scrollBar->type == SCROLLBAR_HORIZONTAL) + { + if (mouse.x != mouse.lastScrollX) + { + mouse.lastScrollX = mouse.x; + scrollX = mouse.lastScrollX - mouse.saveMouseX - scrollBar->x; + + if (scrollBar->thumbType == SCROLLBAR_THUMB_NOFLAT) + { + assert(scrollBar->w >= 16); + scrollX = (int16_t)round(scrollX * (scrollBar->w / (double)(scrollBar->w - 15))); + } + + scrollX = CLAMP(scrollX, 0, scrollBar->w); + + assert(scrollBar->w > 0); + + dTmp = round(((double)scrollX * scrollBar->end) / scrollBar->w); + setScrollBarPos(mouse.lastUsedObjectID, (int32_t)dTmp, true); + + if (mouse.lastUsedObjectID != OBJECT_ID_NONE) // this can change in the callback in setScrollBarPos() + drawScrollBar(mouse.lastUsedObjectID); + } + } + else + { + if (mouse.y != mouse.lastScrollY) + { + mouse.lastScrollY = mouse.y; + + scrollY = mouse.lastScrollY - mouse.saveMouseY - scrollBar->y; + scrollY = CLAMP(scrollY, 0, scrollBar->h); + + assert(scrollBar->h > 0); + + dTmp = round(((double)scrollY * scrollBar->end) / scrollBar->h); + setScrollBarPos(mouse.lastUsedObjectID, (int32_t)dTmp, true); + + if (mouse.lastUsedObjectID != OBJECT_ID_NONE) // this can change in the callback in setScrollBarPos() + drawScrollBar(mouse.lastUsedObjectID); + } + } +} + +void initializeScrollBars(void) +{ + for (int32_t i = 0; i < NUM_SCROLLBARS; i++) + { + scrollBars[i].oldEnd = 0xFFFFFFFF; + scrollBars[i].oldPage = 0xFFFFFFFF; + scrollBars[i].oldPos = 0xFFFFFFFF; + } + + // pattern editor + setScrollBarPageLength(SB_CHAN_SCROLL, 8); + setScrollBarEnd(SB_CHAN_SCROLL, 8); + + // position editor + setScrollBarPageLength(SB_POS_ED, 5); + setScrollBarEnd(SB_POS_ED, 5); + + // instrument switcher + setScrollBarPageLength(SB_SAMPLE_LIST, 5); + setScrollBarEnd(SB_SAMPLE_LIST, 16); + + // help screen + setScrollBarPageLength(SB_HELP_SCROLL, 15); + setScrollBarEnd(SB_HELP_SCROLL, 1); + + // config screen + setScrollBarPageLength(SB_AMP_SCROLL, 1); + setScrollBarEnd(SB_AMP_SCROLL, 31); + setScrollBarPageLength(SB_MASTERVOL_SCROLL, 1); + setScrollBarEnd(SB_MASTERVOL_SCROLL, 256); + setScrollBarPageLength(SB_PAL_R, 1); + setScrollBarEnd(SB_PAL_R, 63); + setScrollBarPageLength(SB_PAL_G, 1); + setScrollBarEnd(SB_PAL_G, 63); + setScrollBarPageLength(SB_PAL_B, 1); + setScrollBarEnd(SB_PAL_B, 63); + setScrollBarPageLength(SB_PAL_CONTRAST, 1); + setScrollBarEnd(SB_PAL_CONTRAST, 100); + setScrollBarPageLength(SB_MIDI_SENS, 1); + setScrollBarEnd(SB_MIDI_SENS, 200); + setScrollBarPageLength(SB_AUDIO_OUTPUT_SCROLL, 6); + setScrollBarEnd(SB_AUDIO_OUTPUT_SCROLL, 1); + setScrollBarPageLength(SB_AUDIO_INPUT_SCROLL, 4); + setScrollBarEnd(SB_AUDIO_INPUT_SCROLL, 1); + +#ifdef HAS_MIDI + setScrollBarPageLength(SB_MIDI_INPUT_SCROLL, 15); + setScrollBarEnd(SB_MIDI_INPUT_SCROLL, 1); +#endif + + // disk op. + setScrollBarPageLength(SB_DISKOP_LIST, DISKOP_ENTRY_NUM); + setScrollBarEnd(SB_DISKOP_LIST, 1); + + // instrument editor + setScrollBarPageLength(SB_INST_VOL, 1); + setScrollBarEnd(SB_INST_VOL, 64); + setScrollBarPageLength(SB_INST_PAN, 1); + setScrollBarEnd(SB_INST_PAN, 255); + setScrollBarPageLength(SB_INST_FTUNE, 1); + setScrollBarEnd(SB_INST_FTUNE, 255); + setScrollBarPageLength(SB_INST_FADEOUT, 1); + setScrollBarEnd(SB_INST_FADEOUT, 0xFFF); + setScrollBarPageLength(SB_INST_VIBSPEED, 1); + setScrollBarEnd(SB_INST_VIBSPEED, 0x3F); + setScrollBarPageLength(SB_INST_VIBDEPTH, 1); + setScrollBarEnd(SB_INST_VIBDEPTH, 0xF); + setScrollBarPageLength(SB_INST_VIBSWEEP, 1); + setScrollBarEnd(SB_INST_VIBSWEEP, 0xFF); + + // instrument editor extension + setScrollBarPageLength(SB_INST_EXT_MIDI_CH, 1); + setScrollBarEnd(SB_INST_EXT_MIDI_CH, 15); + setScrollBarPageLength(SB_INST_EXT_MIDI_PRG, 1); + setScrollBarEnd(SB_INST_EXT_MIDI_PRG, 127); + setScrollBarPageLength(SB_INST_EXT_MIDI_BEND, 1); + setScrollBarEnd(SB_INST_EXT_MIDI_BEND, 36); +} diff --git a/src/ft2_scrollbars.h b/src/ft2_scrollbars.h index 7ced080..ec93b3b 100644 --- a/src/ft2_scrollbars.h +++ b/src/ft2_scrollbars.h @@ -1,93 +1,96 @@ -#pragma once - -#include -#include - -enum // SCROLLBARS -{ - // reserved - SB_RES_1, - SB_RES_2, - SB_RES_3, - - SB_POS_ED, - SB_SAMPLE_LIST, - SB_CHAN_SCROLL, - SB_HELP_SCROLL, - SB_SAMP_SCROLL, - - // Instrument Editor - SB_INST_VOL, - SB_INST_PAN, - SB_INST_FTUNE, - SB_INST_FADEOUT, - SB_INST_VIBSPEED, - SB_INST_VIBDEPTH, - SB_INST_VIBSWEEP, - - // Instrument Editor Extension - SB_INST_EXT_MIDI_CH, - SB_INST_EXT_MIDI_PRG, - SB_INST_EXT_MIDI_BEND, - - // Config I/O Devices - SB_AUDIO_OUTPUT_SCROLL, - SB_AUDIO_INPUT_SCROLL, - SB_AMP_SCROLL, - SB_MASTERVOL_SCROLL, - - // Config Layout - SB_PAL_R, - SB_PAL_G, - SB_PAL_B, - SB_PAL_CONTRAST, - - // Config Miscellaneous - SB_MIDI_SENS, - - // Config Midi - SB_MIDI_INPUT_SCROLL, - - // Disk Op. - SB_DISKOP_LIST, - - NUM_SCROLLBARS -}; - -enum -{ - SCROLLBAR_UNPRESSED = 0, - SCROLLBAR_PRESSED = 1, - SCROLLBAR_HORIZONTAL = 0, - SCROLLBAR_VERTICAL = 1, - SCROLLBAR_THUMB_NOFLAT = 0, - SCROLLBAR_THUMB_FLAT = 1 -}; - -typedef struct scrollBar_t // DO NOT TOUCH! -{ - uint16_t x, y, w, h; - uint8_t type, thumbType; - void (*callbackFunc)(uint32_t pos); - - bool visible; - uint8_t state; - uint32_t pos, page, end; - uint16_t thumbX, thumbY, thumbW, thumbH; -} scrollBar_t; - -void drawScrollBar(uint16_t scrollBarID); -void showScrollBar(uint16_t scrollBarID); -void hideScrollBar(uint16_t scrollBarID); -void scrollBarScrollUp(uint16_t scrollBarID, uint32_t amount); -void scrollBarScrollDown(uint16_t scrollBarID, uint32_t amount); -void scrollBarScrollLeft(uint16_t scrollBarID, uint32_t amount); -void scrollBarScrollRight(uint16_t scrollBarID, uint32_t amount); -void setScrollBarPos(uint16_t scrollBarID, uint32_t pos, bool triggerCallBack); -uint32_t getScrollBarPos(uint16_t scrollBarID); -void setScrollBarEnd(uint16_t scrollBarID, uint32_t end); -void setScrollBarPageLength(uint16_t scrollBarID, uint32_t pageLength); -bool testScrollBarMouseDown(void); -void testScrollBarMouseRelease(void); -void handleScrollBarsWhileMouseDown(void); -void initializeScrollBars(void); +#pragma once + +#include +#include + +enum // SCROLLBARS +{ + // reserved + SB_RES_1, + SB_RES_2, + SB_RES_3, + + SB_POS_ED, + SB_SAMPLE_LIST, + SB_CHAN_SCROLL, + SB_HELP_SCROLL, + SB_SAMP_SCROLL, + + // Instrument Editor + SB_INST_VOL, + SB_INST_PAN, + SB_INST_FTUNE, + SB_INST_FADEOUT, + SB_INST_VIBSPEED, + SB_INST_VIBDEPTH, + SB_INST_VIBSWEEP, + + // Instrument Editor Extension + SB_INST_EXT_MIDI_CH, + SB_INST_EXT_MIDI_PRG, + SB_INST_EXT_MIDI_BEND, + + // Config I/O devices + SB_AUDIO_OUTPUT_SCROLL, + SB_AUDIO_INPUT_SCROLL, + SB_AMP_SCROLL, + SB_MASTERVOL_SCROLL, + + // Config Layout + SB_PAL_R, + SB_PAL_G, + SB_PAL_B, + SB_PAL_CONTRAST, + + // Config Miscellaneous + SB_MIDI_SENS, + +#ifdef HAS_MIDI + // Config Midi + SB_MIDI_INPUT_SCROLL, +#endif + + // Disk Op. + SB_DISKOP_LIST, + + NUM_SCROLLBARS +}; + +enum +{ + SCROLLBAR_UNPRESSED = 0, + SCROLLBAR_PRESSED = 1, + SCROLLBAR_HORIZONTAL = 0, + SCROLLBAR_VERTICAL = 1, + SCROLLBAR_THUMB_NOFLAT = 0, + SCROLLBAR_THUMB_FLAT = 1 +}; + +typedef struct scrollBar_t // DO NOT TOUCH! +{ + uint16_t x, y, w, h; + uint8_t type, thumbType; + void (*callbackFunc)(uint32_t pos); + + bool visible; + uint8_t state; + uint32_t pos, page, end; + uint32_t oldPos, oldPage, oldEnd; + uint16_t thumbX, thumbY, thumbW, thumbH; +} scrollBar_t; + +void drawScrollBar(uint16_t scrollBarID); +void showScrollBar(uint16_t scrollBarID); +void hideScrollBar(uint16_t scrollBarID); +void scrollBarScrollUp(uint16_t scrollBarID, uint32_t amount); +void scrollBarScrollDown(uint16_t scrollBarID, uint32_t amount); +void scrollBarScrollLeft(uint16_t scrollBarID, uint32_t amount); +void scrollBarScrollRight(uint16_t scrollBarID, uint32_t amount); +void setScrollBarPos(uint16_t scrollBarID, uint32_t pos, bool triggerCallBack); +uint32_t getScrollBarPos(uint16_t scrollBarID); +void setScrollBarEnd(uint16_t scrollBarID, uint32_t end); +void setScrollBarPageLength(uint16_t scrollBarID, uint32_t pageLength); +bool testScrollBarMouseDown(void); +void testScrollBarMouseRelease(void); +void handleScrollBarsWhileMouseDown(void); +void initializeScrollBars(void); diff --git a/src/ft2_sysreqs.c b/src/ft2_sysreqs.c index e1319e7..031f34b 100644 --- a/src/ft2_sysreqs.c +++ b/src/ft2_sysreqs.c @@ -1,608 +1,671 @@ -#include -#include -#include "ft2_config.h" -#include "ft2_gui.h" -#include "ft2_mouse.h" -#include "ft2_keyboard.h" -#include "ft2_textboxes.h" -#include "ft2_video.h" - -#define SYSTEM_REQUEST_H 67 -#define SYSTEM_REQUEST_Y 249 -#define SYSTEM_REQUEST_Y_EXT 91 - -#define NUM_SYSREQ_TYPES 10 - -static char *buttonText[NUM_SYSREQ_TYPES][5] = -{ - { "OK", "","","","" }, - { "OK", "Cancel", "","","" }, - { "Yes", "No", "","","" }, - { "=(", "Rules","","","" }, - { "All", "Song", "Instruments", "Cancel", "" }, - { "Read left", "Read right", "Convert", "", "" }, - { "OK", "","","","" }, - { "OK", "","","","" }, - { "Sorry...", "","","","" }, - { "Mono", "Stereo", "Cancel", "","" } -}; - -static SDL_Keycode shortCut[NUM_SYSREQ_TYPES][5] = -{ - { SDLK_o, 0, 0, 0, 0 }, - { SDLK_o, SDLK_c, 0, 0, 0 }, - { SDLK_y, SDLK_n, 0, 0, 0 }, - { SDLK_s, SDLK_r, 0, 0, 0 }, - { SDLK_a, SDLK_s, SDLK_i, SDLK_c, 0 }, - { SDLK_l, SDLK_r, SDLK_c, 0, 0 }, - { SDLK_o, 0, 0, 0, 0 }, - { SDLK_o, 0, 0, 0, 0 }, - { SDLK_s, 0, 0, 0, 0 }, - { SDLK_m, SDLK_s, SDLK_c, 0, 0 }, -}; - -static void drawWindow(uint16_t w) -{ - const uint16_t h = SYSTEM_REQUEST_H; - uint16_t x, y; - - x = (SCREEN_W / 2) - (w / 2); - y = editor.ui.extended ? 91 : SYSTEM_REQUEST_Y; - - // main fill - fillRect(x + 1, y + 1, w - 2, h - 2, PAL_BUTTONS); - - // outer border - vLine(x, y, h - 1, PAL_BUTTON1); - hLine(x + 1, y, w - 2, PAL_BUTTON1); - vLine(x + w - 1, y, h, PAL_BUTTON2); - hLine(x, y + h - 1, w - 1, PAL_BUTTON2); - - // inner border - vLine(x + 2, y + 2, h - 5, PAL_BUTTON2); - hLine(x + 3, y + 2, w - 6, PAL_BUTTON2); - vLine(x + w - 3, y + 2, h - 4, PAL_BUTTON1); - hLine(x + 2, y + h - 3, w - 4, PAL_BUTTON1); - - // title bottom line - hLine(x + 3, y + 16, w - 6, PAL_BUTTON2); - hLine(x + 3, y + 17, w - 6, PAL_BUTTON1); -} - -static bool mouseButtonDownLogic(uint8_t mouseButton) -{ - // if already holding left button and clicking right, don't do mouse down handling - if (mouseButton == SDL_BUTTON_RIGHT && mouse.leftButtonPressed) - { - mouse.rightButtonPressed = true; - return false; - } - - // if already holding right button and clicking left, don't do mouse down handling - if (mouseButton == SDL_BUTTON_LEFT && mouse.rightButtonPressed) - { - mouse.leftButtonPressed = true; - return false; - } - - if (mouseButton == SDL_BUTTON_LEFT) mouse.leftButtonPressed = true; - else if (mouseButton == SDL_BUTTON_RIGHT) mouse.rightButtonPressed = true; - - // don't do mouse down testing here if we already are using an object - if (mouse.lastUsedObjectType != OBJECT_NONE) - return false; - - // kludge #2 - if (mouse.lastUsedObjectType != OBJECT_PUSHBUTTON && mouse.lastUsedObjectID != OBJECT_ID_NONE) - return false; - - // kludge #3 - if (!mouse.rightButtonPressed) - mouse.lastUsedObjectID = OBJECT_ID_NONE; - - return true; -} - -static bool mouseButtonUpLogic(uint8_t mouseButton) -{ - if (mouseButton == SDL_BUTTON_LEFT) mouse.leftButtonPressed = false; - else if (mouseButton == SDL_BUTTON_RIGHT) mouse.rightButtonPressed = false; - - editor.textCursorBlinkCounter = 0; - - // if we used both mouse button at the same time and released *one*, don't release GUI object - if ( mouse.leftButtonPressed && !mouse.rightButtonPressed) return false; - if (!mouse.leftButtonPressed && mouse.rightButtonPressed) return false; - - return true; -} - -// WARNING: This routine must ONLY be called from the main input/video thread! -int16_t okBox(int16_t typ, char *headline, char *text) -{ -#define PUSHBUTTON_W 80 - - int16_t returnVal, oldLastUsedObjectID, oldLastUsedObjectType; - uint16_t x, y, i, tlen, hlen, wlen, tx, knp, headlineX, textX; - const uint16_t mid = SCREEN_W / 2; - SDL_Event inputEvent; - pushButton_t *p; - checkBox_t *c; - -#ifndef __APPLE__ - if (!video.fullscreen) // release mouse button trap - SDL_SetWindowGrab(video.window, SDL_FALSE); -#endif - - if (editor.editTextFlag) - exitTextEditing(); - - if (mouse.mode != MOUSE_MODE_NORMAL) - setMouseMode(MOUSE_MODE_NORMAL); - - if (editor.ui.sysReqShown) - return 0; - - SDL_EventState(SDL_DROPFILE, SDL_DISABLE); - - editor.ui.sysReqShown = true; - mouseAnimOff(); - - oldLastUsedObjectID = mouse.lastUsedObjectID; - oldLastUsedObjectType = mouse.lastUsedObjectType; - - // count number of buttons - knp = 0; - while (buttonText[typ][knp][0] != '\0' && knp < 5) - knp++; - - tlen = textWidth(text); - hlen = textWidth(headline); - - wlen = tlen; - if (hlen > tlen) - wlen = hlen; - - tx = (knp * 100) - 20; - if (tx > wlen) - wlen = tx; - - wlen += 100; - if (wlen > 600) - wlen = 600; - - headlineX = mid - (hlen / 2); - textX = mid - (tlen / 2); - x = mid - (wlen / 2); - - // the box y position differs in extended pattern editor mode - y = editor.ui.extended ? SYSTEM_REQUEST_Y_EXT : SYSTEM_REQUEST_Y; - - // set up buttons - for (i = 0; i < knp; i++) - { - p = &pushButtons[i]; - - p->x = (mid - (tx / 2)) + (i * 100); - p->y = y + 42; - p->w = PUSHBUTTON_W; - p->h = 16; - p->caption = buttonText[typ][i]; - p->visible = true; - } - - // set up checkbox (special okBox types only!) - if (typ >= 6 && typ <= 7) - { - c = &checkBoxes[0]; - c->x = x + 5; - c->y = y + 50; - c->clickAreaWidth = 116; - c->clickAreaHeight = 12; - c->checked = false; - - if (typ == 6) - { - // S3M load warning - c->callbackFunc = configToggleS3MLoadWarning; - } - else if (typ == 7) - { - // "setting not yet applied" - c->callbackFunc = configToggleNotYetAppliedWarning; - } - - c->visible = true; - } - - mouse.lastUsedObjectType = OBJECT_NONE; - mouse.lastUsedObjectID = OBJECT_ID_NONE; - mouse.leftButtonPressed = 0; - mouse.rightButtonPressed = 0; - - // input/rendering loop - returnVal = 0; - while (editor.ui.sysReqShown) - { - beginFPSCounter(); - readMouseXY(); - setSyncedReplayerVars(); - - if (mouse.leftButtonPressed || mouse.rightButtonPressed) - { - if (mouse.lastUsedObjectType == OBJECT_PUSHBUTTON) handlePushButtonsWhileMouseDown(); - else if (mouse.lastUsedObjectType == OBJECT_CHECKBOX) handleCheckBoxesWhileMouseDown(); - } - - while (SDL_PollEvent(&inputEvent)) - { - if (inputEvent.type == SDL_KEYDOWN) - { - if (inputEvent.key.keysym.sym == SDLK_ESCAPE) - { - returnVal = 0; - editor.ui.sysReqShown = false; - } - else if (inputEvent.key.keysym.sym == SDLK_RETURN) - { - returnVal = 1; - editor.ui.sysReqShown = false; - keyb.ignoreCurrKeyUp = true; // don't handle key up event for any keys that were pressed - } - - for (i = 0; i < knp; i++) - { - if (shortCut[typ][i] == inputEvent.key.keysym.sym) - { - returnVal = i + 1; - editor.ui.sysReqShown = false; - keyb.ignoreCurrKeyUp = true; // don't handle key up event for any keys that were pressed - break; - } - } - } - else if (inputEvent.type == SDL_MOUSEBUTTONUP) - { - if (mouseButtonUpLogic(inputEvent.button.button)) - { - if (typ >= 6 && typ <= 7) - testCheckBoxMouseRelease(); - - returnVal = testPushButtonMouseRelease(false) + 1; - if (returnVal > 0) - editor.ui.sysReqShown = false; - - mouse.lastUsedObjectID = OBJECT_ID_NONE; - mouse.lastUsedObjectType = OBJECT_NONE; - } - } - else if (inputEvent.type == SDL_MOUSEBUTTONDOWN) - { - if (mouseButtonDownLogic(inputEvent.button.button)) - { - if (testPushButtonMouseDown()) continue; - if (testCheckBoxMouseDown()) continue; - } - } - - if (!editor.ui.sysReqShown) - break; - } - - if (!editor.ui.sysReqShown) - break; - - handleRedrawing(); - - // draw OK box - drawWindow(wlen); - textOutShadow(headlineX, y + 4, PAL_BUTTON1, PAL_BUTTON2, headline); - textOutShadow(textX, y + 24, PAL_BUTTON1, PAL_BUTTON2, text); - for (i = 0; i < knp; i++) drawPushButton(i); - if (typ >= 6 && typ <= 7) - { - drawCheckBox(0); - textOutShadow(x + 21, y + 52, PAL_BUTTON1, PAL_BUTTON2, "Don't show again"); - } - - flipFrame(); - endFPSCounter(); - } - - for (i = 0; i < knp; i++) - hidePushButton(i); - - if (typ >= 6 && typ <= 7) - hideCheckBox(0); - - mouse.lastUsedObjectID = oldLastUsedObjectID; - mouse.lastUsedObjectType = oldLastUsedObjectType; - unstuckLastUsedGUIElement(); - - showBottomScreen(); - - SDL_EventState(SDL_DROPFILE, SDL_ENABLE); - return returnVal; -} - -/* WARNING: -** - This routine must ONLY be called from the main input/video thread!! -** - edText must be null-terminated -*/ -int16_t inputBox(int16_t typ, char *headline, char *edText, uint16_t maxStrLen) -{ -#define PUSHBUTTON_W 80 -#define TEXTBOX_W 250 - - char *inputText; - int16_t returnVal, oldLastUsedObjectID, oldLastUsedObjectType; - uint16_t y, wlen, tx, knp, headlineX, i; - const uint16_t mid = SCREEN_W / 2; - SDL_Event inputEvent; - pushButton_t *p; - textBox_t *t; - - if (editor.editTextFlag) - exitTextEditing(); - - if (mouse.mode != MOUSE_MODE_NORMAL) - setMouseMode(MOUSE_MODE_NORMAL); - - if (editor.ui.sysReqShown) - return 0; - - oldLastUsedObjectID = mouse.lastUsedObjectID; - oldLastUsedObjectType = mouse.lastUsedObjectType; - - t = &textBoxes[0]; - - // set up text box - memset(t, 0, sizeof (textBox_t)); - t->w = TEXTBOX_W; - t->h = 12; - t->tx = 2; - t->ty = 1; - t->textPtr = edText; - t->maxChars = maxStrLen; - t->changeMouseCursor = true; - t->renderBufW = (9 + 1) * t->maxChars; // 9 = max character/glyph width possible - t->renderBufH = 10; // 10 = max character height possible - t->renderW = t->w - (t->tx * 2); - - t->renderBuf = (uint8_t *)malloc(t->renderBufW * t->renderBufH * sizeof (int8_t)); - if (t->renderBuf == NULL) - { - okBox(0, "System message", "Not enough memory!"); - return 0; - } - -#ifndef __APPLE__ - if (!video.fullscreen) // release mouse button trap - SDL_SetWindowGrab(video.window, SDL_FALSE); -#endif - - SDL_EventState(SDL_DROPFILE, SDL_DISABLE); - - editor.ui.sysReqShown = true; - mouseAnimOff(); - - wlen = textWidth(headline); - headlineX = mid - (wlen / 2); - - // count number of buttons - knp = 0; - while (buttonText[typ][knp][0] != '\0' && knp < 5) - knp++; - - tx = TEXTBOX_W; - if (tx > wlen) - wlen = tx; - - tx = (knp * 100) - 20; - if (tx > wlen) - wlen = tx; - - wlen += 100; - if (wlen > 600) - wlen = 600; - - // the box y position differs in extended pattern editor mode - y = editor.ui.extended ? SYSTEM_REQUEST_Y_EXT : SYSTEM_REQUEST_Y; - - // set further text box settings - t->x = mid - (TEXTBOX_W / 2); - t->y = y + 24; - t->visible = true; - - // setup buttons - for (i = 0; i < knp; i++) - { - p = &pushButtons[i]; - - p->w = PUSHBUTTON_W; - p->h = 16; - p->x = (mid - (tx / 2)) + (i * 100); - p->y = y + 42; - p->caption = buttonText[typ][i]; - p->visible = true; - } - - keyb.leftShiftPressed = false; // kludge - setTextCursorToEnd(t); - - mouse.lastEditBox = 0; - editor.editTextFlag = true; - SDL_StartTextInput(); - - mouse.lastUsedObjectType = OBJECT_NONE; - mouse.lastUsedObjectID = OBJECT_ID_NONE; - mouse.leftButtonPressed = 0; - mouse.rightButtonPressed = 0; - - // input/rendering loop - returnVal = 0; - while (editor.ui.sysReqShown) - { - beginFPSCounter(); - readMouseXY(); - readKeyModifiers(); - setSyncedReplayerVars(); - - if (mouse.leftButtonPressed || mouse.rightButtonPressed) - { - if (mouse.lastUsedObjectType == OBJECT_PUSHBUTTON) handlePushButtonsWhileMouseDown(); - else if (mouse.lastUsedObjectType == OBJECT_TEXTBOX) handleTextBoxWhileMouseDown(); - } - - while (SDL_PollEvent(&inputEvent)) - { - if (inputEvent.type == SDL_TEXTINPUT) - { - if (editor.editTextFlag) - { - if (keyb.ignoreTextEditKey) - { - keyb.ignoreTextEditKey = false; - continue; - } - - inputText = utf8ToCp437(inputEvent.text.text, false); - if (inputText != NULL) - { - if (inputText[0] != '\0') - handleTextEditInputChar(inputText[0]); - - free(inputText); - } - } - } - else if (inputEvent.type == SDL_KEYDOWN) - { - if (inputEvent.key.keysym.sym == SDLK_ESCAPE) - { - returnVal = 0; - editor.ui.sysReqShown = false; - } - else if (inputEvent.key.keysym.sym == SDLK_RETURN) - { - returnVal = 1; - editor.ui.sysReqShown = false; - keyb.ignoreCurrKeyUp = true; // don't handle key up event for any keys that were pressed - } - - if (editor.editTextFlag) - { - handleTextEditControl(inputEvent.key.keysym.sym); - } - else - { - for (i = 0; i < knp; i++) - { - if (shortCut[1][i] == inputEvent.key.keysym.sym) - { - returnVal = i + 1; - editor.ui.sysReqShown = false; - keyb.ignoreCurrKeyUp = true; // don't handle key up event for any keys that were pressed - break; - } - } - } - } - else if (inputEvent.type == SDL_MOUSEBUTTONUP) - { - if (mouseButtonUpLogic(inputEvent.button.button)) - { - returnVal = testPushButtonMouseRelease(false) + 1; - if (returnVal > 0) - editor.ui.sysReqShown = false; - - mouse.lastUsedObjectID = OBJECT_ID_NONE; - mouse.lastUsedObjectType = OBJECT_NONE; - } - } - else if (inputEvent.type == SDL_MOUSEBUTTONDOWN) - { - if (mouseButtonDownLogic(inputEvent.button.button)) - { - if (testTextBoxMouseDown()) continue; - if (testPushButtonMouseDown()) continue; - } - } - - if (!editor.ui.sysReqShown) - break; - } - - if (!editor.ui.sysReqShown) - break; - - handleRedrawing(); - - // draw input box - drawWindow(wlen); - textOutShadow(headlineX, y + 4, PAL_BUTTON1, PAL_BUTTON2, headline); - clearRect(t->x, t->y, t->w, t->h); - hLine(t->x - 1, t->y - 1, t->w + 2, PAL_BUTTON2); - vLine(t->x - 1, t->y, t->h + 1, PAL_BUTTON2); - hLine(t->x, t->y + t->h, t->w + 1, PAL_BUTTON1); - vLine(t->x + t->w, t->y, t->h, PAL_BUTTON1); - drawTextBox(0); - for (i = 0; i < knp; i++) drawPushButton(i); - - flipFrame(); - endFPSCounter(); - } - - editor.editTextFlag = false; - SDL_StopTextInput(); - - for (i = 0; i < knp; i++) - hidePushButton(i); - hideTextBox(0); - - free(t->renderBuf); - - mouse.lastUsedObjectID = oldLastUsedObjectID; - mouse.lastUsedObjectType = oldLastUsedObjectType; - unstuckLastUsedGUIElement(); - - showBottomScreen(); - - SDL_EventState(SDL_DROPFILE, SDL_ENABLE); - return returnVal; -} - -// WARNING: This routine must NOT be called from the main input/video thread! -int16_t okBoxThreadSafe(int16_t typ, char *headline, char *text) -{ - // block multiple calls before they are completed (for safety) - while (okBoxData.active) SDL_Delay(1000 / VBLANK_HZ); - - okBoxData.typ = typ; - okBoxData.headline = headline; - okBoxData.text = text; - - okBoxData.active = true; - while (okBoxData.active) - SDL_Delay(1000 / VBLANK_HZ); - - return okBoxData.returnData; -} - -int16_t quitBox(bool skipQuitMsg) -{ - char *text; - - if (editor.ui.sysReqShown) - return 0; - - if (!song.isModified && skipQuitMsg) - return 1; - - if (song.isModified) - text = "You have unsaved changes in your song. Do you still want to quit and lose ALL changes?"; - else - text = "Do you really want to quit?"; - - return okBox(2, "System request", text); -} +#include +#include +#include "ft2_config.h" +#include "ft2_gui.h" +#include "ft2_mouse.h" +#include "ft2_keyboard.h" +#include "ft2_textboxes.h" +#include "ft2_video.h" + +#define SYSTEM_REQUEST_H 67 +#define SYSTEM_REQUEST_Y 249 +#define SYSTEM_REQUEST_Y_EXT 91 + +#define NUM_SYSREQ_TYPES 10 + +static char *buttonText[NUM_SYSREQ_TYPES][5] = +{ + { "OK", "","","","" }, + { "OK", "Cancel", "","","" }, + { "Yes", "No", "","","" }, + { "=(", "Rules","","","" }, + { "All", "Song", "Instruments", "Cancel", "" }, + { "Read left", "Read right", "Convert", "", "" }, + { "OK", "","","","" }, + { "OK", "","","","" }, + { "Sorry...", "","","","" }, + { "Mono", "Stereo", "Cancel", "","" } +}; + +static SDL_Keycode shortCut[NUM_SYSREQ_TYPES][5] = +{ + { SDLK_o, 0, 0, 0, 0 }, + { SDLK_o, SDLK_c, 0, 0, 0 }, + { SDLK_y, SDLK_n, 0, 0, 0 }, + { SDLK_s, SDLK_r, 0, 0, 0 }, + { SDLK_a, SDLK_s, SDLK_i, SDLK_c, 0 }, + { SDLK_l, SDLK_r, SDLK_c, 0, 0 }, + { SDLK_o, 0, 0, 0, 0 }, + { SDLK_o, 0, 0, 0, 0 }, + { SDLK_s, 0, 0, 0, 0 }, + { SDLK_m, SDLK_s, SDLK_c, 0, 0 }, +}; + +typedef struct quitType_t +{ + const char *text; + uint8_t typ; +} quitType_t; + +#define QUIT_MESSAGES 16 + +// 8bitbubsy: Removed the MS-DOS ones... +static quitType_t quitMessage[QUIT_MESSAGES] = +{ + { "Do you really want to quit?", 2 }, + { "Musicians, press >Cancel<. Lamers, press >OK<", 1 }, + { "Tired already?", 2 }, + { "Dost thou wish to leave with such hasty abandon?", 2 }, + { "So, you think you can quit this easily, huh?", 2 }, + { "Hey, what is the matter? You are not quiting now, are you?", 2 }, + { "Rome was not built in one day! Quit really?", 2 }, + { "For Work and Worry, press YES. For Delectation and Demos, press NO.", 2 }, + { "Did you really press the right key?", 2 }, + { "You are a lamer, aren't you? Press >OK< to confirm.", 1 }, + { "Hope ya did some good. Press >OK< to quit.", 1 }, + { "Quit? Only for a good reason you are allowed to press >OK<.", 1 }, + { "Are we at the end of a Fasttracker round?", 2 }, + { "Are you just another boring user?", 2 }, + { "Hope you're doing the compulsory \"Exit ceremony\" before pressing >OK<.", 1 }, + { "Fasttracker...", 3 } +}; + +static void drawWindow(uint16_t w) +{ + const uint16_t h = SYSTEM_REQUEST_H; + uint16_t x, y; + + x = (SCREEN_W - w) / 2; + y = editor.ui.extended ? 91 : SYSTEM_REQUEST_Y; + + // main fill + fillRect(x + 1, y + 1, w - 2, h - 2, PAL_BUTTONS); + + // outer border + vLine(x, y, h - 1, PAL_BUTTON1); + hLine(x + 1, y, w - 2, PAL_BUTTON1); + vLine(x + w - 1, y, h, PAL_BUTTON2); + hLine(x, y + h - 1, w - 1, PAL_BUTTON2); + + // inner border + vLine(x + 2, y + 2, h - 5, PAL_BUTTON2); + hLine(x + 3, y + 2, w - 6, PAL_BUTTON2); + vLine(x + w - 3, y + 2, h - 4, PAL_BUTTON1); + hLine(x + 2, y + h - 3, w - 4, PAL_BUTTON1); + + // title bottom line + hLine(x + 3, y + 16, w - 6, PAL_BUTTON2); + hLine(x + 3, y + 17, w - 6, PAL_BUTTON1); +} + +static bool mouseButtonDownLogic(uint8_t mouseButton) +{ + // if already holding left button and clicking right, don't do mouse down handling + if (mouseButton == SDL_BUTTON_RIGHT && mouse.leftButtonPressed) + { + mouse.rightButtonPressed = true; + return false; + } + + // if already holding right button and clicking left, don't do mouse down handling + if (mouseButton == SDL_BUTTON_LEFT && mouse.rightButtonPressed) + { + mouse.leftButtonPressed = true; + return false; + } + + if (mouseButton == SDL_BUTTON_LEFT) + mouse.leftButtonPressed = true; + else if (mouseButton == SDL_BUTTON_RIGHT) + mouse.rightButtonPressed = true; + + // don't do mouse down testing here if we already are using an object + if (mouse.lastUsedObjectType != OBJECT_NONE) + return false; + + // kludge #2 + if (mouse.lastUsedObjectType != OBJECT_PUSHBUTTON && mouse.lastUsedObjectID != OBJECT_ID_NONE) + return false; + + // kludge #3 + if (!mouse.rightButtonPressed) + mouse.lastUsedObjectID = OBJECT_ID_NONE; + + return true; +} + +static bool mouseButtonUpLogic(uint8_t mouseButton) +{ + if (mouseButton == SDL_BUTTON_LEFT) + mouse.leftButtonPressed = false; + else if (mouseButton == SDL_BUTTON_RIGHT) + mouse.rightButtonPressed = false; + + editor.textCursorBlinkCounter = 0; + + // if we used both mouse button at the same time and released *one*, don't release GUI object + if ( mouse.leftButtonPressed && !mouse.rightButtonPressed) return false; + if (!mouse.leftButtonPressed && mouse.rightButtonPressed) return false; + + return true; +} + +// WARNING: This routine must ONLY be called from the main input/video thread! +int16_t okBox(int16_t typ, const char *headline, const char *text) +{ +#define PUSHBUTTON_W 80 + + int16_t returnVal, oldLastUsedObjectID, oldLastUsedObjectType; + uint16_t x, y, i, tlen, hlen, wlen, tx, knp, headlineX, textX; + SDL_Event inputEvent; + pushButton_t *p; + checkBox_t *c; + +#ifndef __APPLE__ + if (!video.fullscreen) // release mouse button trap + SDL_SetWindowGrab(video.window, SDL_FALSE); +#endif + + if (editor.editTextFlag) + exitTextEditing(); + + // revert "delete/rename" mouse modes (disk op.) + if (mouse.mode != MOUSE_MODE_NORMAL) + setMouseMode(MOUSE_MODE_NORMAL); + + if (editor.ui.sysReqShown) + return 0; + + SDL_EventState(SDL_DROPFILE, SDL_DISABLE); + + editor.ui.sysReqShown = true; + mouseAnimOff(); + + oldLastUsedObjectID = mouse.lastUsedObjectID; + oldLastUsedObjectType = mouse.lastUsedObjectType; + + // count number of buttons + knp = 0; + while (buttonText[typ][knp][0] != '\0' && knp < 5) + knp++; + + tlen = textWidth(text); + hlen = textWidth(headline); + + wlen = tlen; + if (hlen > tlen) + wlen = hlen; + + tx = (knp * 100) - 20; + if (tx > wlen) + wlen = tx; + + wlen += 100; + if (wlen > 600) + wlen = 600; + + headlineX = (SCREEN_W - hlen) / 2; + textX = (SCREEN_W - tlen) / 2; + x = (SCREEN_W - wlen) / 2; + + // the box y position differs in extended pattern editor mode + y = editor.ui.extended ? SYSTEM_REQUEST_Y_EXT : SYSTEM_REQUEST_Y; + + // set up buttons + for (i = 0; i < knp; i++) + { + p = &pushButtons[i]; + + p->x = ((SCREEN_W - tx) / 2) + (i * 100); + p->y = y + 42; + p->w = PUSHBUTTON_W; + p->h = 16; + p->caption = buttonText[typ][i]; + p->visible = true; + } + + // set up checkbox (special okBox types only!) + if (typ >= 6 && typ <= 7) + { + c = &checkBoxes[0]; + c->x = x + 5; + c->y = y + 50; + c->clickAreaWidth = 116; + c->clickAreaHeight = 12; + c->checked = false; + + if (typ == 6) + { + // S3M load warning + c->callbackFunc = configToggleS3MLoadWarning; + } + else if (typ == 7) + { + // "setting not yet applied" + c->callbackFunc = configToggleNotYetAppliedWarning; + } + + c->visible = true; + } + + mouse.lastUsedObjectType = OBJECT_NONE; + mouse.lastUsedObjectID = OBJECT_ID_NONE; + mouse.leftButtonPressed = 0; + mouse.rightButtonPressed = 0; + + // input/rendering loop + returnVal = 0; + while (editor.ui.sysReqShown) + { + beginFPSCounter(); + readMouseXY(); + setSyncedReplayerVars(); + + if (mouse.leftButtonPressed || mouse.rightButtonPressed) + { + if (mouse.lastUsedObjectType == OBJECT_PUSHBUTTON) + handlePushButtonsWhileMouseDown(); + else if (mouse.lastUsedObjectType == OBJECT_CHECKBOX) + handleCheckBoxesWhileMouseDown(); + } + + while (SDL_PollEvent(&inputEvent)) + { + if (inputEvent.type == SDL_KEYDOWN) + { + if (inputEvent.key.keysym.sym == SDLK_ESCAPE) + { + returnVal = 0; + editor.ui.sysReqShown = false; + } + else if (inputEvent.key.keysym.sym == SDLK_RETURN) + { + returnVal = 1; + editor.ui.sysReqShown = false; + keyb.ignoreCurrKeyUp = true; // don't handle key up event for any keys that were pressed + } + + for (i = 0; i < knp; i++) + { + if (shortCut[typ][i] == inputEvent.key.keysym.sym) + { + returnVal = i + 1; + editor.ui.sysReqShown = false; + keyb.ignoreCurrKeyUp = true; // don't handle key up event for any keys that were pressed + break; + } + } + } + else if (inputEvent.type == SDL_MOUSEBUTTONUP) + { + if (mouseButtonUpLogic(inputEvent.button.button)) + { + if (typ >= 6 && typ <= 7) + testCheckBoxMouseRelease(); + + returnVal = testPushButtonMouseRelease(false) + 1; + if (returnVal > 0) + editor.ui.sysReqShown = false; + + mouse.lastUsedObjectID = OBJECT_ID_NONE; + mouse.lastUsedObjectType = OBJECT_NONE; + } + } + else if (inputEvent.type == SDL_MOUSEBUTTONDOWN) + { + if (mouseButtonDownLogic(inputEvent.button.button)) + { + if (testPushButtonMouseDown()) continue; + if (testCheckBoxMouseDown()) continue; + } + } + + if (!editor.ui.sysReqShown) + break; + } + + if (!editor.ui.sysReqShown) + break; + + handleRedrawing(); + + // draw OK box + drawWindow(wlen); + textOutShadow(headlineX, y + 4, PAL_BUTTON1, PAL_BUTTON2, headline); + textOutShadow(textX, y + 24, PAL_BUTTON1, PAL_BUTTON2, text); + for (i = 0; i < knp; i++) drawPushButton(i); + if (typ >= 6 && typ <= 7) + { + drawCheckBox(0); + textOutShadow(x + 21, y + 52, PAL_BUTTON1, PAL_BUTTON2, "Don't show again"); + } + + flipFrame(); + endFPSCounter(); + } + + for (i = 0; i < knp; i++) + hidePushButton(i); + + if (typ >= 6 && typ <= 7) + hideCheckBox(0); + + mouse.lastUsedObjectID = oldLastUsedObjectID; + mouse.lastUsedObjectType = oldLastUsedObjectType; + unstuckLastUsedGUIElement(); + + showBottomScreen(); + + SDL_EventState(SDL_DROPFILE, SDL_ENABLE); + return returnVal; +} + +/* WARNING: +** - This routine must ONLY be called from the main input/video thread!! +** - edText must be null-terminated +*/ +int16_t inputBox(int16_t typ, const char *headline, char *edText, uint16_t maxStrLen) +{ +#define PUSHBUTTON_W 80 +#define TEXTBOX_W 250 + + char *inputText; + int16_t returnVal, oldLastUsedObjectID, oldLastUsedObjectType; + uint16_t y, wlen, tx, knp, headlineX, i; + SDL_Event inputEvent; + pushButton_t *p; + textBox_t *t; + + if (editor.editTextFlag) + exitTextEditing(); + + // revert "delete/rename" mouse modes (disk op.) + if (mouse.mode != MOUSE_MODE_NORMAL) + setMouseMode(MOUSE_MODE_NORMAL); + + if (editor.ui.sysReqShown) + return 0; + + oldLastUsedObjectID = mouse.lastUsedObjectID; + oldLastUsedObjectType = mouse.lastUsedObjectType; + + t = &textBoxes[0]; + + // set up text box + memset(t, 0, sizeof (textBox_t)); + t->w = TEXTBOX_W; + t->h = 12; + t->tx = 2; + t->ty = 1; + t->textPtr = edText; + t->maxChars = maxStrLen; + t->changeMouseCursor = true; + t->renderBufW = (9 + 1) * t->maxChars; // 9 = max character/glyph width possible + t->renderBufH = 10; // 10 = max character height possible + t->renderW = t->w - (t->tx * 2); + + t->renderBuf = (uint8_t *)malloc(t->renderBufW * t->renderBufH * sizeof (int8_t)); + if (t->renderBuf == NULL) + { + okBox(0, "System message", "Not enough memory!"); + return 0; + } + +#ifndef __APPLE__ + if (!video.fullscreen) // release mouse button trap + SDL_SetWindowGrab(video.window, SDL_FALSE); +#endif + + SDL_EventState(SDL_DROPFILE, SDL_DISABLE); + + editor.ui.sysReqShown = true; + mouseAnimOff(); + + wlen = textWidth(headline); + headlineX = (SCREEN_W - wlen) / 2; + + // count number of buttons + knp = 0; + while (buttonText[typ][knp][0] != '\0' && knp < 5) + knp++; + + tx = TEXTBOX_W; + if (tx > wlen) + wlen = tx; + + tx = (knp * 100) - 20; + if (tx > wlen) + wlen = tx; + + wlen += 100; + if (wlen > 600) + wlen = 600; + + // the box y position differs in extended pattern editor mode + y = editor.ui.extended ? SYSTEM_REQUEST_Y_EXT : SYSTEM_REQUEST_Y; + + // set further text box settings + t->x = (SCREEN_W - TEXTBOX_W) / 2; + t->y = y + 24; + t->visible = true; + + // setup buttons + for (i = 0; i < knp; i++) + { + p = &pushButtons[i]; + + p->w = PUSHBUTTON_W; + p->h = 16; + p->x = ((SCREEN_W - tx) / 2) + (i * 100); + p->y = y + 42; + p->caption = buttonText[typ][i]; + p->visible = true; + } + + keyb.leftShiftPressed = false; // kludge + setTextCursorToEnd(t); + + mouse.lastEditBox = 0; + editor.editTextFlag = true; + SDL_StartTextInput(); + + mouse.lastUsedObjectType = OBJECT_NONE; + mouse.lastUsedObjectID = OBJECT_ID_NONE; + mouse.leftButtonPressed = 0; + mouse.rightButtonPressed = 0; + + // input/rendering loop + returnVal = 0; + while (editor.ui.sysReqShown) + { + beginFPSCounter(); + readMouseXY(); + readKeyModifiers(); + setSyncedReplayerVars(); + + if (mouse.leftButtonPressed || mouse.rightButtonPressed) + { + if (mouse.lastUsedObjectType == OBJECT_PUSHBUTTON) + handlePushButtonsWhileMouseDown(); + else if (mouse.lastUsedObjectType == OBJECT_TEXTBOX) + handleTextBoxWhileMouseDown(); + } + + while (SDL_PollEvent(&inputEvent)) + { + if (inputEvent.type == SDL_TEXTINPUT) + { + if (editor.editTextFlag) + { + if (keyb.ignoreTextEditKey) + { + keyb.ignoreTextEditKey = false; + continue; + } + + inputText = utf8ToCp437(inputEvent.text.text, false); + if (inputText != NULL) + { + if (inputText[0] != '\0') + handleTextEditInputChar(inputText[0]); + + free(inputText); + } + } + } + else if (inputEvent.type == SDL_KEYDOWN) + { + if (inputEvent.key.keysym.sym == SDLK_ESCAPE) + { + returnVal = 0; + editor.ui.sysReqShown = false; + } + else if (inputEvent.key.keysym.sym == SDLK_RETURN) + { + returnVal = 1; + editor.ui.sysReqShown = false; + keyb.ignoreCurrKeyUp = true; // don't handle key up event for any keys that were pressed + } + + if (editor.editTextFlag) + { + handleTextEditControl(inputEvent.key.keysym.sym); + } + else + { + for (i = 0; i < knp; i++) + { + if (shortCut[1][i] == inputEvent.key.keysym.sym) + { + returnVal = i + 1; + editor.ui.sysReqShown = false; + keyb.ignoreCurrKeyUp = true; // don't handle key up event for any keys that were pressed + break; + } + } + } + } + else if (inputEvent.type == SDL_MOUSEBUTTONUP) + { + if (mouseButtonUpLogic(inputEvent.button.button)) + { + returnVal = testPushButtonMouseRelease(false) + 1; + if (returnVal > 0) + editor.ui.sysReqShown = false; + + mouse.lastUsedObjectID = OBJECT_ID_NONE; + mouse.lastUsedObjectType = OBJECT_NONE; + } + } + else if (inputEvent.type == SDL_MOUSEBUTTONDOWN) + { + if (mouseButtonDownLogic(inputEvent.button.button)) + { + if (testTextBoxMouseDown()) continue; + if (testPushButtonMouseDown()) continue; + } + } + + if (!editor.ui.sysReqShown) + break; + } + + if (!editor.ui.sysReqShown) + break; + + handleRedrawing(); + + // draw input box + drawWindow(wlen); + textOutShadow(headlineX, y + 4, PAL_BUTTON1, PAL_BUTTON2, headline); + clearRect(t->x, t->y, t->w, t->h); + hLine(t->x - 1, t->y - 1, t->w + 2, PAL_BUTTON2); + vLine(t->x - 1, t->y, t->h + 1, PAL_BUTTON2); + hLine(t->x, t->y + t->h, t->w + 1, PAL_BUTTON1); + vLine(t->x + t->w, t->y, t->h, PAL_BUTTON1); + drawTextBox(0); + for (i = 0; i < knp; i++) drawPushButton(i); + + flipFrame(); + endFPSCounter(); + } + + editor.editTextFlag = false; + SDL_StopTextInput(); + + for (i = 0; i < knp; i++) + hidePushButton(i); + hideTextBox(0); + + free(t->renderBuf); + + mouse.lastUsedObjectID = oldLastUsedObjectID; + mouse.lastUsedObjectType = oldLastUsedObjectType; + unstuckLastUsedGUIElement(); + + showBottomScreen(); + + SDL_EventState(SDL_DROPFILE, SDL_ENABLE); + return returnVal; +} + +// WARNING: This routine must NOT be called from the main input/video thread! +int16_t okBoxThreadSafe(int16_t typ, const char *headline, const char *text) +{ + if (!editor.mainLoopOngoing) + return 0; // main loop was not even started yet, bail out. + + // block multiple calls before they are completed (for safety) + while (okBoxData.active) + SDL_Delay(1000 / VBLANK_HZ); + + okBoxData.typ = typ; + okBoxData.headline = headline; + okBoxData.text = text; + okBoxData.active = true; + + while (okBoxData.active) + SDL_Delay(1000 / VBLANK_HZ); + + return okBoxData.returnData; +} + +static bool askQuit_RandomMsg(void) +{ + uint8_t msg = rand() % QUIT_MESSAGES; + int16_t button = okBox(quitMessage[msg].typ, "System request", quitMessage[msg].text); + + return (button == 1) ? true : false; +} + +bool askUnsavedChanges(uint8_t type) +{ + int16_t button; + + if (type == ASK_TYPE_QUIT) + { + button = okBox(2, "System request", + "You have unsaved changes in your song. Do you still want to quit and lose ALL changes?"); + } + else + { + button = okBox(2, "System request", + "You have unsaved changes in your song. Load new song and lose ALL changes?"); + } + + return (button == 1) ? true : false; +} + +int16_t quitBox(bool skipQuitMsg) +{ + if (editor.ui.sysReqShown) + return 0; + + if (!song.isModified && skipQuitMsg) + return 1; + + if (song.isModified) + return askUnsavedChanges(ASK_TYPE_QUIT); + + return askQuit_RandomMsg(); +} diff --git a/src/ft2_sysreqs.h b/src/ft2_sysreqs.h index f6af10c..d7ff731 100644 --- a/src/ft2_sysreqs.h +++ b/src/ft2_sysreqs.h @@ -1,17 +1,24 @@ -#pragma once - -#include -#include - -int16_t okBoxThreadSafe(int16_t typ, char *headline, char *text); -int16_t okBox(int16_t typ, char *headline, char *text); -int16_t quitBox(bool skipQuitMsg); -int16_t inputBox(int16_t typ, char *headline, char *edText, uint16_t maxStrLen); - -// for thread-safe version of okBox() -struct -{ - volatile bool active; - int16_t typ, returnData; - char *headline, *text; -} okBoxData; +#pragma once + +#include +#include + +int16_t okBoxThreadSafe(int16_t typ, const char *headline, const char *text); +int16_t okBox(int16_t typ, const char *headline, const char *text); +int16_t quitBox(bool skipQuitMsg); +int16_t inputBox(int16_t typ, const char *headline, char *edText, uint16_t maxStrLen); +bool askUnsavedChanges(uint8_t type); + +// for thread-safe version of okBox() +struct +{ + volatile bool active; + int16_t typ, returnData; + const char *headline, *text; +} okBoxData; + +enum +{ + ASK_TYPE_QUIT = 0, + ASK_TYPE_LOAD_SONG = 1, +}; diff --git a/src/ft2_tables.c b/src/ft2_tables.c new file mode 100644 index 0000000..ebe7130 --- /dev/null +++ b/src/ft2_tables.c @@ -0,0 +1,1121 @@ +#include +#include +#include "ft2_palette.h" // pal16 typedef +#include "ft2_pattern_ed.h" // pattCoord_t/pattCoord2_t/pattCoordsMouse_t/markCoord_t typedef +#include "ft2_header.h" // MAX_VOICES +#include "ft2_config.h" // CONFIG_FILE_SIZE +#include "ft2_gfxdata.h" + +/* ----------------------------------------------------------------------- */ +/* REPLAYER TABLES */ +/* ----------------------------------------------------------------------- */ + +const int8_t vibSineTab[256] = // for auto-vibrato +{ + 0, -2, -3, -5, -6, -8, -9, -11, -12, -14, -16, -17, -19, -20, -22, -23, + -24, -26, -27, -29, -30, -32, -33, -34, -36, -37, -38, -39, -41, -42, -43, -44, + -45, -46, -47, -48, -49, -50, -51, -52, -53, -54, -55, -56, -56, -57, -58, -59, + -59, -60, -60, -61, -61, -62, -62, -62, -63, -63, -63, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -63, -63, -63, -62, -62, -62, -61, -61, -60, -60, + -59, -59, -58, -57, -56, -56, -55, -54, -53, -52, -51, -50, -49, -48, -47, -46, + -45, -44, -43, -42, -41, -39, -38, -37, -36, -34, -33, -32, -30, -29, -27, -26, + -24, -23, -22, -20, -19, -17, -16, -14, -12, -11, -9, -8, -6, -5, -3, -2, + 0, 2, 3, 5, 6, 8, 9, 11, 12, 14, 16, 17, 19, 20, 22, 23, + 24, 26, 27, 29, 30, 32, 33, 34, 36, 37, 38, 39, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 56, 57, 58, 59, + 59, 60, 60, 61, 61, 62, 62, 62, 63, 63, 63, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 63, 63, 63, 62, 62, 62, 61, 61, 60, 60, + 59, 59, 58, 57, 56, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, + 45, 44, 43, 42, 41, 39, 38, 37, 36, 34, 33, 32, 30, 29, 27, 26, + 24, 23, 22, 20, 19, 17, 16, 14, 12, 11, 9, 8, 6, 5, 3, 2 +}; + +const uint8_t vibTab[32] = +{ + 0, 24, 49, 74, 97,120,141,161,180,197,212,224,235,244,250,253, + 255,253,250,244,235,224,212,197,180,161,141,120, 97, 74, 49, 24 +}; + +const uint16_t amigaPeriod[12 * 8] = +{ + 6848, 6464, 6096, 5760, 5424, 5120, 4832, 4560, 4304, 4064, 3840, 3624, + 3424, 3232, 3048, 2880, 2712, 2560, 2416, 2280, 2152, 2032, 1920, 1812, + 1712, 1616, 1524, 1440, 1356, 1280, 1208, 1140, 1076, 1016, 960, 906, + 856, 808, 762, 720, 678, 640, 604, 570, 538, 508, 480, 453, + 428, 404, 381, 360, 339, 320, 302, 285, 269, 254, 240, 226, + 214, 202, 190, 180, 170, 160, 151, 143, 135, 127, 120, 113, + 107, 101, 95, 90, 85, 80, 75, 71, 67, 63, 60, 56, + 53, 50, 47, 45, 42, 40, 37, 35, 33, 31, 30, 28 +}; + +const uint16_t amigaFinePeriod[12 * 8] = +{ + 907, 900, 894, 887, 881, 875, 868, 862, 856, 850, 844, 838, + 832, 826, 820, 814, 808, 802, 796, 791, 785, 779, 774, 768, + 762, 757, 752, 746, 741, 736, 730, 725, 720, 715, 709, 704, + 699, 694, 689, 684, 678, 675, 670, 665, 660, 655, 651, 646, + 640, 636, 632, 628, 623, 619, 614, 610, 604, 601, 597, 592, + 588, 584, 580, 575, 570, 567, 563, 559, 555, 551, 547, 543, + 538, 535, 532, 528, 524, 520, 516, 513, 508, 505, 502, 498, + 494, 491, 487, 484, 480, 477, 474, 470, 467, 463, 460, 457 +}; + +const int16_t linearPeriods[1936] = // bit-exact to FT2 table +{ + 7744, 7740, 7736, 7732, 7728, 7724, 7720, 7716, 7712, 7708, 7704, 7700, 7696, 7692, 7688, 7684, + 7680, 7676, 7672, 7668, 7664, 7660, 7656, 7652, 7648, 7644, 7640, 7636, 7632, 7628, 7624, 7620, + 7616, 7612, 7608, 7604, 7600, 7596, 7592, 7588, 7584, 7580, 7576, 7572, 7568, 7564, 7560, 7556, + 7552, 7548, 7544, 7540, 7536, 7532, 7528, 7524, 7520, 7516, 7512, 7508, 7504, 7500, 7496, 7492, + 7488, 7484, 7480, 7476, 7472, 7468, 7464, 7460, 7456, 7452, 7448, 7444, 7440, 7436, 7432, 7428, + 7424, 7420, 7416, 7412, 7408, 7404, 7400, 7396, 7392, 7388, 7384, 7380, 7376, 7372, 7368, 7364, + 7360, 7356, 7352, 7348, 7344, 7340, 7336, 7332, 7328, 7324, 7320, 7316, 7312, 7308, 7304, 7300, + 7296, 7292, 7288, 7284, 7280, 7276, 7272, 7268, 7264, 7260, 7256, 7252, 7248, 7244, 7240, 7236, + 7232, 7228, 7224, 7220, 7216, 7212, 7208, 7204, 7200, 7196, 7192, 7188, 7184, 7180, 7176, 7172, + 7168, 7164, 7160, 7156, 7152, 7148, 7144, 7140, 7136, 7132, 7128, 7124, 7120, 7116, 7112, 7108, + 7104, 7100, 7096, 7092, 7088, 7084, 7080, 7076, 7072, 7068, 7064, 7060, 7056, 7052, 7048, 7044, + 7040, 7036, 7032, 7028, 7024, 7020, 7016, 7012, 7008, 7004, 7000, 6996, 6992, 6988, 6984, 6980, + 6976, 6972, 6968, 6964, 6960, 6956, 6952, 6948, 6944, 6940, 6936, 6932, 6928, 6924, 6920, 6916, + 6912, 6908, 6904, 6900, 6896, 6892, 6888, 6884, 6880, 6876, 6872, 6868, 6864, 6860, 6856, 6852, + 6848, 6844, 6840, 6836, 6832, 6828, 6824, 6820, 6816, 6812, 6808, 6804, 6800, 6796, 6792, 6788, + 6784, 6780, 6776, 6772, 6768, 6764, 6760, 6756, 6752, 6748, 6744, 6740, 6736, 6732, 6728, 6724, + 6720, 6716, 6712, 6708, 6704, 6700, 6696, 6692, 6688, 6684, 6680, 6676, 6672, 6668, 6664, 6660, + 6656, 6652, 6648, 6644, 6640, 6636, 6632, 6628, 6624, 6620, 6616, 6612, 6608, 6604, 6600, 6596, + 6592, 6588, 6584, 6580, 6576, 6572, 6568, 6564, 6560, 6556, 6552, 6548, 6544, 6540, 6536, 6532, + 6528, 6524, 6520, 6516, 6512, 6508, 6504, 6500, 6496, 6492, 6488, 6484, 6480, 6476, 6472, 6468, + 6464, 6460, 6456, 6452, 6448, 6444, 6440, 6436, 6432, 6428, 6424, 6420, 6416, 6412, 6408, 6404, + 6400, 6396, 6392, 6388, 6384, 6380, 6376, 6372, 6368, 6364, 6360, 6356, 6352, 6348, 6344, 6340, + 6336, 6332, 6328, 6324, 6320, 6316, 6312, 6308, 6304, 6300, 6296, 6292, 6288, 6284, 6280, 6276, + 6272, 6268, 6264, 6260, 6256, 6252, 6248, 6244, 6240, 6236, 6232, 6228, 6224, 6220, 6216, 6212, + 6208, 6204, 6200, 6196, 6192, 6188, 6184, 6180, 6176, 6172, 6168, 6164, 6160, 6156, 6152, 6148, + 6144, 6140, 6136, 6132, 6128, 6124, 6120, 6116, 6112, 6108, 6104, 6100, 6096, 6092, 6088, 6084, + 6080, 6076, 6072, 6068, 6064, 6060, 6056, 6052, 6048, 6044, 6040, 6036, 6032, 6028, 6024, 6020, + 6016, 6012, 6008, 6004, 6000, 5996, 5992, 5988, 5984, 5980, 5976, 5972, 5968, 5964, 5960, 5956, + 5952, 5948, 5944, 5940, 5936, 5932, 5928, 5924, 5920, 5916, 5912, 5908, 5904, 5900, 5896, 5892, + 5888, 5884, 5880, 5876, 5872, 5868, 5864, 5860, 5856, 5852, 5848, 5844, 5840, 5836, 5832, 5828, + 5824, 5820, 5816, 5812, 5808, 5804, 5800, 5796, 5792, 5788, 5784, 5780, 5776, 5772, 5768, 5764, + 5760, 5756, 5752, 5748, 5744, 5740, 5736, 5732, 5728, 5724, 5720, 5716, 5712, 5708, 5704, 5700, + 5696, 5692, 5688, 5684, 5680, 5676, 5672, 5668, 5664, 5660, 5656, 5652, 5648, 5644, 5640, 5636, + 5632, 5628, 5624, 5620, 5616, 5612, 5608, 5604, 5600, 5596, 5592, 5588, 5584, 5580, 5576, 5572, + 5568, 5564, 5560, 5556, 5552, 5548, 5544, 5540, 5536, 5532, 5528, 5524, 5520, 5516, 5512, 5508, + 5504, 5500, 5496, 5492, 5488, 5484, 5480, 5476, 5472, 5468, 5464, 5460, 5456, 5452, 5448, 5444, + 5440, 5436, 5432, 5428, 5424, 5420, 5416, 5412, 5408, 5404, 5400, 5396, 5392, 5388, 5384, 5380, + 5376, 5372, 5368, 5364, 5360, 5356, 5352, 5348, 5344, 5340, 5336, 5332, 5328, 5324, 5320, 5316, + 5312, 5308, 5304, 5300, 5296, 5292, 5288, 5284, 5280, 5276, 5272, 5268, 5264, 5260, 5256, 5252, + 5248, 5244, 5240, 5236, 5232, 5228, 5224, 5220, 5216, 5212, 5208, 5204, 5200, 5196, 5192, 5188, + 5184, 5180, 5176, 5172, 5168, 5164, 5160, 5156, 5152, 5148, 5144, 5140, 5136, 5132, 5128, 5124, + 5120, 5116, 5112, 5108, 5104, 5100, 5096, 5092, 5088, 5084, 5080, 5076, 5072, 5068, 5064, 5060, + 5056, 5052, 5048, 5044, 5040, 5036, 5032, 5028, 5024, 5020, 5016, 5012, 5008, 5004, 5000, 4996, + 4992, 4988, 4984, 4980, 4976, 4972, 4968, 4964, 4960, 4956, 4952, 4948, 4944, 4940, 4936, 4932, + 4928, 4924, 4920, 4916, 4912, 4908, 4904, 4900, 4896, 4892, 4888, 4884, 4880, 4876, 4872, 4868, + 4864, 4860, 4856, 4852, 4848, 4844, 4840, 4836, 4832, 4828, 4824, 4820, 4816, 4812, 4808, 4804, + 4800, 4796, 4792, 4788, 4784, 4780, 4776, 4772, 4768, 4764, 4760, 4756, 4752, 4748, 4744, 4740, + 4736, 4732, 4728, 4724, 4720, 4716, 4712, 4708, 4704, 4700, 4696, 4692, 4688, 4684, 4680, 4676, + 4672, 4668, 4664, 4660, 4656, 4652, 4648, 4644, 4640, 4636, 4632, 4628, 4624, 4620, 4616, 4612, + 4608, 4604, 4600, 4596, 4592, 4588, 4584, 4580, 4576, 4572, 4568, 4564, 4560, 4556, 4552, 4548, + 4544, 4540, 4536, 4532, 4528, 4524, 4520, 4516, 4512, 4508, 4504, 4500, 4496, 4492, 4488, 4484, + 4480, 4476, 4472, 4468, 4464, 4460, 4456, 4452, 4448, 4444, 4440, 4436, 4432, 4428, 4424, 4420, + 4416, 4412, 4408, 4404, 4400, 4396, 4392, 4388, 4384, 4380, 4376, 4372, 4368, 4364, 4360, 4356, + 4352, 4348, 4344, 4340, 4336, 4332, 4328, 4324, 4320, 4316, 4312, 4308, 4304, 4300, 4296, 4292, + 4288, 4284, 4280, 4276, 4272, 4268, 4264, 4260, 4256, 4252, 4248, 4244, 4240, 4236, 4232, 4228, + 4224, 4220, 4216, 4212, 4208, 4204, 4200, 4196, 4192, 4188, 4184, 4180, 4176, 4172, 4168, 4164, + 4160, 4156, 4152, 4148, 4144, 4140, 4136, 4132, 4128, 4124, 4120, 4116, 4112, 4108, 4104, 4100, + 4096, 4092, 4088, 4084, 4080, 4076, 4072, 4068, 4064, 4060, 4056, 4052, 4048, 4044, 4040, 4036, + 4032, 4028, 4024, 4020, 4016, 4012, 4008, 4004, 4000, 3996, 3992, 3988, 3984, 3980, 3976, 3972, + 3968, 3964, 3960, 3956, 3952, 3948, 3944, 3940, 3936, 3932, 3928, 3924, 3920, 3916, 3912, 3908, + 3904, 3900, 3896, 3892, 3888, 3884, 3880, 3876, 3872, 3868, 3864, 3860, 3856, 3852, 3848, 3844, + 3840, 3836, 3832, 3828, 3824, 3820, 3816, 3812, 3808, 3804, 3800, 3796, 3792, 3788, 3784, 3780, + 3776, 3772, 3768, 3764, 3760, 3756, 3752, 3748, 3744, 3740, 3736, 3732, 3728, 3724, 3720, 3716, + 3712, 3708, 3704, 3700, 3696, 3692, 3688, 3684, 3680, 3676, 3672, 3668, 3664, 3660, 3656, 3652, + 3648, 3644, 3640, 3636, 3632, 3628, 3624, 3620, 3616, 3612, 3608, 3604, 3600, 3596, 3592, 3588, + 3584, 3580, 3576, 3572, 3568, 3564, 3560, 3556, 3552, 3548, 3544, 3540, 3536, 3532, 3528, 3524, + 3520, 3516, 3512, 3508, 3504, 3500, 3496, 3492, 3488, 3484, 3480, 3476, 3472, 3468, 3464, 3460, + 3456, 3452, 3448, 3444, 3440, 3436, 3432, 3428, 3424, 3420, 3416, 3412, 3408, 3404, 3400, 3396, + 3392, 3388, 3384, 3380, 3376, 3372, 3368, 3364, 3360, 3356, 3352, 3348, 3344, 3340, 3336, 3332, + 3328, 3324, 3320, 3316, 3312, 3308, 3304, 3300, 3296, 3292, 3288, 3284, 3280, 3276, 3272, 3268, + 3264, 3260, 3256, 3252, 3248, 3244, 3240, 3236, 3232, 3228, 3224, 3220, 3216, 3212, 3208, 3204, + 3200, 3196, 3192, 3188, 3184, 3180, 3176, 3172, 3168, 3164, 3160, 3156, 3152, 3148, 3144, 3140, + 3136, 3132, 3128, 3124, 3120, 3116, 3112, 3108, 3104, 3100, 3096, 3092, 3088, 3084, 3080, 3076, + 3072, 3068, 3064, 3060, 3056, 3052, 3048, 3044, 3040, 3036, 3032, 3028, 3024, 3020, 3016, 3012, + 3008, 3004, 3000, 2996, 2992, 2988, 2984, 2980, 2976, 2972, 2968, 2964, 2960, 2956, 2952, 2948, + 2944, 2940, 2936, 2932, 2928, 2924, 2920, 2916, 2912, 2908, 2904, 2900, 2896, 2892, 2888, 2884, + 2880, 2876, 2872, 2868, 2864, 2860, 2856, 2852, 2848, 2844, 2840, 2836, 2832, 2828, 2824, 2820, + 2816, 2812, 2808, 2804, 2800, 2796, 2792, 2788, 2784, 2780, 2776, 2772, 2768, 2764, 2760, 2756, + 2752, 2748, 2744, 2740, 2736, 2732, 2728, 2724, 2720, 2716, 2712, 2708, 2704, 2700, 2696, 2692, + 2688, 2684, 2680, 2676, 2672, 2668, 2664, 2660, 2656, 2652, 2648, 2644, 2640, 2636, 2632, 2628, + 2624, 2620, 2616, 2612, 2608, 2604, 2600, 2596, 2592, 2588, 2584, 2580, 2576, 2572, 2568, 2564, + 2560, 2556, 2552, 2548, 2544, 2540, 2536, 2532, 2528, 2524, 2520, 2516, 2512, 2508, 2504, 2500, + 2496, 2492, 2488, 2484, 2480, 2476, 2472, 2468, 2464, 2460, 2456, 2452, 2448, 2444, 2440, 2436, + 2432, 2428, 2424, 2420, 2416, 2412, 2408, 2404, 2400, 2396, 2392, 2388, 2384, 2380, 2376, 2372, + 2368, 2364, 2360, 2356, 2352, 2348, 2344, 2340, 2336, 2332, 2328, 2324, 2320, 2316, 2312, 2308, + 2304, 2300, 2296, 2292, 2288, 2284, 2280, 2276, 2272, 2268, 2264, 2260, 2256, 2252, 2248, 2244, + 2240, 2236, 2232, 2228, 2224, 2220, 2216, 2212, 2208, 2204, 2200, 2196, 2192, 2188, 2184, 2180, + 2176, 2172, 2168, 2164, 2160, 2156, 2152, 2148, 2144, 2140, 2136, 2132, 2128, 2124, 2120, 2116, + 2112, 2108, 2104, 2100, 2096, 2092, 2088, 2084, 2080, 2076, 2072, 2068, 2064, 2060, 2056, 2052, + 2048, 2044, 2040, 2036, 2032, 2028, 2024, 2020, 2016, 2012, 2008, 2004, 2000, 1996, 1992, 1988, + 1984, 1980, 1976, 1972, 1968, 1964, 1960, 1956, 1952, 1948, 1944, 1940, 1936, 1932, 1928, 1924, + 1920, 1916, 1912, 1908, 1904, 1900, 1896, 1892, 1888, 1884, 1880, 1876, 1872, 1868, 1864, 1860, + 1856, 1852, 1848, 1844, 1840, 1836, 1832, 1828, 1824, 1820, 1816, 1812, 1808, 1804, 1800, 1796, + 1792, 1788, 1784, 1780, 1776, 1772, 1768, 1764, 1760, 1756, 1752, 1748, 1744, 1740, 1736, 1732, + 1728, 1724, 1720, 1716, 1712, 1708, 1704, 1700, 1696, 1692, 1688, 1684, 1680, 1676, 1672, 1668, + 1664, 1660, 1656, 1652, 1648, 1644, 1640, 1636, 1632, 1628, 1624, 1620, 1616, 1612, 1608, 1604, + 1600, 1596, 1592, 1588, 1584, 1580, 1576, 1572, 1568, 1564, 1560, 1556, 1552, 1548, 1544, 1540, + 1536, 1532, 1528, 1524, 1520, 1516, 1512, 1508, 1504, 1500, 1496, 1492, 1488, 1484, 1480, 1476, + 1472, 1468, 1464, 1460, 1456, 1452, 1448, 1444, 1440, 1436, 1432, 1428, 1424, 1420, 1416, 1412, + 1408, 1404, 1400, 1396, 1392, 1388, 1384, 1380, 1376, 1372, 1368, 1364, 1360, 1356, 1352, 1348, + 1344, 1340, 1336, 1332, 1328, 1324, 1320, 1316, 1312, 1308, 1304, 1300, 1296, 1292, 1288, 1284, + 1280, 1276, 1272, 1268, 1264, 1260, 1256, 1252, 1248, 1244, 1240, 1236, 1232, 1228, 1224, 1220, + 1216, 1212, 1208, 1204, 1200, 1196, 1192, 1188, 1184, 1180, 1176, 1172, 1168, 1164, 1160, 1156, + 1152, 1148, 1144, 1140, 1136, 1132, 1128, 1124, 1120, 1116, 1112, 1108, 1104, 1100, 1096, 1092, + 1088, 1084, 1080, 1076, 1072, 1068, 1064, 1060, 1056, 1052, 1048, 1044, 1040, 1036, 1032, 1028, + 1024, 1020, 1016, 1012, 1008, 1004, 1000, 996, 992, 988, 984, 980, 976, 972, 968, 964, + 960, 956, 952, 948, 944, 940, 936, 932, 928, 924, 920, 916, 912, 908, 904, 900, + 896, 892, 888, 884, 880, 876, 872, 868, 864, 860, 856, 852, 848, 844, 840, 836, + 832, 828, 824, 820, 816, 812, 808, 804, 800, 796, 792, 788, 784, 780, 776, 772, + 768, 764, 760, 756, 752, 748, 744, 740, 736, 732, 728, 724, 720, 716, 712, 708, + 704, 700, 696, 692, 688, 684, 680, 676, 672, 668, 664, 660, 656, 652, 648, 644, + 640, 636, 632, 628, 624, 620, 616, 612, 608, 604, 600, 596, 592, 588, 584, 580, + 576, 572, 568, 564, 560, 556, 552, 548, 544, 540, 536, 532, 528, 524, 520, 516, + 512, 508, 504, 500, 496, 492, 488, 484, 480, 476, 472, 468, 464, 460, 456, 452, + 448, 444, 440, 436, 432, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, + 384, 380, 376, 372, 368, 364, 360, 356, 352, 348, 344, 340, 336, 332, 328, 324, + 320, 316, 312, 308, 304, 300, 296, 292, 288, 284, 280, 276, 272, 268, 264, 260, + 256, 252, 248, 244, 240, 236, 232, 228, 224, 220, 216, 212, 208, 204, 200, 196, + 192, 188, 184, 180, 176, 172, 168, 164, 160, 156, 152, 148, 144, 140, 136, 132, + 128, 124, 120, 116, 112, 108, 104, 100, 96, 92, 88, 84, 80, 76, 72, 68, + 64, 60, 56, 52, 48, 44, 40, 36, 32, 28, 24, 20, 16, 12, 8, 4 +}; + +const int16_t amigaPeriods[1936] = // bit-exact to FT2 table +{ + 29024, 28912, 28800, 28704, 28608, 28496, 28384, 28288, 28192, 28096, 28000, 27888, 27776, 27680, 27584, 27488, + 27392, 27296, 27200, 27104, 27008, 26912, 26816, 26720, 26624, 26528, 26432, 26336, 26240, 26144, 26048, 25952, + 25856, 25760, 25664, 25568, 25472, 25392, 25312, 25216, 25120, 25024, 24928, 24848, 24768, 24672, 24576, 24480, + 24384, 24304, 24224, 24144, 24064, 23968, 23872, 23792, 23712, 23632, 23552, 23456, 23360, 23280, 23200, 23120, + 23040, 22960, 22880, 22784, 22688, 22608, 22528, 22448, 22368, 22288, 22208, 22128, 22048, 21968, 21888, 21792, + 21696, 21648, 21600, 21520, 21440, 21360, 21280, 21200, 21120, 21040, 20960, 20896, 20832, 20752, 20672, 20576, + 20480, 20416, 20352, 20288, 20224, 20160, 20096, 20016, 19936, 19872, 19808, 19728, 19648, 19584, 19520, 19424, + 19328, 19280, 19232, 19168, 19104, 19024, 18944, 18880, 18816, 18752, 18688, 18624, 18560, 18480, 18400, 18320, + 18240, 18192, 18144, 18080, 18016, 17952, 17888, 17824, 17760, 17696, 17632, 17568, 17504, 17440, 17376, 17296, + 17216, 17168, 17120, 17072, 17024, 16960, 16896, 16832, 16768, 16704, 16640, 16576, 16512, 16464, 16416, 16336, + 16256, 16208, 16160, 16112, 16064, 16000, 15936, 15872, 15808, 15760, 15712, 15648, 15584, 15536, 15488, 15424, + 15360, 15312, 15264, 15216, 15168, 15104, 15040, 14992, 14944, 14880, 14816, 14768, 14720, 14672, 14624, 14568, + 14512, 14456, 14400, 14352, 14304, 14248, 14192, 14144, 14096, 14048, 14000, 13944, 13888, 13840, 13792, 13744, + 13696, 13648, 13600, 13552, 13504, 13456, 13408, 13360, 13312, 13264, 13216, 13168, 13120, 13072, 13024, 12976, + 12928, 12880, 12832, 12784, 12736, 12696, 12656, 12608, 12560, 12512, 12464, 12424, 12384, 12336, 12288, 12240, + 12192, 12152, 12112, 12072, 12032, 11984, 11936, 11896, 11856, 11816, 11776, 11728, 11680, 11640, 11600, 11560, + 11520, 11480, 11440, 11392, 11344, 11304, 11264, 11224, 11184, 11144, 11104, 11064, 11024, 10984, 10944, 10896, + 10848, 10824, 10800, 10760, 10720, 10680, 10640, 10600, 10560, 10520, 10480, 10448, 10416, 10376, 10336, 10288, + 10240, 10208, 10176, 10144, 10112, 10080, 10048, 10008, 9968, 9936, 9904, 9864, 9824, 9792, 9760, 9712, + 9664, 9640, 9616, 9584, 9552, 9512, 9472, 9440, 9408, 9376, 9344, 9312, 9280, 9240, 9200, 9160, + 9120, 9096, 9072, 9040, 9008, 8976, 8944, 8912, 8880, 8848, 8816, 8784, 8752, 8720, 8688, 8648, + 8608, 8584, 8560, 8536, 8512, 8480, 8448, 8416, 8384, 8352, 8320, 8288, 8256, 8232, 8208, 8168, + 8128, 8104, 8080, 8056, 8032, 8000, 7968, 7936, 7904, 7880, 7856, 7824, 7792, 7768, 7744, 7712, + 7680, 7656, 7632, 7608, 7584, 7552, 7520, 7496, 7472, 7440, 7408, 7384, 7360, 7336, 7312, 7284, + 7256, 7228, 7200, 7176, 7152, 7124, 7096, 7072, 7048, 7024, 7000, 6972, 6944, 6920, 6896, 6872, + 6848, 6824, 6800, 6776, 6752, 6728, 6704, 6680, 6656, 6632, 6608, 6584, 6560, 6536, 6512, 6488, + 6464, 6440, 6416, 6392, 6368, 6348, 6328, 6304, 6280, 6256, 6232, 6212, 6192, 6168, 6144, 6120, + 6096, 6076, 6056, 6036, 6016, 5992, 5968, 5948, 5928, 5908, 5888, 5864, 5840, 5820, 5800, 5780, + 5760, 5740, 5720, 5696, 5672, 5652, 5632, 5612, 5592, 5572, 5552, 5532, 5512, 5492, 5472, 5448, + 5424, 5412, 5400, 5380, 5360, 5340, 5320, 5300, 5280, 5260, 5240, 5224, 5208, 5188, 5168, 5144, + 5120, 5104, 5088, 5072, 5056, 5040, 5024, 5004, 4984, 4968, 4952, 4932, 4912, 4896, 4880, 4856, + 4832, 4820, 4808, 4792, 4776, 4756, 4736, 4720, 4704, 4688, 4672, 4656, 4640, 4620, 4600, 4580, + 4560, 4548, 4536, 4520, 4504, 4488, 4472, 4456, 4440, 4424, 4408, 4392, 4376, 4360, 4344, 4324, + 4304, 4292, 4280, 4268, 4256, 4240, 4224, 4208, 4192, 4176, 4160, 4144, 4128, 4116, 4104, 4084, + 4064, 4052, 4040, 4028, 4016, 4000, 3984, 3968, 3952, 3940, 3928, 3912, 3896, 3884, 3872, 3856, + 3840, 3828, 3816, 3804, 3792, 3776, 3760, 3748, 3736, 3720, 3704, 3692, 3680, 3668, 3656, 3642, + 3628, 3614, 3600, 3588, 3576, 3562, 3548, 3536, 3524, 3512, 3500, 3486, 3472, 3460, 3448, 3436, + 3424, 3412, 3400, 3388, 3376, 3364, 3352, 3340, 3328, 3316, 3304, 3292, 3280, 3268, 3256, 3244, + 3232, 3220, 3208, 3196, 3184, 3174, 3164, 3152, 3140, 3128, 3116, 3106, 3096, 3084, 3072, 3060, + 3048, 3038, 3028, 3018, 3008, 2996, 2984, 2974, 2964, 2954, 2944, 2932, 2920, 2910, 2900, 2890, + 2880, 2870, 2860, 2848, 2836, 2826, 2816, 2806, 2796, 2786, 2776, 2766, 2756, 2746, 2736, 2724, + 2712, 2706, 2700, 2690, 2680, 2670, 2660, 2650, 2640, 2630, 2620, 2612, 2604, 2594, 2584, 2572, + 2560, 2552, 2544, 2536, 2528, 2520, 2512, 2502, 2492, 2484, 2476, 2466, 2456, 2448, 2440, 2428, + 2416, 2410, 2404, 2396, 2388, 2378, 2368, 2360, 2352, 2344, 2336, 2328, 2320, 2310, 2300, 2290, + 2280, 2274, 2268, 2260, 2252, 2244, 2236, 2228, 2220, 2212, 2204, 2196, 2188, 2180, 2172, 2162, + 2152, 2146, 2140, 2134, 2128, 2120, 2112, 2104, 2096, 2088, 2080, 2072, 2064, 2058, 2052, 2042, + 2032, 2026, 2020, 2014, 2008, 2000, 1992, 1984, 1976, 1970, 1964, 1956, 1948, 1942, 1936, 1928, + 1920, 1914, 1908, 1902, 1896, 1888, 1880, 1874, 1868, 1860, 1852, 1846, 1840, 1834, 1828, 1821, + 1814, 1807, 1800, 1794, 1788, 1781, 1774, 1768, 1762, 1756, 1750, 1743, 1736, 1730, 1724, 1718, + 1712, 1706, 1700, 1694, 1688, 1682, 1676, 1670, 1664, 1658, 1652, 1646, 1640, 1634, 1628, 1622, + 1616, 1610, 1604, 1598, 1592, 1587, 1582, 1576, 1570, 1564, 1558, 1553, 1548, 1542, 1536, 1530, + 1524, 1519, 1514, 1509, 1504, 1498, 1492, 1487, 1482, 1477, 1472, 1466, 1460, 1455, 1450, 1445, + 1440, 1435, 1430, 1424, 1418, 1413, 1408, 1403, 1398, 1393, 1388, 1383, 1378, 1373, 1368, 1362, + 1356, 1353, 1350, 1345, 1340, 1335, 1330, 1325, 1320, 1315, 1310, 1306, 1302, 1297, 1292, 1286, + 1280, 1276, 1272, 1268, 1264, 1260, 1256, 1251, 1246, 1242, 1238, 1233, 1228, 1224, 1220, 1214, + 1208, 1205, 1202, 1198, 1194, 1189, 1184, 1180, 1176, 1172, 1168, 1164, 1160, 1155, 1150, 1145, + 1140, 1137, 1134, 1130, 1126, 1122, 1118, 1114, 1110, 1106, 1102, 1098, 1094, 1090, 1086, 1081, + 1076, 1073, 1070, 1067, 1064, 1060, 1056, 1052, 1048, 1044, 1040, 1036, 1032, 1029, 1026, 1021, + 1016, 1013, 1010, 1007, 1004, 1000, 996, 992, 988, 985, 982, 978, 974, 971, 968, 964, + 960, 957, 954, 951, 948, 944, 940, 937, 934, 930, 926, 923, 920, 917, 914, 910, + 907, 903, 900, 897, 894, 890, 887, 884, 881, 878, 875, 871, 868, 865, 862, 859, + 856, 853, 850, 847, 844, 841, 838, 835, 832, 829, 826, 823, 820, 817, 814, 811, + 808, 805, 802, 799, 796, 793, 791, 788, 785, 782, 779, 776, 774, 771, 768, 765, + 762, 759, 757, 754, 752, 749, 746, 743, 741, 738, 736, 733, 730, 727, 725, 722, + 720, 717, 715, 712, 709, 706, 704, 701, 699, 696, 694, 691, 689, 686, 684, 681, + 678, 676, 675, 672, 670, 667, 665, 662, 660, 657, 655, 653, 651, 648, 646, 643, + 640, 638, 636, 634, 632, 630, 628, 625, 623, 621, 619, 616, 614, 612, 610, 607, + 604, 602, 601, 599, 597, 594, 592, 590, 588, 586, 584, 582, 580, 577, 575, 572, + 570, 568, 567, 565, 563, 561, 559, 557, 555, 553, 551, 549, 547, 545, 543, 540, + 538, 536, 535, 533, 532, 530, 528, 526, 524, 522, 520, 518, 516, 514, 513, 510, + 508, 506, 505, 503, 502, 500, 498, 496, 494, 492, 491, 489, 487, 485, 484, 482, + 480, 478, 477, 475, 474, 472, 470, 468, 467, 465, 463, 461, 460, 458, 457, 455, + 453, 451, 450, 448, 447, 445, 443, 441, 440, 438, 437, 435, 434, 432, 431, 429, + 428, 426, 425, 423, 422, 420, 419, 417, 416, 414, 413, 411, 410, 408, 407, 405, + 404, 402, 401, 399, 398, 396, 395, 393, 392, 390, 389, 388, 387, 385, 384, 382, + 381, 379, 378, 377, 376, 374, 373, 371, 370, 369, 368, 366, 365, 363, 362, 361, + 360, 358, 357, 355, 354, 353, 352, 350, 349, 348, 347, 345, 344, 343, 342, 340, + 339, 338, 337, 336, 335, 333, 332, 331, 330, 328, 327, 326, 325, 324, 323, 321, + 320, 319, 318, 317, 316, 315, 314, 312, 311, 310, 309, 308, 307, 306, 305, 303, + 302, 301, 300, 299, 298, 297, 296, 295, 294, 293, 292, 291, 290, 288, 287, 286, + 285, 284, 283, 282, 281, 280, 279, 278, 277, 276, 275, 274, 273, 272, 271, 270, + 269, 268, 267, 266, 266, 265, 264, 263, 262, 261, 260, 259, 258, 257, 256, 255, + 254, 253, 252, 251, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 242, 241, + 240, 239, 238, 237, 237, 236, 235, 234, 233, 232, 231, 230, 230, 229, 228, 227, + 227, 226, 225, 224, 223, 222, 222, 221, 220, 219, 219, 218, 217, 216, 215, 214, + 214, 213, 212, 211, 211, 210, 209, 208, 208, 207, 206, 205, 205, 204, 203, 202, + 202, 201, 200, 199, 199, 198, 198, 197, 196, 195, 195, 194, 193, 192, 192, 191, + 190, 189, 189, 188, 188, 187, 186, 185, 185, 184, 184, 183, 182, 181, 181, 180, + 180, 179, 179, 178, 177, 176, 176, 175, 175, 174, 173, 172, 172, 171, 171, 170, + 169, 169, 169, 168, 167, 166, 166, 165, 165, 164, 164, 163, 163, 162, 161, 160, + 160, 159, 159, 158, 158, 157, 157, 156, 156, 155, 155, 154, 153, 152, 152, 151, + 151, 150, 150, 149, 149, 148, 148, 147, 147, 146, 146, 145, 145, 144, 144, 143, + 142, 142, 142, 141, 141, 140, 140, 139, 139, 138, 138, 137, 137, 136, 136, 135, + 134, 134, 134, 133, 133, 132, 132, 131, 131, 130, 130, 129, 129, 128, 128, 127, + 127, 126, 126, 125, 125, 124, 124, 123, 123, 123, 123, 122, 122, 121, 121, 120, + 120, 119, 119, 118, 118, 117, 117, 117, 117, 116, 116, 115, 115, 114, 114, 113, + 113, 112, 112, 112, 112, 111, 111, 110, 110, 109, 109, 108, 108, 108, 108, 107, + 107, 106, 106, 105, 105, 105, 105, 104, 104, 103, 103, 102, 102, 102, 102, 101, + 101, 100, 100, 99, 99, 99, 99, 98, 98, 97, 97, 97, 97, 96, 96, 95, + 95, 95, 95, 94, 94, 93, 93, 93, 93, 92, 92, 91, 91, 91, 91, 90, + 90, 89, 89, 89, 89, 88, 88, 87, 87, 87, 87, 86, 86, 85, 85, 85, + 85, 84, 84, 84, 84, 83, 83, 82, 82, 82, 82, 81, 81, 81, 81, 80, + 80, 79, 79, 79, 79, 78, 78, 78, 78, 77, 77, 77, 77, 76, 76, 75, + 75, 75, 75, 75, 75, 74, 74, 73, 73, 73, 73, 72, 72, 72, 72, 71, + 71, 71, 71, 70, 70, 70, 70, 69, 69, 69, 69, 68, 68, 68, 68, 67, + 67, 67, 67, 66, 66, 66, 66, 65, 65, 65, 65, 64, 64, 64, 64, 63, + 63, 63, 63, 63, 63, 62, 62, 62, 62, 61, 61, 61, 61, 60, 60, 60, + 60, 60, 60, 59, 59, 59, 59, 58, 58, 58, 58, 57, 57, 57, 57, 57, + 57, 56, 56, 56, 56, 55, 55, 55, 55, 55, 55, 54, 54, 54, 54, 53, + 53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51, 50, + 50, 50, 50, 50, 50, 49, 49, 49, 49, 49, 49, 48, 48, 48, 48, 48, + 48, 47, 47, 47, 47, 47, 47, 46, 46, 46, 46, 46, 46, 45, 45, 45, + 45, 45, 45, 44, 44, 44, 44, 44, 44, 43, 43, 43, 43, 43, 43, 42, + 42, 42, 42, 42, 42, 42, 42, 41, 41, 41, 41, 41, 41, 40, 40, 40, + 40, 40, 40, 39, 39, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38, 38, + 38, 38, 38, 37, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 36, + 36, 35, 35, 35, 35, 35, 35, 35, 35, 34, 34, 34, 34, 34, 34, 34, + 34, 33, 33, 33, 33, 33, 33, 33, 33, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 22, + 16, 8, 0, 16, 32, 24, 16, 8, 0, 16, 32, 24, 16, 8, 0, 0 + // the last 17 values are off (but identical to FT2) because of a bug in how FT2 calculates this table +}; + +const uint32_t logTab[768] = // bit-exact to FT2 table +{ + 16777216, 16792365, 16807527, 16822704, 16837894, 16853097, 16868315, 16883546, + 16898791, 16914049, 16929322, 16944608, 16959908, 16975222, 16990549, 17005891, + 17021246, 17036615, 17051999, 17067396, 17082806, 17098231, 17113670, 17129123, + 17144589, 17160070, 17175564, 17191073, 17206595, 17222132, 17237683, 17253247, + 17268826, 17284419, 17300026, 17315646, 17331282, 17346931, 17362594, 17378271, + 17393963, 17409669, 17425389, 17441123, 17456871, 17472634, 17488410, 17504202, + 17520007, 17535826, 17551660, 17567508, 17583371, 17599248, 17615139, 17631044, + 17646964, 17662898, 17678847, 17694810, 17710787, 17726779, 17742785, 17758806, + 17774841, 17790891, 17806955, 17823034, 17839127, 17855235, 17871357, 17887494, + 17903645, 17919811, 17935992, 17952187, 17968397, 17984621, 18000860, 18017114, + 18033382, 18049665, 18065963, 18082276, 18098603, 18114945, 18131302, 18147673, + 18164060, 18180461, 18196877, 18213307, 18229753, 18246213, 18262689, 18279179, + 18295684, 18312204, 18328739, 18345288, 18361853, 18378433, 18395028, 18411637, + 18428262, 18444902, 18461556, 18478226, 18494911, 18511611, 18528325, 18545056, + 18561801, 18578561, 18595336, 18612127, 18628932, 18645753, 18662589, 18679441, + 18696307, 18713189, 18730086, 18746998, 18763925, 18780868, 18797826, 18814800, + 18831788, 18848792, 18865812, 18882846, 18899897, 18916962, 18934043, 18951139, + 18968251, 18985378, 19002521, 19019679, 19036853, 19054042, 19071247, 19088467, + 19105703, 19122954, 19140221, 19157504, 19174802, 19192116, 19209445, 19226790, + 19244151, 19261527, 19278919, 19296327, 19313750, 19331190, 19348645, 19366115, + 19383602, 19401104, 19418622, 19436156, 19453706, 19471271, 19488853, 19506450, + 19524063, 19541692, 19559337, 19576998, 19594675, 19612368, 19630077, 19647802, + 19665543, 19683300, 19701072, 19718861, 19736666, 19754488, 19772325, 19790178, + 19808047, 19825933, 19843835, 19861752, 19879686, 19897637, 19915603, 19933586, + 19951585, 19969600, 19987631, 20005679, 20023743, 20041823, 20059920, 20078033, + 20096162, 20114308, 20132470, 20150648, 20168843, 20187054, 20205282, 20223526, + 20241787, 20260064, 20278358, 20296668, 20314995, 20333338, 20351698, 20370074, + 20388467, 20406877, 20425303, 20443746, 20462206, 20480682, 20499175, 20517684, + 20536211, 20554754, 20573313, 20591890, 20610483, 20629093, 20647720, 20666364, + 20685025, 20703702, 20722396, 20741107, 20759835, 20778580, 20797342, 20816121, + 20834917, 20853729, 20872559, 20891406, 20910270, 20929150, 20948048, 20966963, + 20985895, 21004844, 21023810, 21042794, 21061794, 21080812, 21099846, 21118898, + 21137968, 21157054, 21176158, 21195278, 21214417, 21233572, 21252745, 21271935, + 21291142, 21310367, 21329609, 21348868, 21368145, 21387439, 21406751, 21426080, + 21445426, 21464790, 21484172, 21503571, 21522987, 21542421, 21561873, 21581342, + 21600829, 21620333, 21639855, 21659395, 21678952, 21698527, 21718119, 21737729, + 21757357, 21777003, 21796666, 21816348, 21836046, 21855763, 21875498, 21895250, + 21915020, 21934808, 21954614, 21974438, 21994279, 22014139, 22034016, 22053912, + 22073825, 22093757, 22113706, 22133674, 22153659, 22173663, 22193684, 22213724, + 22233781, 22253857, 22273951, 22294063, 22314194, 22334342, 22354509, 22374693, + 22394897, 22415118, 22435357, 22455615, 22475891, 22496186, 22516499, 22536830, + 22557179, 22577547, 22597933, 22618338, 22638761, 22659202, 22679662, 22700141, + 22720638, 22741153, 22761687, 22782240, 22802811, 22823400, 22844009, 22864635, + 22885281, 22905945, 22926628, 22947329, 22968049, 22988788, 23009546, 23030322, + 23051117, 23071931, 23092764, 23113615, 23134485, 23155374, 23176282, 23197209, + 23218155, 23239120, 23260103, 23281106, 23302127, 23323168, 23344227, 23365306, + 23386403, 23407520, 23428656, 23449810, 23470984, 23492177, 23513389, 23534620, + 23555871, 23577140, 23598429, 23619737, 23641065, 23662411, 23683777, 23705162, + 23726566, 23747990, 23769433, 23790896, 23812377, 23833879, 23855399, 23876939, + 23898499, 23920078, 23941676, 23963294, 23984932, 24006589, 24028265, 24049962, + 24071677, 24093413, 24115168, 24136942, 24158736, 24180550, 24202384, 24224237, + 24246111, 24268003, 24289916, 24311848, 24333801, 24355773, 24377765, 24399776, + 24421808, 24443859, 24465931, 24488022, 24510133, 24532265, 24554416, 24576587, + 24598778, 24620990, 24643221, 24665472, 24687744, 24710036, 24732347, 24754679, + 24777031, 24799403, 24821796, 24844209, 24866641, 24889095, 24911568, 24934062, + 24956576, 24979110, 25001665, 25024240, 25046835, 25069451, 25092088, 25114744, + 25137421, 25160119, 25182837, 25205576, 25228335, 25251115, 25273915, 25296736, + 25319578, 25342440, 25365322, 25388226, 25411150, 25434095, 25457060, 25480047, + 25503054, 25526081, 25549130, 25572199, 25595290, 25618401, 25641533, 25664686, + 25687859, 25711054, 25734270, 25757506, 25780764, 25804042, 25827342, 25850662, + 25874004, 25897367, 25920751, 25944156, 25967582, 25991029, 26014497, 26037987, + 26061498, 26085030, 26108583, 26132158, 26155754, 26179371, 26203009, 26226669, + 26250350, 26274053, 26297777, 26321522, 26345289, 26369077, 26392887, 26416718, + 26440571, 26464445, 26488341, 26512259, 26536198, 26560158, 26584141, 26608145, + 26632170, 26656218, 26680287, 26704377, 26728490, 26752624, 26776780, 26800958, + 26825158, 26849380, 26873623, 26897888, 26922176, 26946485, 26970816, 26995169, + 27019544, 27043941, 27068360, 27092802, 27117265, 27141750, 27166258, 27190787, + 27215339, 27239913, 27264509, 27289127, 27313768, 27338430, 27363116, 27387823, + 27412552, 27437304, 27462079, 27486875, 27511695, 27536536, 27561400, 27586286, + 27611195, 27636126, 27661080, 27686057, 27711056, 27736077, 27761121, 27786188, + 27811277, 27836389, 27861524, 27886681, 27911861, 27937064, 27962290, 27987538, + 28012809, 28038103, 28063420, 28088760, 28114122, 28139508, 28164916, 28190347, + 28215802, 28241279, 28266779, 28292302, 28317849, 28343418, 28369011, 28394626, + 28420265, 28445927, 28471612, 28497320, 28523052, 28548806, 28574584, 28600385, + 28626210, 28652058, 28677929, 28703823, 28729741, 28755683, 28781647, 28807636, + 28833647, 28859682, 28885741, 28911823, 28937929, 28964058, 28990211, 29016388, + 29042588, 29068811, 29095059, 29121330, 29147625, 29173944, 29200286, 29226652, + 29253042, 29279456, 29305894, 29332355, 29358841, 29385350, 29411883, 29438441, + 29465022, 29491627, 29518256, 29544910, 29571587, 29598288, 29625014, 29651764, + 29678538, 29705336, 29732158, 29759004, 29785875, 29812770, 29839689, 29866633, + 29893600, 29920593, 29947609, 29974650, 30001716, 30028805, 30055920, 30083059, + 30110222, 30137410, 30164622, 30191859, 30219120, 30246407, 30273717, 30301053, + 30328413, 30355798, 30383207, 30410642, 30438101, 30465584, 30493093, 30520627, + 30548185, 30575768, 30603377, 30631010, 30658668, 30686351, 30714059, 30741792, + 30769550, 30797333, 30825141, 30852975, 30880833, 30908717, 30936625, 30964559, + 30992519, 31020503, 31048513, 31076548, 31104608, 31132694, 31160805, 31188941, + 31217103, 31245290, 31273503, 31301741, 31330005, 31358294, 31386609, 31414949, + 31443315, 31471707, 31500124, 31528567, 31557035, 31585529, 31614049, 31642595, + 31671166, 31699764, 31728387, 31757036, 31785710, 31814411, 31843138, 31871890, + 31900669, 31929473, 31958304, 31987160, 32016043, 32044951, 32073886, 32102847, + 32131834, 32160847, 32189887, 32218952, 32248044, 32277162, 32306307, 32335478, + 32364675, 32393898, 32423148, 32452424, 32481727, 32511056, 32540412, 32569794, + 32599202, 32628638, 32658099, 32687588, 32717103, 32746645, 32776213, 32805808, + 32835430, 32865078, 32894754, 32924456, 32954184, 32983940, 33013723, 33043532, + 33073369, 33103232, 33133122, 33163040, 33192984, 33222955, 33252954, 33282979, + 33313032, 33343112, 33373219, 33403353, 33433514, 33463703, 33493919, 33524162 +}; + +/* ----------------------------------------------------------------------- */ +/* AUDIO MIXER TABLES */ +/* ----------------------------------------------------------------------- */ + +const uint32_t panningTab[257] = // bit-exact to FT2 table +{ + 0, 4096, 5793, 7094, 8192, 9159,10033,10837,11585,12288,12953,13585,14189,14768,15326,15864, + 16384,16888,17378,17854,18318,18770,19212,19644,20066,20480,20886,21283,21674,22058,22435,22806, + 23170,23530,23884,24232,24576,24915,25249,25580,25905,26227,26545,26859,27170,27477,27780,28081, + 28378,28672,28963,29251,29537,29819,30099,30377,30652,30924,31194,31462,31727,31991,32252,32511, + 32768,33023,33276,33527,33776,34024,34270,34514,34756,34996,35235,35472,35708,35942,36175,36406, + 36636,36864,37091,37316,37540,37763,37985,38205,38424,38642,38858,39073,39287,39500,39712,39923, + 40132,40341,40548,40755,40960,41164,41368,41570,41771,41972,42171,42369,42567,42763,42959,43154, + 43348,43541,43733,43925,44115,44305,44494,44682,44869,45056,45242,45427,45611,45795,45977,46160, + 46341,46522,46702,46881,47059,47237,47415,47591,47767,47942,48117,48291,48465,48637,48809,48981, + 49152,49322,49492,49661,49830,49998,50166,50332,50499,50665,50830,50995,51159,51323,51486,51649, + 51811,51972,52134,52294,52454,52614,52773,52932,53090,53248,53405,53562,53719,53874,54030,54185, + 54340,54494,54647,54801,54954,55106,55258,55410,55561,55712,55862,56012,56162,56311,56459,56608, + 56756,56903,57051,57198,57344,57490,57636,57781,57926,58071,58215,58359,58503,58646,58789,58931, + 59073,59215,59357,59498,59639,59779,59919,60059,60199,60338,60477,60615,60753,60891,61029,61166, + 61303,61440,61576,61712,61848,61984,62119,62254,62388,62523,62657,62790,62924,63057,63190,63323, + 63455,63587,63719,63850,63982,64113,64243,64374,64504,64634,64763,64893,65022,65151,65279,65408, + 65536 +}; + +/* 8bitbubsy: This table was taken from Tables.cpp (the OpenMPT project) +** +** Comment from Tables.cpp: +** "Reversed sinc coefficients for 4x256 taps polyphase FIR resampling filter (SchismTracker's lutgen.c +** should generate a very similar table, but it's more precise)" +*/ +const int16_t fastSincTable[256 * 4] = +{ // Cubic Spline + 0, 16384, 0, 0, -31, 16383, 32, 0, -63, 16381, 65, 0, -93, 16378, 100, -1, + -124, 16374, 135, -1, -153, 16368, 172, -3, -183, 16361, 209, -4, -211, 16353, 247, -5, + -240, 16344, 287, -7, -268, 16334, 327, -9, -295, 16322, 368, -12, -322, 16310, 410, -14, + -348, 16296, 453, -17, -374, 16281, 497, -20, -400, 16265, 541, -23, -425, 16248, 587, -26, + -450, 16230, 634, -30, -474, 16210, 681, -33, -497, 16190, 729, -37, -521, 16168, 778, -41, + -543, 16145, 828, -46, -566, 16121, 878, -50, -588, 16097, 930, -55, -609, 16071, 982, -60, + -630, 16044, 1035, -65, -651, 16016, 1089, -70, -671, 15987, 1144, -75, -691, 15957, 1199, -81, + -710, 15926, 1255, -87, -729, 15894, 1312, -93, -748, 15861, 1370, -99, -766, 15827, 1428, -105, + -784, 15792, 1488, -112, -801, 15756, 1547, -118, -818, 15719, 1608, -125, -834, 15681, 1669, -132, + -850, 15642, 1731, -139, -866, 15602, 1794, -146, -881, 15561, 1857, -153, -896, 15520, 1921, -161, + -911, 15477, 1986, -168, -925, 15434, 2051, -176, -939, 15390, 2117, -184, -952, 15344, 2184, -192, + -965, 15298, 2251, -200, -978, 15251, 2319, -208, -990, 15204, 2387, -216, -1002, 15155, 2456, -225, + -1014, 15106, 2526, -234, -1025, 15055, 2596, -242, -1036, 15004, 2666, -251, -1046, 14952, 2738, -260, + -1056, 14899, 2810, -269, -1066, 14846, 2882, -278, -1075, 14792, 2955, -287, -1084, 14737, 3028, -296, + -1093, 14681, 3102, -306, -1102, 14624, 3177, -315, -1110, 14567, 3252, -325, -1118, 14509, 3327, -334, + -1125, 14450, 3403, -344, -1132, 14390, 3480, -354, -1139, 14330, 3556, -364, -1145, 14269, 3634, -374, + -1152, 14208, 3712, -384, -1157, 14145, 3790, -394, -1163, 14082, 3868, -404, -1168, 14018, 3947, -414, + -1173, 13954, 4027, -424, -1178, 13889, 4107, -434, -1182, 13823, 4187, -445, -1186, 13757, 4268, -455, + -1190, 13690, 4349, -465, -1193, 13623, 4430, -476, -1196, 13555, 4512, -486, -1199, 13486, 4594, -497, + -1202, 13417, 4676, -507, -1204, 13347, 4759, -518, -1206, 13276, 4842, -528, -1208, 13205, 4926, -539, + -1210, 13134, 5010, -550, -1211, 13061, 5094, -560, -1212, 12989, 5178, -571, -1212, 12915, 5262, -581, + -1213, 12842, 5347, -592, -1213, 12767, 5432, -603, -1213, 12693, 5518, -613, -1213, 12617, 5603, -624, + -1212, 12542, 5689, -635, -1211, 12466, 5775, -645, -1210, 12389, 5862, -656, -1209, 12312, 5948, -667, + -1208, 12234, 6035, -677, -1206, 12156, 6122, -688, -1204, 12078, 6209, -698, -1202, 11999, 6296, -709, + -1200, 11920, 6384, -720, -1197, 11840, 6471, -730, -1194, 11760, 6559, -740, -1191, 11679, 6647, -751, + -1188, 11598, 6735, -761, -1184, 11517, 6823, -772, -1181, 11436, 6911, -782, -1177, 11354, 6999, -792, + -1173, 11271, 7088, -802, -1168, 11189, 7176, -812, -1164, 11106, 7265, -822, -1159, 11022, 7354, -832, + -1155, 10939, 7442, -842, -1150, 10855, 7531, -852, -1144, 10771, 7620, -862, -1139, 10686, 7709, -872, + -1134, 10602, 7798, -882, -1128, 10516, 7886, -891, -1122, 10431, 7975, -901, -1116, 10346, 8064, -910, + -1110, 10260, 8153, -919, -1103, 10174, 8242, -929, -1097, 10088, 8331, -938, -1090, 10001, 8420, -947, + -1083, 9915, 8508, -956, -1076, 9828, 8597, -965, -1069, 9741, 8686, -973, -1062, 9654, 8774, -982, + -1054, 9566, 8863, -991, -1047, 9479, 8951, -999, -1039, 9391, 9039, -1007, -1031, 9303, 9127, -1015, + -1024, 9216, 9216, -1024, -1015, 9127, 9303, -1031, -1007, 9039, 9391, -1039, -999, 8951, 9479, -1047, + -991, 8863, 9566, -1054, -982, 8774, 9654, -1062, -973, 8686, 9741, -1069, -965, 8597, 9828, -1076, + -956, 8508, 9915, -1083, -947, 8420, 10001, -1090, -938, 8331, 10088, -1097, -929, 8242, 10174, -1103, + -919, 8153, 10260, -1110, -910, 8064, 10346, -1116, -901, 7975, 10431, -1122, -891, 7886, 10516, -1128, + -882, 7798, 10602, -1134, -872, 7709, 10686, -1139, -862, 7620, 10771, -1144, -852, 7531, 10855, -1150, + -842, 7442, 10939, -1155, -832, 7354, 11022, -1159, -822, 7265, 11106, -1164, -812, 7176, 11189, -1168, + -802, 7088, 11271, -1173, -792, 6999, 11354, -1177, -782, 6911, 11436, -1181, -772, 6823, 11517, -1184, + -761, 6735, 11598, -1188, -751, 6647, 11679, -1191, -740, 6559, 11760, -1194, -730, 6471, 11840, -1197, + -720, 6384, 11920, -1200, -709, 6296, 11999, -1202, -698, 6209, 12078, -1204, -688, 6122, 12156, -1206, + -677, 6035, 12234, -1208, -667, 5948, 12312, -1209, -656, 5862, 12389, -1210, -645, 5775, 12466, -1211, + -635, 5689, 12542, -1212, -624, 5603, 12617, -1213, -613, 5518, 12693, -1213, -603, 5432, 12767, -1213, + -592, 5347, 12842, -1213, -581, 5262, 12915, -1212, -571, 5178, 12989, -1212, -560, 5094, 13061, -1211, + -550, 5010, 13134, -1210, -539, 4926, 13205, -1208, -528, 4842, 13276, -1206, -518, 4759, 13347, -1204, + -507, 4676, 13417, -1202, -497, 4594, 13486, -1199, -486, 4512, 13555, -1196, -476, 4430, 13623, -1193, + -465, 4349, 13690, -1190, -455, 4268, 13757, -1186, -445, 4187, 13823, -1182, -434, 4107, 13889, -1178, + -424, 4027, 13954, -1173, -414, 3947, 14018, -1168, -404, 3868, 14082, -1163, -394, 3790, 14145, -1157, + -384, 3712, 14208, -1152, -374, 3634, 14269, -1145, -364, 3556, 14330, -1139, -354, 3480, 14390, -1132, + -344, 3403, 14450, -1125, -334, 3327, 14509, -1118, -325, 3252, 14567, -1110, -315, 3177, 14624, -1102, + -306, 3102, 14681, -1093, -296, 3028, 14737, -1084, -287, 2955, 14792, -1075, -278, 2882, 14846, -1066, + -269, 2810, 14899, -1056, -260, 2738, 14952, -1046, -251, 2666, 15004, -1036, -242, 2596, 15055, -1025, + -234, 2526, 15106, -1014, -225, 2456, 15155, -1002, -216, 2387, 15204, -990, -208, 2319, 15251, -978, + -200, 2251, 15298, -965, -192, 2184, 15344, -952, -184, 2117, 15390, -939, -176, 2051, 15434, -925, + -168, 1986, 15477, -911, -161, 1921, 15520, -896, -153, 1857, 15561, -881, -146, 1794, 15602, -866, + -139, 1731, 15642, -850, -132, 1669, 15681, -834, -125, 1608, 15719, -818, -118, 1547, 15756, -801, + -112, 1488, 15792, -784, -105, 1428, 15827, -766, -99, 1370, 15861, -748, -93, 1312, 15894, -729, + -87, 1255, 15926, -710, -81, 1199, 15957, -691, -75, 1144, 15987, -671, -70, 1089, 16016, -651, + -65, 1035, 16044, -630, -60, 982, 16071, -609, -55, 930, 16097, -588, -50, 878, 16121, -566, + -46, 828, 16145, -543, -41, 778, 16168, -521, -37, 729, 16190, -497, -33, 681, 16210, -474, + -30, 634, 16230, -450, -26, 587, 16248, -425, -23, 541, 16265, -400, -20, 497, 16281, -374, + -17, 453, 16296, -348, -14, 410, 16310, -322, -12, 368, 16322, -295, -9, 327, 16334, -268, + -7, 287, 16344, -240, -5, 247, 16353, -211, -4, 209, 16361, -183, -3, 172, 16368, -153, + -1, 135, 16374, -124, -1, 100, 16378, -93, 0, 65, 16381, -63, 0, 32, 16383, -31 +}; + +/* ----------------------------------------------------------------------- */ +/* GUI TABLES */ +/* ----------------------------------------------------------------------- */ + +pal16 palTable[12][16] = // FT2 palettes (18-bit VGA RGB, 16 color palette) +{ + { + {0, 0, 0},{30, 38, 63},{0, 0, 17},{63, 63, 63}, + {27, 36, 40},{63, 63, 63},{40, 40, 40},{0, 0, 0}, + {10, 13, 14},{49, 63, 63},{15, 15, 15},{63, 63, 63}, + {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} + }, + { + {0, 0, 0},{21, 40, 63},{0, 0, 17},{63, 63, 63}, + {6, 39, 35},{63, 63, 63},{40, 40, 40},{0, 0, 0}, + {2, 14, 13},{11, 63, 63},{16, 16, 16},{63, 63, 63}, + {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} + }, + { + {0, 0, 0},{39, 52, 63},{8, 8, 13},{57, 57, 63}, + {10, 21, 33},{63, 63, 63},{37, 37, 45},{0, 0, 0}, + {4, 8, 13},{18, 37, 58},{13, 13, 16},{63, 63, 63}, + {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} + }, + { + {0, 0, 0},{47, 47, 47},{9, 9, 9},{63, 63, 63}, + {37, 29, 7},{63, 63, 63},{40, 40, 40},{0, 0, 0}, + {11, 9, 2},{63, 58, 14},{15, 15, 15},{63, 63, 63}, + {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} + }, + { + {0, 0, 0},{46, 45, 46},{13, 9, 9},{63, 63, 63}, + {22, 19, 22},{63, 63, 63},{36, 32, 34},{0, 0, 0}, + {8, 7, 8},{39, 34, 39},{13, 12, 12},{63, 58, 62}, + {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} + }, + { + {0, 0, 0},{19, 49, 54},{0, 11, 7},{52, 63, 61}, + {9, 31, 21},{63, 63, 63},{40, 40, 40},{0, 0, 0}, + {4, 13, 9},{15, 50, 34},{15, 15, 15},{63, 63, 63}, + {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} + }, + { + {0, 0, 0},{27, 37, 53},{0, 0, 20},{63, 63, 63}, + {7, 12, 21},{63, 63, 63},{38, 39, 39},{0, 0, 0}, + {2, 4, 7},{14, 23, 41},{13, 13, 13},{63, 63, 63}, + {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} + }, + { + {0, 0, 0},{63, 54, 62},{18, 3, 3},{63, 63, 63}, + {36, 19, 25},{63, 63, 63},{40, 40, 40},{0, 0, 0}, + {11, 6, 8},{63, 38, 50},{15, 15, 15},{63, 63, 63}, + {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} + }, + { + {0, 0, 0},{63, 0, 63},{0, 21, 0},{63, 44, 0}, + {0, 63, 0},{63, 63, 63},{63, 0, 0},{0, 0, 0}, + {0, 28, 0},{0, 63, 0},{23, 0, 0},{63, 0, 0}, + {0, 63, 63},{0, 63, 63},{0, 63, 63},{0, 63, 63} + }, + { + {0, 0, 0},{50, 46, 63},{15, 0, 16},{59, 58, 63}, + {34, 21, 41},{63, 63, 63},{40, 40, 40},{0, 0, 0}, + {13, 8, 15},{61, 37, 63},{15, 15, 15},{63, 63, 63}, + {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} + }, + { + {0, 0, 0},{63, 63, 32},{10, 10, 10},{63, 63, 63}, + {18, 29, 32},{63, 63, 63},{39, 39, 39},{0, 0, 0}, + {6, 10, 11},{34, 54, 60},{15, 15, 15},{63, 63, 63}, + {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} + }, + { + {0, 0, 0},{36, 47, 63},{9, 9, 16},{63, 63, 63}, + {19, 24, 38},{63, 63, 63},{39, 39, 39},{0, 0, 0}, + {8, 10, 15},{32, 41, 63},{15, 15, 15},{63, 63, 63}, + {63, 63, 63},{63, 63, 63},{63, 63, 63},{63, 63, 63} + } +}; + +const uint16_t chanWidths[6] = { 141, 141, 93, 69, 45, 45 }; + +const pattCoordsMouse_t pattCoordMouseTable[2][2][2] = +{ + /* + uint16_t upperRowsY, midRowY, lowerRowsY; + uint16_t numUpperRows; + */ + + // no pattern stretch + { + // no pattern channel scroll + { + { 177, 281, 293, 13 }, // normal pattern editor + { 57, 217, 229, 20 }, // extended pattern editor + }, + + // pattern channel scroll + { + { 177, 274, 286, 12 }, // normal pattern editor + { 57, 210, 222, 19 }, // extended pattern editor + } + }, + + // pattern stretch + { + // no pattern channel scroll + { + { 176, 275, 286, 9 }, // normal pattern editor + { 56, 221, 232, 15 }, // extended pattern editor + }, + + // pattern channel scroll + { + { 175, 274, 284, 9 }, // normal pattern editor + { 55, 209, 219, 14 }, // extended pattern editor + }, + } +}; + +const uint8_t noteTab1[96] = +{ + 0,1,2,3,4,5,6,7,8,9,10,11, + 0,1,2,3,4,5,6,7,8,9,10,11, + 0,1,2,3,4,5,6,7,8,9,10,11, + 0,1,2,3,4,5,6,7,8,9,10,11, + 0,1,2,3,4,5,6,7,8,9,10,11, + 0,1,2,3,4,5,6,7,8,9,10,11, + 0,1,2,3,4,5,6,7,8,9,10,11, + 0,1,2,3,4,5,6,7,8,9,10,11 +}; + +const uint8_t noteTab2[96] = +{ + 0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1, + 2,2,2,2,2,2,2,2,2,2,2,2, + 3,3,3,3,3,3,3,3,3,3,3,3, + 4,4,4,4,4,4,4,4,4,4,4,4, + 5,5,5,5,5,5,5,5,5,5,5,5, + 6,6,6,6,6,6,6,6,6,6,6,6, + 7,7,7,7,7,7,7,7,7,7,7,7 +}; + +const uint8_t hex2Dec[256] = +{ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 96, 97, 98, 99,100,101,102,103,104,105, + 112,113,114,115,116,117,118,119,120,121, + 128,129,130,131,132,133,134,135,136,137, + 144,145,146,147,148,149,150,151,152,153, + + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 96, 97, 98, 99,100,101,102,103,104,105, + 112,113,114,115,116,117,118,119,120,121, + 128,129,130,131,132,133,134,135,136,137, + 144,145,146,147,148,149,150,151,152,153, + + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 16,17,18,19,20,21,22,23,24,25, + 32,33,34,35,36,37,38,39,40,41, + 48,49,50,51,52,53,54,55,56,57, + 64,65,66,67,68,69,70,71,72,73, + 80,81,82,83,84,85 +}; + +const pattCoord_t pattCoordTable[2][2][2] = +{ + // no pattern stretch + { + // no pattern channel scroll + { + { 176, 292, 177, 283, 293, 13, 13 }, // normal pattern editor + { 56, 228, 57, 219, 229, 20, 21 }, // extended pattern editor + }, + + // pattern channel scroll + { + { 176, 285, 177, 276, 286, 12, 12 }, // normal pattern editor + { 56, 221, 57, 212, 222, 19, 20 }, // extended pattern editor + } + }, + + // pattern stretch + { + // no pattern channel scroll + { + { 177, 286, 178, 277, 288, 9, 10 }, // normal pattern editor + { 56, 232, 58, 223, 234, 15, 15 }, // extended pattern editor + }, + + // pattern channel scroll + { + { 176, 285, 177, 276, 286, 9, 9 }, // normal pattern editor + { 56, 220, 57, 211, 221, 14, 15 }, // extended pattern editor + }, + } +}; + +const pattCoord2_t pattCoord2Table[2][2][2] = +{ + // no pattern stretch + { + // no pattern channel scroll + { + { 175, 291, 107, 107 }, // normal pattern editor + { 55, 227, 163, 171 }, // extended pattern editor + }, + + // pattern channel scroll + { + { 175, 284, 100, 100 }, // normal pattern editor + { 55, 220, 156, 164 }, // extended pattern editor + } + }, + + // pattern stretch + { + // no pattern channel scroll + { + { 175, 285, 101, 113 }, // normal pattern editor + { 55, 231, 167, 167 }, // extended pattern editor + }, + + // pattern channel scroll + { + { 175, 284, 100, 100 }, // normal pattern editor + { 55, 219, 155, 165 }, // extended pattern editor + }, + } +}; + +const markCoord_t markCoordTable[2][2][2] = +{ + // no pattern stretch + { + // no pattern channel scroll + { + { 177, 281, 293 }, // normal pattern editor + { 57, 217, 229 }, // extended pattern editor + }, + + // pattern channel scroll + { + { 177, 274, 286 }, // normal pattern editor + { 57, 210, 222 }, // extended pattern editor + } + }, + + // pattern stretch + { + // no pattern channel scroll + { + { 176, 275, 286 }, // normal pattern editor + { 56, 221, 232 }, // extended pattern editor + }, + + // pattern channel scroll + { + { 175, 274, 284 }, // normal pattern editor + { 55, 209, 219 }, // extended pattern editor + }, + } +}; + +const uint8_t pattCursorXTab[2 * 4 * 8] = +{ + // no volume column shown + 32, 88, 104, 0, 0, 120, 136, 152, // 4 columns visible + 32, 80, 88, 0, 0, 96, 104, 112, // 6 columns visible + 32, 56, 64, 0, 0, 72, 80, 88, // 8 columns visible + 32, 52, 56, 0, 0, 60, 64, 68, // 12 columns visible + + // volume column shown + 32, 96, 104, 120, 128, 144, 152, 160, // 4 columns visible + 32, 56, 64, 80, 88, 96, 104, 112, // 6 columns visible + 32, 60, 64, 72, 76, 84, 88, 92, // 8 columns visible + 32, 60, 64, 72, 76, 84, 88, 92, // 12 columns visible +}; + +const uint8_t pattCursorWTab[2 * 4 * 8] = +{ + // no volume column shown + 48, 16, 16, 0, 0, 16, 16, 16, // 4 columns visible + 48, 8, 8, 0, 0, 8, 8, 8, // 6 columns visible + 24, 8, 8, 0, 0, 8, 8, 8, // 8 columns visible + 16, 4, 4, 0, 0, 4, 4, 4, // 12 columns visible + + // volume column shown + 48, 8, 8, 8, 8, 8, 8, 8, // 4 columns visible + 24, 8, 8, 8, 8, 8, 8, 8, // 6 columns visible + 24, 4, 4, 4, 4, 4, 4, 4, // 8 columns visible + 24, 4, 4, 4, 4, 4, 4, 4 // 12 columns visible +}; + +const char chDecTab1[MAX_VOICES+1] = +{ + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', + '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', + '2', '2', '2', '2', '2', '2', '2', '2', '2', '2', + '3', '3', '3' +}; + +const char chDecTab2[MAX_VOICES+1] = +{ + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + '0', '1', '2' +}; + +const int16_t sinusTables[256 * 5] = +{ + 0, 201, 402, 603, 804, 1005, 1206, 1407, 1608, 1809, + 2009, 2210, 2410, 2611, 2811, 3011, 3212, 3412, 3612, 3811, + 4011, 4210, 4410, 4609, 4808, 5007, 5205, 5404, 5602, 5800, + 5997, 6195, 6392, 6589, 6786, 6983, 7179, 7375, 7571, 7766, + 7961, 8156, 8351, 8545, 8739, 8933, 9126, 9319, 9511, 9704, + 9896, 10087, 10278, 10469, 10659, 10849, 11039, 11228, 11416, 11605, + 11792, 11980, 12167, 12353, 12539, 12725, 12910, 13094, 13278, 13462, + 13645, 13827, 14009, 14191, 14372, 14552, 14732, 14911, 15090, 15268, + 15446, 15623, 15799, 15975, 16150, 16325, 16499, 16672, 16845, 17017, + 17189, 17360, 17530, 17699, 17868, 18036, 18204, 18371, 18537, 18702, + 18867, 19031, 19194, 19357, 19519, 19680, 19840, 20000, 20159, 20317, + 20474, 20631, 20787, 20942, 21096, 21249, 21402, 21554, 21705, 21855, + 22004, 22153, 22301, 22447, 22593, 22739, 22883, 23026, 23169, 23311, + 23452, 23592, 23731, 23869, 24006, 24143, 24278, 24413, 24546, 24679, + 24811, 24942, 25071, 25200, 25328, 25456, 25582, 25707, 25831, 25954, + 26076, 26198, 26318, 26437, 26555, 26673, 26789, 26904, 27018, 27132, + 27244, 27355, 27465, 27574, 27682, 27790, 27896, 28000, 28104, 28207, + 28309, 28410, 28509, 28608, 28705, 28802, 28897, 28991, 29084, 29176, + 29267, 29357, 29446, 29534, 29620, 29706, 29790, 29873, 29955, 30036, + 30116, 30194, 30272, 30348, 30423, 30498, 30570, 30642, 30713, 30782, + 30851, 30918, 30984, 31049, 31112, 31175, 31236, 31296, 31355, 31413, + 31469, 31525, 31579, 31632, 31684, 31735, 31784, 31832, 31879, 31925, + 31970, 32013, 32056, 32097, 32136, 32175, 32212, 32249, 32284, 32317, + 32350, 32381, 32411, 32440, 32468, 32494, 32520, 32544, 32566, 32588, + 32608, 32627, 32645, 32662, 32677, 32691, 32704, 32716, 32727, 32736, + 32744, 32751, 32756, 32760, 32764, 32765, 32766, 32765, 32764, 32760, + 32756, 32751, 32744, 32736, 32727, 32716, 32704, 32691, 32677, 32662, + 32645, 32627, 32608, 32588, 32566, 32544, 32520, 32494, 32468, 32440, + 32411, 32381, 32350, 32317, 32284, 32249, 32212, 32175, 32136, 32097, + 32056, 32013, 31970, 31925, 31879, 31832, 31784, 31735, 31684, 31632, + 31579, 31525, 31469, 31413, 31355, 31296, 31236, 31175, 31112, 31049, + 30984, 30918, 30851, 30782, 30713, 30642, 30570, 30498, 30423, 30348, + 30272, 30194, 30116, 30036, 29955, 29873, 29790, 29706, 29620, 29534, + 29446, 29357, 29267, 29176, 29084, 28991, 28897, 28802, 28705, 28608, + 28509, 28410, 28309, 28207, 28104, 28000, 27896, 27790, 27682, 27574, + 27465, 27355, 27244, 27132, 27018, 26904, 26789, 26673, 26555, 26437, + 26318, 26198, 26076, 25954, 25831, 25707, 25582, 25456, 25328, 25200, + 25071, 24942, 24811, 24679, 24546, 24413, 24278, 24143, 24006, 23869, + 23731, 23592, 23452, 23311, 23169, 23026, 22883, 22739, 22593, 22447, + 22301, 22153, 22004, 21855, 21705, 21554, 21402, 21249, 21096, 20942, + 20787, 20631, 20474, 20317, 20159, 20000, 19840, 19680, 19519, 19357, + 19194, 19031, 18867, 18702, 18537, 18371, 18204, 18036, 17868, 17699, + 17530, 17360, 17189, 17017, 16845, 16672, 16499, 16325, 16150, 15975, + 15799, 15623, 15446, 15268, 15090, 14911, 14732, 14552, 14372, 14191, + 14009, 13827, 13645, 13462, 13278, 13094, 12910, 12725, 12539, 12353, + 12167, 11980, 11792, 11605, 11416, 11228, 11039, 10849, 10659, 10469, + 10278, 10087, 9896, 9704, 9511, 9319, 9126, 8933, 8739, 8545, + 8351, 8156, 7961, 7766, 7571, 7375, 7179, 6983, 6786, 6589, + 6392, 6195, 5997, 5800, 5602, 5404, 5205, 5007, 4808, 4609, + 4410, 4210, 4011, 3811, 3612, 3412, 3212, 3011, 2811, 2611, + 2410, 2210, 2009, 1809, 1608, 1407, 1206, 1005, 804, 603, + 402, 201, 0, -201, -402, -603, -804, -1005, -1206, -1407, + -1608, -1809, -2009, -2210, -2410, -2611, -2811, -3011, -3212, -3412, + -3612, -3811, -4011, -4210, -4410, -4609, -4808, -5007, -5205, -5404, + -5602, -5800, -5997, -6195, -6392, -6589, -6786, -6983, -7179, -7375, + -7571, -7766, -7961, -8156, -8351, -8545, -8739, -8933, -9126, -9319, + -9511, -9704, -9896, -10087, -10278, -10469, -10659, -10849, -11039, -11228, + -11416, -11605, -11792, -11980, -12167, -12353, -12539, -12725, -12910, -13094, + -13278, -13462, -13645, -13827, -14009, -14191, -14372, -14552, -14732, -14911, + -15090, -15268, -15446, -15623, -15799, -15975, -16150, -16325, -16499, -16672, + -16845, -17017, -17189, -17360, -17530, -17699, -17868, -18036, -18204, -18371, + -18537, -18702, -18867, -19031, -19194, -19357, -19519, -19680, -19840, -20000, + -20159, -20317, -20474, -20631, -20787, -20942, -21096, -21249, -21402, -21554, + -21705, -21855, -22004, -22153, -22301, -22447, -22593, -22739, -22883, -23026, + -23169, -23311, -23452, -23592, -23731, -23869, -24006, -24143, -24278, -24413, + -24546, -24679, -24811, -24942, -25071, -25200, -25328, -25456, -25582, -25707, + -25831, -25954, -26076, -26198, -26318, -26437, -26555, -26673, -26789, -26904, + -27018, -27132, -27244, -27355, -27465, -27574, -27682, -27790, -27896, -28000, + -28104, -28207, -28309, -28410, -28509, -28608, -28705, -28802, -28897, -28991, + -29084, -29176, -29267, -29357, -29446, -29534, -29620, -29706, -29790, -29873, + -29955, -30036, -30116, -30194, -30272, -30348, -30423, -30498, -30570, -30642, + -30713, -30782, -30851, -30918, -30984, -31049, -31112, -31175, -31236, -31296, + -31355, -31413, -31469, -31525, -31579, -31632, -31684, -31735, -31784, -31832, + -31879, -31925, -31970, -32013, -32056, -32097, -32136, -32175, -32212, -32249, + -32284, -32317, -32350, -32381, -32411, -32440, -32468, -32494, -32520, -32544, + -32566, -32588, -32608, -32627, -32645, -32662, -32677, -32691, -32704, -32716, + -32727, -32736, -32744, -32751, -32756, -32760, -32764, -32765, -32766, -32765, + -32764, -32760, -32756, -32751, -32744, -32736, -32727, -32716, -32704, -32691, + -32677, -32662, -32645, -32627, -32608, -32588, -32566, -32544, -32520, -32494, + -32468, -32440, -32411, -32381, -32350, -32317, -32284, -32249, -32212, -32175, + -32136, -32097, -32056, -32013, -31970, -31925, -31879, -31832, -31784, -31735, + -31684, -31632, -31579, -31525, -31469, -31413, -31355, -31296, -31236, -31175, + -31112, -31049, -30984, -30918, -30851, -30782, -30713, -30642, -30570, -30498, + -30423, -30348, -30272, -30194, -30116, -30036, -29955, -29873, -29790, -29706, + -29620, -29534, -29446, -29357, -29267, -29176, -29084, -28991, -28897, -28802, + -28705, -28608, -28509, -28410, -28309, -28207, -28104, -28000, -27896, -27790, + -27682, -27574, -27465, -27355, -27244, -27132, -27018, -26904, -26789, -26673, + -26555, -26437, -26318, -26198, -26076, -25954, -25831, -25707, -25582, -25456, + -25328, -25200, -25071, -24942, -24811, -24679, -24546, -24413, -24278, -24143, + -24006, -23869, -23731, -23592, -23452, -23311, -23169, -23026, -22883, -22739, + -22593, -22447, -22301, -22153, -22004, -21855, -21705, -21554, -21402, -21249, + -21096, -20942, -20787, -20631, -20474, -20317, -20159, -20000, -19840, -19680, + -19519, -19357, -19194, -19031, -18867, -18702, -18537, -18371, -18204, -18036, + -17868, -17699, -17530, -17360, -17189, -17017, -16845, -16672, -16499, -16325, + -16150, -15975, -15799, -15623, -15446, -15268, -15090, -14911, -14732, -14552, + -14372, -14191, -14009, -13827, -13645, -13462, -13278, -13094, -12910, -12725, + -12539, -12353, -12167, -11980, -11792, -11605, -11416, -11228, -11039, -10849, + -10659, -10469, -10278, -10087, -9896, -9704, -9511, -9319, -9126, -8933, + -8739, -8545, -8351, -8156, -7961, -7766, -7571, -7375, -7179, -6983, + -6786, -6589, -6392, -6195, -5997, -5800, -5602, -5404, -5205, -5007, + -4808, -4609, -4410, -4210, -4011, -3811, -3612, -3412, -3212, -3011, + -2811, -2611, -2410, -2210, -2009, -1809, -1608, -1407, -1206, -1005, + -804, -603, -402, -201, 0, 201, 402, 603, 804, 1005, + 1206, 1407, 1608, 1809, 2009, 2210, 2410, 2611, 2811, 3011, + 3212, 3412, 3612, 3811, 4011, 4210, 4410, 4609, 4808, 5007, + 5205, 5404, 5602, 5800, 5997, 6195, 6392, 6589, 6786, 6983, + 7179, 7375, 7571, 7766, 7961, 8156, 8351, 8545, 8739, 8933, + 9126, 9319, 9511, 9704, 9896, 10087, 10278, 10469, 10659, 10849, + 11039, 11228, 11416, 11605, 11792, 11980, 12167, 12353, 12539, 12725, + 12910, 13094, 13278, 13462, 13645, 13827, 14009, 14191, 14372, 14552, + 14732, 14911, 15090, 15268, 15446, 15623, 15799, 15975, 16150, 16325, + 16499, 16672, 16845, 17017, 17189, 17360, 17530, 17699, 17868, 18036, + 18204, 18371, 18537, 18702, 18867, 19031, 19194, 19357, 19519, 19680, + 19840, 20000, 20159, 20317, 20474, 20631, 20787, 20942, 21096, 21249, + 21402, 21554, 21705, 21855, 22004, 22153, 22301, 22447, 22593, 22739, + 22883, 23026, 23169, 23311, 23452, 23592, 23731, 23869, 24006, 24143, + 24278, 24413, 24546, 24679, 24811, 24942, 25071, 25200, 25328, 25456, + 25582, 25707, 25831, 25954, 26076, 26198, 26318, 26437, 26555, 26673, + 26789, 26904, 27018, 27132, 27244, 27355, 27465, 27574, 27682, 27790, + 27896, 28000, 28104, 28207, 28309, 28410, 28509, 28608, 28705, 28802, + 28897, 28991, 29084, 29176, 29267, 29357, 29446, 29534, 29620, 29706, + 29790, 29873, 29955, 30036, 30116, 30194, 30272, 30348, 30423, 30498, + 30570, 30642, 30713, 30782, 30851, 30918, 30984, 31049, 31112, 31175, + 31236, 31296, 31355, 31413, 31469, 31525, 31579, 31632, 31684, 31735, + 31784, 31832, 31879, 31925, 31970, 32013, 32056, 32097, 32136, 32175, + 32212, 32249, 32284, 32317, 32350, 32381, 32411, 32440, 32468, 32494, + 32520, 32544, 32566, 32588, 32608, 32627, 32645, 32662, 32677, 32691, + 32704, 32716, 32727, 32736, 32744, 32751, 32756, 32760, 32764, 32765 +}; + +const SDL_Keycode key2VolTab[16] = +{ + SDLK_0, SDLK_1, SDLK_2, SDLK_3, SDLK_4, SDLK_MINUS, SDLK_PLUS, SDLK_d, + SDLK_u, SDLK_s, SDLK_v, SDLK_p, SDLK_l, SDLK_r, SDLK_m +}; + +const SDL_Keycode key2EfxTab[36] = +{ + SDLK_0, SDLK_1, SDLK_2, SDLK_3, SDLK_4, SDLK_5, SDLK_6, SDLK_7, + SDLK_8, SDLK_9, SDLK_a, SDLK_b, SDLK_c, SDLK_d, SDLK_e, SDLK_f, + SDLK_g, SDLK_h, SDLK_i, SDLK_j, SDLK_k, SDLK_l, SDLK_m, SDLK_n, + SDLK_o, SDLK_p, SDLK_q, SDLK_r, SDLK_s, SDLK_t, SDLK_u, SDLK_v, + SDLK_w, SDLK_x, SDLK_y, SDLK_z +}; + +const SDL_Keycode key2HexTab[16] = +{ + SDLK_0, SDLK_1, SDLK_2, SDLK_3, SDLK_4, SDLK_5, SDLK_6, SDLK_7, + SDLK_8, SDLK_9, SDLK_a, SDLK_b, SDLK_c, SDLK_d, SDLK_e, SDLK_f +}; + +const uint8_t scopeMuteBMPWidths[16] = +{ + 162,111, 76, 56, 42, 35, 28, 24, + 21, 21, 17, 17, 12, 12, 9, 9 +}; + +const uint8_t scopeMuteBMPHeights[16] = +{ + 27, 27, 26, 25, 25, 25, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24 +}; + +const uint8_t *scopeMuteBMPPointers[16] = +{ + scopeMuteBMP1, scopeMuteBMP2, scopeMuteBMP3, scopeMuteBMP4, + scopeMuteBMP5, scopeMuteBMP6, scopeMuteBMP7, scopeMuteBMP8, + scopeMuteBMP9, scopeMuteBMP9, scopeMuteBMP10,scopeMuteBMP10, + scopeMuteBMP11,scopeMuteBMP11,scopeMuteBMP12,scopeMuteBMP12 +}; + +const uint16_t scopeLenTab[16][32] = +{ + /* 2 ch */ {285,285}, + /* 4 ch */ {141,141,141,141}, + /* 6 ch */ {93,93,93,93,93,93}, + /* 8 ch */ {69,69,69,69,69,69,69,69}, + /* 10 ch */ {55,55,55,54,54,55,55,55,54,54}, + /* 12 ch */ {45,45,45,45,45,45,45,45,45,45,45,45}, + /* 14 ch */ {39,38,38,38,38,38,38,39,38,38,38,38,38,38}, + /* 16 ch */ {33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33}, + /* 18 ch */ {29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29}, + /* 20 ch */ {26,26,26,26,26,26,26,26,25,25,26,26,26,26,26,26,26,26,25,25}, + /* 22 ch */ {24,24,23,23,23,23,23,23,23,23,23,24,24,23,23,23,23,23,23,23,23,23}, + /* 24 ch */ {21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21}, + /* 26 ch */ {20,20,19,19,19,19,19,19,19,19,19,19,19,20,20,19,19,19,19,19,19,19,19,19,19,19}, + /* 28 ch */ {18,18,18,18,18,18,18,18,17,17,17,17,17,17,18,18,18,18,18,18,18,18,17,17,17,17,17,17}, + /* 30 ch */ {17,17,17,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,16,16,16,16,16,16,16,16,16,16,16,16}, + /* 32 ch */ {15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15} +}; + +/* ----------------------------------------------------------------------- */ +/* CONFIG TABLE */ +/* ----------------------------------------------------------------------- */ + +// default FT2 clone FT2.CFG (unencrypted) +const uint8_t defConfigData[CONFIG_FILE_SIZE] = +{ + 0x46,0x61,0x73,0x74,0x54,0x72,0x61,0x63,0x6B,0x65,0x72,0x20,0x32,0x2E,0x30,0x20,0x63,0x6F,0x6E,0x66, + 0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x1A,0x01,0x01,0x80,0xBB,0x00, + 0x00,0xFF,0x00,0x00,0x01,0xDC,0x00,0x00,0x00,0x01,0x01,0x00,0x03,0x00,0xFF,0x00,0x20,0x02,0x01,0x00, + 0x05,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x01,0x01,0x01,0x04,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x24,0x2F,0x3F,0x09,0x09,0x10,0x3F,0x3F,0x3F,0x13,0x18,0x26,0x3F,0x3F,0x3F,0x27,0x27, + 0x27,0x00,0x00,0x00,0x08,0x0A,0x0F,0x20,0x29,0x3F,0x0F,0x0F,0x0F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F, + 0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x01,0x0A,0x10,0x0A,0xE0,0x08,0xC0,0x08,0x40,0x08,0x20,0x08, + 0xF1,0x04,0xF2,0x04,0x81,0x04,0x82,0x04,0x20,0x30,0x40,0x50,0x61,0x62,0x71,0x72,0x91,0x92,0xF8,0x03, + 0x2D,0x88,0x18,0x00,0x66,0x88,0x18,0x00,0x00,0x01,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x01,0x01,0x10,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x64,0x00,0x01,0x01, + 0x01,0x01,0x12,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0x00,0x01,0x60,0x00,0x05,0x56,0x6F,0x67, + 0x75,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x02,0x16,0x05,0x4D,0x72,0x2E,0x20,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x17,0x04,0x4C,0x6F,0x6F,0x74,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x07, + 0x0A,0x4C,0x69,0x7A,0x61,0x72,0x64,0x6B,0x69,0x6E,0x67,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x06,0x03,0x41,0x6C,0x74,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x05,0x03,0x55,0x62,0x65, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x04,0x00,0x04,0x06,0x4E,0x69,0x6B,0x6C,0x61,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x03,0x05,0x4A,0x65,0x6E,0x73,0x61,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x02, + 0x05,0x54,0x6F,0x62,0x62,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x01,0x08,0x4B,0x61,0x72,0x6F,0x6C,0x69,0x6E,0x61,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x02,0x00, + 0x00,0x00,0x00,0x99,0xE2,0x27,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x30, + 0x00,0x04,0x00,0x40,0x00,0x08,0x00,0x2C,0x00,0x0E,0x00,0x08,0x00,0x18,0x00,0x16,0x00,0x20,0x00,0x08, + 0x00,0x3C,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x5A,0x00,0x00,0x00,0x64,0x00,0x00, + 0x00,0x6E,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x0A,0x00,0x28,0x00,0x1E,0x00,0x18,0x00,0x32,0x00,0x20, + 0x00,0x3C,0x00,0x20,0x00,0x46,0x00,0x20,0x00,0x50,0x00,0x20,0x00,0x5A,0x00,0x20,0x00,0x64,0x00,0x20, + 0x00,0x6E,0x00,0x20,0x00,0x78,0x00,0x20,0x00,0x82,0x00,0x20,0x00,0x00,0x00,0x30,0x00,0x04,0x00,0x40, + 0x00,0x08,0x00,0x2C,0x00,0x0E,0x00,0x08,0x00,0x18,0x00,0x16,0x00,0x20,0x00,0x08,0x00,0x3C,0x00,0x00, + 0x00,0x46,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x5A,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x6E,0x00,0x00, + 0x00,0x00,0x00,0x20,0x00,0x0A,0x00,0x28,0x00,0x1E,0x00,0x18,0x00,0x32,0x00,0x20,0x00,0x3C,0x00,0x20, + 0x00,0x46,0x00,0x20,0x00,0x50,0x00,0x20,0x00,0x5A,0x00,0x20,0x00,0x64,0x00,0x20,0x00,0x6E,0x00,0x20, + 0x00,0x78,0x00,0x20,0x00,0x82,0x00,0x20,0x00,0x00,0x00,0x30,0x00,0x04,0x00,0x40,0x00,0x08,0x00,0x2C, + 0x00,0x0E,0x00,0x08,0x00,0x18,0x00,0x16,0x00,0x20,0x00,0x08,0x00,0x3C,0x00,0x00,0x00,0x46,0x00,0x00, + 0x00,0x50,0x00,0x00,0x00,0x5A,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0x00,0x00,0x20, + 0x00,0x0A,0x00,0x28,0x00,0x1E,0x00,0x18,0x00,0x32,0x00,0x20,0x00,0x3C,0x00,0x20,0x00,0x46,0x00,0x20, + 0x00,0x50,0x00,0x20,0x00,0x5A,0x00,0x20,0x00,0x64,0x00,0x20,0x00,0x6E,0x00,0x20,0x00,0x78,0x00,0x20, + 0x00,0x82,0x00,0x20,0x00,0x00,0x00,0x30,0x00,0x04,0x00,0x40,0x00,0x08,0x00,0x2C,0x00,0x0E,0x00,0x08, + 0x00,0x18,0x00,0x16,0x00,0x20,0x00,0x08,0x00,0x3C,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x50,0x00,0x00, + 0x00,0x5A,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x0A,0x00,0x28, + 0x00,0x1E,0x00,0x18,0x00,0x32,0x00,0x20,0x00,0x3C,0x00,0x20,0x00,0x46,0x00,0x20,0x00,0x50,0x00,0x20, + 0x00,0x5A,0x00,0x20,0x00,0x64,0x00,0x20,0x00,0x6E,0x00,0x20,0x00,0x78,0x00,0x20,0x00,0x82,0x00,0x20, + 0x00,0x00,0x00,0x30,0x00,0x04,0x00,0x40,0x00,0x08,0x00,0x2C,0x00,0x0E,0x00,0x08,0x00,0x18,0x00,0x16, + 0x00,0x20,0x00,0x08,0x00,0x3C,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x5A,0x00,0x00, + 0x00,0x64,0x00,0x00,0x00,0x6E,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x0A,0x00,0x28,0x00,0x1E,0x00,0x18, + 0x00,0x32,0x00,0x20,0x00,0x3C,0x00,0x20,0x00,0x46,0x00,0x20,0x00,0x50,0x00,0x20,0x00,0x5A,0x00,0x20, + 0x00,0x64,0x00,0x20,0x00,0x6E,0x00,0x20,0x00,0x78,0x00,0x20,0x00,0x82,0x00,0x20,0x00,0x00,0x00,0x30, + 0x00,0x04,0x00,0x40,0x00,0x08,0x00,0x2C,0x00,0x0E,0x00,0x08,0x00,0x18,0x00,0x16,0x00,0x20,0x00,0x08, + 0x00,0x3C,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x5A,0x00,0x00,0x00,0x64,0x00,0x00, + 0x00,0x6E,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x0A,0x00,0x28,0x00,0x1E,0x00,0x18,0x00,0x32,0x00,0x20, + 0x00,0x3C,0x00,0x20,0x00,0x46,0x00,0x20,0x00,0x50,0x00,0x20,0x00,0x5A,0x00,0x20,0x00,0x64,0x00,0x20, + 0x00,0x6E,0x00,0x20,0x00,0x78,0x00,0x20,0x00,0x82,0x00,0x20,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06, + 0x00,0x06,0x00,0x06,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x03,0x00,0x03, + 0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x05, + 0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02, + 0x00,0x02,0x00,0x02,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x05,0x00,0x05, + 0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x05,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC8,0x00,0x03,0x00,0x40,0x1F,0x40, + 0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40, + 0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x40,0x1F,0x01,0x00,0x00,0x08,0x00,0x00,0x00 +}; diff --git a/src/ft2_tables.h b/src/ft2_tables.h new file mode 100644 index 0000000..212d014 --- /dev/null +++ b/src/ft2_tables.h @@ -0,0 +1,49 @@ +#pragma once + +#include +#include "ft2_palette.h" // pal16 typedef +#include "ft2_pattern_ed.h" // pattCoord_t/pattCoord2_t/pattCoordsMouse_t/markCoord_t typedef +#include "ft2_header.h" // MAX_VOICES +#include "ft2_config.h" // CONFIG_FILE_SIZE + +#define LOG_TABLE_BITS 24 +#define FAST_SINC_TABLE_BITS 14 + +#define KEY2VOL_ENTRIES (signed)(sizeof (key2VolTab) / sizeof (SDL_Keycode)) +#define KEY2EFX_ENTRIES (signed)(sizeof (key2EfxTab) / sizeof (SDL_Keycode)) +#define KEY2HEX_ENTRIES (signed)(sizeof (key2HexTab) / sizeof (SDL_Keycode)) + +extern const int8_t vibSineTab[256]; // for auto-vibrato +extern const uint8_t vibTab[32]; +extern const uint16_t amigaPeriod[12 * 8]; +extern const uint16_t amigaFinePeriod[12 * 8]; +extern const int16_t linearPeriods[1936]; +extern const int16_t amigaPeriods[1936]; +extern const uint32_t logTab[768]; + +extern const uint32_t panningTab[257]; +extern const int16_t fastSincTable[256 * 4]; + +extern pal16 palTable[12][16]; +extern const uint16_t chanWidths[6]; +extern const pattCoordsMouse_t pattCoordMouseTable[2][2][2]; +extern const int16_t sinusTables[256 * 5]; +extern const uint8_t noteTab1[96]; +extern const uint8_t noteTab2[96]; +extern const uint8_t hex2Dec[256]; +extern const pattCoord_t pattCoordTable[2][2][2]; +extern const pattCoord2_t pattCoord2Table[2][2][2]; +extern const markCoord_t markCoordTable[2][2][2]; +extern const uint8_t pattCursorXTab[2 * 4 * 8]; +extern const uint8_t pattCursorWTab[2 * 4 * 8]; +extern const char chDecTab1[MAX_VOICES+1]; +extern const char chDecTab2[MAX_VOICES+1]; +extern const SDL_Keycode key2VolTab[16]; +extern const SDL_Keycode key2EfxTab[36]; +extern const SDL_Keycode key2HexTab[16]; +extern const uint8_t scopeMuteBMPWidths[16]; +extern const uint8_t scopeMuteBMPHeights[16]; +extern const uint8_t *scopeMuteBMPPointers[16]; +extern const uint16_t scopeLenTab[16][32]; + +extern const uint8_t defConfigData[CONFIG_FILE_SIZE]; diff --git a/src/ft2_textboxes.c b/src/ft2_textboxes.c index c101759..102c3b0 100644 --- a/src/ft2_textboxes.c +++ b/src/ft2_textboxes.c @@ -1,1238 +1,1248 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include "ft2_header.h" -#include "ft2_gui.h" -#include "ft2_video.h" -#include "ft2_config.h" -#include "ft2_diskop.h" -#include "ft2_keyboard.h" -#include "ft2_gfxdata.h" -#include "ft2_mouse.h" - -textBox_t textBoxes[NUM_TEXTBOXES] = -{ - // ------ RESERVED TEXTBOXES ------ - { 0 }, - - /* - ** -- STRUCT INFO: -- - ** x = x position - ** y = y position - ** w = width - ** h = height - ** tx = left padding for text - ** ty = top padding for text - ** maxc = max characters in box string - ** rmb = can only be triggered with right mouse button (f.ex. tracker instrument texts) - ** cmc = change mouse cursor when hovering over it - */ - - // ------ INSTRUMENT/SAMPLE/SONG NAME TEXTBOXES ------ - // x, y, w, h, tx,ty, maxc, rmb, cmc - { 446, 5, 140, 10, 1, 0, 22, true, false }, - { 446, 16, 140, 10, 1, 0, 22, true, false }, - { 446, 27, 140, 10, 1, 0, 22, true, false }, - { 446, 38, 140, 10, 1, 0, 22, true, false }, - { 446, 49, 140, 10, 1, 0, 22, true, false }, - { 446, 60, 140, 10, 1, 0, 22, true, false }, - { 446, 71, 140, 10, 1, 0, 22, true, false }, - { 446, 82, 140, 10, 1, 0, 22, true, false }, - { 446, 99, 116, 10, 1, 0, 22, true, false }, - { 446, 110, 116, 10, 1, 0, 22, true, false }, - { 446, 121, 116, 10, 1, 0, 22, true, false }, - { 446, 132, 116, 10, 1, 0, 22, true, false }, - { 446, 143, 116, 10, 1, 0, 22, true, false }, - { 424, 158, 160, 12, 2, 1, 20, false, true }, - - // ------ DISK OP. TEXTBOXES ------ - // x, y, w, h, tx,ty, maxc, rmb, cmc - { 62, 158, 103, 12, 2, 1, PATH_MAX-1, false, true }, - - // ------ CONFIG TEXTBOXES ------ - // x, y, w, h, tx,ty, maxc, rmb, cmc - { 486, 16, 143, 12, 2, 1, 80, false, true }, - { 486, 31, 143, 12, 2, 1, 80, false, true }, - { 486, 46, 143, 12, 2, 1, 80, false, true }, - { 486, 61, 143, 12, 2, 1, 80, false, true }, - { 486, 76, 143, 12, 2, 1, 80, false, true } -}; - -static int16_t markX1, markX2; -static uint16_t oldCursorPos, oldMouseX; - -static void moveTextCursorLeft(int16_t i, bool updateTextBox); -static void moveTextCursorRight(int16_t i, bool updateTextBox); - -static void setSongModifiedFlagIfNeeded(void) // called during keystrokes in text boxes -{ - if (mouse.lastEditBox == TB_SONG_NAME || - (mouse.lastEditBox >= TB_INST1 && mouse.lastEditBox <= TB_INST8) || - (mouse.lastEditBox >= TB_SAMP1 && mouse.lastEditBox <= TB_SAMP5)) - { - setSongModifiedFlag(); - } -} - -bool textIsMarked(void) -{ - if (markX1 == markX2) - return false; - - return true; -} - -static void removeTextMarking(void) -{ - markX1 = 0; - markX2 = 0; -} - -static int16_t getTextMarkStart(void) -{ - if (markX2 < markX1) - return markX2; - - return markX1; -} - -static int16_t getTextMarkEnd(void) -{ - if (markX1 > markX2) - return markX1; - - return markX2; -} - -static int16_t getTextLength(textBox_t *t, uint16_t offset) -{ - uint16_t i; - - if (t->textPtr == NULL || offset >= t->maxChars) - return 0; - - // count number of characters in text - for (i = offset; i < t->maxChars; i++) - { - if (t->textPtr[i] == '\0') - break; - } - - i -= offset; // i now contains string length - assert(i <= t->maxChars); - - return i; -} - -static void deleteMarkedText(textBox_t *t) -{ - int16_t start, end; - int32_t i, deleteTextWidth, length; - - if (!textIsMarked()) - return; - - start = getTextMarkStart(); - end = getTextMarkEnd(); - - assert(start < t->maxChars && end <= t->maxChars); - - // calculate pixel width of string to delete - deleteTextWidth = 0; - for (i = start; i < end; i++) - deleteTextWidth += charWidth(t->textPtr[i]); - - // copy markEnd part to markStart, and add null termination - length = (int32_t)strlen(&t->textPtr[end]); - if (length > 0) - memcpy(&t->textPtr[start], &t->textPtr[end], length); - t->textPtr[start+length] = '\0'; - - // scroll buffer offset to the left if we are scrolled - if (t->bufOffset >= deleteTextWidth) - t->bufOffset -= deleteTextWidth; - else - t->bufOffset = 0; - - // set text cursor to markStart - t->cursorPos = start; - - setSongModifiedFlagIfNeeded(); -} - -static void setCursorToMarkStart(textBox_t *t) -{ - char ch; - int16_t start; - int32_t startXPos; - - if (!textIsMarked()) - return; - - start = getTextMarkStart(); - assert(start < t->maxChars); - t->cursorPos = start; - - startXPos = 0; - for (int32_t i = 0; i < start; i++) - { - ch = t->textPtr[i]; - if (ch == '\0') - break; - - startXPos += charWidth(ch); - } - - // change buffer offset, if needed - if (startXPos < t->bufOffset) - t->bufOffset = startXPos; -} - -static void setCursorToMarkEnd(textBox_t *t) -{ - char ch; - int16_t end; - int32_t endXPos; - - if (!textIsMarked()) - return; - - end = getTextMarkEnd(); - assert(end <= t->maxChars); - t->cursorPos = end; - - endXPos = 0; - for (int32_t i = 0; i < end; i++) - { - ch = t->textPtr[i]; - if (ch == '\0') - break; - - endXPos += charWidth(ch); - } - - // change buffer offset, if needed - if (endXPos > t->bufOffset+t->renderW) - t->bufOffset = endXPos - t->renderW; -} - -static void copyMarkedText(textBox_t *t) -{ - int32_t length, start, end; - char *utf8Text; - - if (!textIsMarked()) - return; - - start = getTextMarkStart(); - end = getTextMarkEnd(); - - assert(start < t->maxChars && end <= t->maxChars); - - length = end - start; - if (length < 1) - return; - - utf8Text = cp437ToUtf8(&t->textPtr[start]); - if (utf8Text != NULL) - { - SDL_SetClipboardText(utf8Text); - free(utf8Text); - } -} - -static void cutMarkedText(textBox_t *t) -{ - if (!textIsMarked()) - return; - - copyMarkedText(t); - deleteMarkedText(t); - removeTextMarking(); - - drawTextBox(mouse.lastEditBox); -} - -static void pasteText(textBox_t *t) -{ - char *copiedText, *copiedTextUtf8, *endPart; - uint16_t endOffset; - int32_t textLength, roomLeft, copiedTextLength, endPartLength; - - if (!SDL_HasClipboardText()) - return; - - // if we've marked text, delete it and remove text marking - if (textIsMarked()) - { - deleteMarkedText(t); - removeTextMarking(); - } - - if (t->cursorPos >= t->maxChars) - return; - - textLength = getTextLength(t, 0); - - roomLeft = t->maxChars - textLength; - if (roomLeft <= 0) - return; // no more room! - - copiedTextUtf8 = SDL_GetClipboardText(); - - copiedText = utf8ToCp437(copiedTextUtf8, true); - if (copiedText == NULL) - return; - - copiedTextLength = (int32_t)strlen(copiedText); - if (copiedTextLength > roomLeft) - copiedTextLength = roomLeft; - - endOffset = t->cursorPos; - endPart = NULL; // prevent false compiler warning - - endPartLength = getTextLength(t, endOffset); - if (endPartLength > 0) - { - endPart = (char *)malloc(endPartLength + 1); - if (endPart == NULL) - { - free(copiedText); - okBox(0, "System message", "Not enough memory!"); - return; - } - } - - // make a copy of end data - if (endPartLength > 0) - { - memcpy(endPart, &t->textPtr[endOffset], endPartLength); - endPart[endPartLength] = '\0'; - } - - // paste copied data - memcpy(&t->textPtr[endOffset], copiedText, copiedTextLength); - t->textPtr[endOffset+copiedTextLength] = '\0'; - free(copiedText); - - // append end data - if (endPartLength > 0) - { - strcat(&t->textPtr[endOffset+copiedTextLength], endPart); - free(endPart); - } - - for (int32_t i = 0; i < copiedTextLength; i++) - moveTextCursorRight(mouse.lastEditBox, TEXTBOX_NO_UPDATE); - - drawTextBox(mouse.lastEditBox); - - setSongModifiedFlagIfNeeded(); -} - -void exitTextEditing(void) -{ - if (!editor.editTextFlag) - return; - - if (mouse.lastEditBox >= 0 && mouse.lastEditBox < NUM_TEXTBOXES) - { - textBoxes[mouse.lastEditBox].bufOffset = 0; - removeTextMarking(); - drawTextBox(mouse.lastEditBox); - } - - if (mouse.lastEditBox == TB_DISKOP_FILENAME && getDiskOpItem() == DISKOP_ITEM_MODULE) - { - updateCurrSongFilename(); // for window title - updateWindowTitle(true); - } - - keyb.ignoreCurrKeyUp = true; // prevent a note being played (on enter key) - editor.editTextFlag = false; - - hideSprite(SPRITE_TEXT_CURSOR); - SDL_StopTextInput(); -} - -static int16_t cursorPosToX(textBox_t *t) -{ - int32_t x; - - assert(t->textPtr != NULL); - - x = -1; // cursor starts one pixel before character - for (int16_t i = 0; i < t->cursorPos; i++) - x += charWidth(t->textPtr[i]); - - x -= t->bufOffset; // subtract by buffer offset to get real X position - return (int16_t)x; -} - -int16_t getTextCursorX(textBox_t *t) -{ - return t->x + t->tx + cursorPosToX(t); -} - -int16_t getTextCursorY(textBox_t *t) -{ - return t->y + t->ty; -} - -static void scrollTextBufferLeft(textBox_t *t) -{ - // scroll buffer and clamp - t->bufOffset -= TEXT_SCROLL_VALUE; - if (t->bufOffset < 0) - t->bufOffset = 0; -} - -static void scrollTextBufferRight(textBox_t *t, uint16_t numCharsInText) -{ - int32_t textEnd; - - assert(numCharsInText <= t->maxChars); - - // get end of text position - textEnd = 0; - for (uint16_t j = 0; j < numCharsInText; j++) - textEnd += charWidth(t->textPtr[j]); - - // subtract by text box width and clamp to 0 - textEnd -= t->renderW; - if (textEnd < 0) - textEnd = 0; - - // scroll buffer and clamp - t->bufOffset += TEXT_SCROLL_VALUE; - if (t->bufOffset > textEnd) - t->bufOffset = textEnd; -} - -static void moveTextCursorToMouseX(uint16_t textBoxID) -{ - int8_t cw; - int16_t i, numChars, cursorPos; - int32_t mx, tx, tx2; - textBox_t *t; - - t = &textBoxes[textBoxID]; - if ((mouse.x == t->x && t->bufOffset == 0) || t->textPtr == NULL || t->textPtr[0] == '\0') - { - t->cursorPos = 0; - return; - } - - numChars = getTextLength(t, 0); - - // find out what character we are clicking at, and set cursor to that character - mx = t->bufOffset + mouse.x; - tx = (t->x + t->tx) - 1; - cw = -1; - - for (i = 0; i < numChars; i++) - { - cw = charWidth(t->textPtr[i]); - tx2 = tx + cw; - - if (mx >= tx && mx < tx2) - { - t->cursorPos = i; - break; - } - - tx += cw; - } - - // set to last character if we clicked outside the end of the text - if (i == numChars && mx >= tx) - t->cursorPos = numChars; - - if (cw != -1) - { - cursorPos = cursorPosToX(t); - - // scroll buffer to the right if needed - if (cursorPos+cw > t->renderW) - scrollTextBufferRight(t, numChars); - - // scroll buffer to the left if needed - else if (cursorPos < 0-1) - scrollTextBufferLeft(t); - } - - editor.textCursorBlinkCounter = 0; -} - -static void textOutBuf(uint8_t *dstBuffer, uint32_t dstWidth, uint8_t paletteIndex, char *text, uint32_t maxTextLen) -{ - char chr; - uint8_t *dstPtr; - const uint8_t *srcPtr; - uint16_t currX; - - assert(text != NULL); - if (*text == '\0') - return; // empty string - - currX = 0; - for (uint32_t i = 0; i < maxTextLen; i++) - { - chr = *text++ & 0x7F; - if (chr == '\0') - break; - - if (chr != ' ') - { - srcPtr = &font1Data[chr * FONT1_CHAR_W]; - dstPtr = &dstBuffer[currX]; - - for (uint32_t y = 0; y < FONT1_CHAR_H; y++) - { - for (uint32_t x = 0; x < FONT1_CHAR_W; x++) - { - if (srcPtr[x]) - dstPtr[x] = paletteIndex; - } - - srcPtr += FONT1_WIDTH; - dstPtr += dstWidth; - } - } - - currX += charWidth(chr); - } -} - -static void blitClipW(uint16_t xPos, uint16_t yPos, const uint8_t *srcPtr, uint16_t w, uint16_t h, uint16_t clipW) -{ - uint16_t blitW; - uint32_t *dstPtr; - - blitW = w; - if (blitW > clipW) - blitW = clipW; - - assert(xPos < SCREEN_W && yPos < SCREEN_H && xPos+blitW <= SCREEN_W && yPos+h <= SCREEN_H && srcPtr != NULL); - - dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; - for (uint32_t y = 0; y < h; y++) - { - for (uint32_t x = 0; x < blitW; x++) - { - if (srcPtr[x] != PAL_TRANSPR) - dstPtr[x] = video.palette[srcPtr[x]]; - } - - srcPtr += w; - dstPtr += SCREEN_W; - } -} - - // a lot of filling here, but textboxes are small so no problem... -void drawTextBox(uint16_t textBoxID) -{ - char ch; - int8_t cw; - uint8_t pal; - int32_t start, end, x1, x2, length; - textBox_t *t; - - assert(textBoxID < NUM_TEXTBOXES); - t = &textBoxes[textBoxID]; - if (!t->visible) - return; - - // test if buffer offset is not overflowing -#ifdef _DEBUG - if (t->renderBufW > t->renderW) - assert(t->bufOffset <= t->renderBufW-t->renderW); -#endif - - // fill text rendering buffer with transparency key - memset(t->renderBuf, PAL_TRANSPR, t->renderBufW * t->renderBufH); - - if (t->textPtr == NULL) - return; - - // draw text mark background - if (textIsMarked()) - { - hideSprite(SPRITE_TEXT_CURSOR); - - start = getTextMarkStart(); - end = getTextMarkEnd(); - - assert(start < t->maxChars && end <= t->maxChars); - - // find pixel start/length from markX1 and markX2 - - x1 = 0; x2 = 0; - for (int32_t i = 0; i < end; i++) - { - ch = t->textPtr[i]; - if (ch == '\0') - break; - - cw = charWidth(ch); - if (i < start) - x1 += cw; - - x2 += cw; - } - - // render text mark background - if (x1 != x2) - { - start = x1; - length = x2 - x1; - - assert(start+length <= t->renderBufW); - for (uint16_t y = 0; y < t->renderBufH; y++) - memset(&t->renderBuf[(y * t->renderBufW) + start], PAL_TEXTMRK, length); - } - } - - // render text to text render buffer - textOutBuf(t->renderBuf, t->renderBufW, PAL_FORGRND, t->textPtr, t->maxChars); - - // fill screen rect background color (not always needed, but I'm lazy) - pal = video.frameBuffer[(t->y * SCREEN_W) + t->x] >> 24; // get background palette (stored in alpha channel) - fillRect(t->x + t->tx, t->y + t->ty, t->renderW, 10, pal); // 10 = tallest possible glyph/char height - - // render visible part of text render buffer to screen - blitClipW(t->x + t->tx, t->y + t->ty, &t->renderBuf[t->bufOffset], t->renderBufW, t->renderBufH, t->renderW); -} - -void showTextBox(uint16_t textBoxID) -{ - assert(textBoxID < NUM_TEXTBOXES); - textBoxes[textBoxID].visible = true; -} - -void hideTextBox(uint16_t textBoxID) -{ - assert(textBoxID < NUM_TEXTBOXES); - hideSprite(SPRITE_TEXT_CURSOR); - textBoxes[textBoxID].visible = false; -} - -static void setMarkX2ToMouseX(textBox_t *t) -{ - int8_t cw; - int16_t i, numChars; - int32_t mx, tx, tx2; - - if (t->textPtr == NULL || t->textPtr[0] == '\0') - { - removeTextMarking(); - return; - } - - if (markX2 < markX1 && mouse.x < t->x+t->tx) - { - markX2 = 0; - return; - } - - numChars = getTextLength(t, 0); - - // find out what character we are clicking at, and set markX2 to that character - mx = t->bufOffset + mouse.x; - tx = (t->x + t->tx) - 1; - - for (i = 0; i < numChars; i++) - { - cw = charWidth(t->textPtr[i]); - tx2 = tx + cw; - - if (mx >= tx && mx < tx2) - { - markX2 = i; - break; - } - - tx += cw; - } - - // set to last character if we clicked outside the end of the text - if (i == numChars && mx >= tx) - markX2 = numChars; - - if (mouse.x >= t->x+t->w-3) - { - scrollTextBufferRight(t, numChars); - if (++markX2 > numChars) - markX2 = numChars; - } - else if (mouse.x <= t->x+t->tx+3) - { - if (t->bufOffset > 0) - { - scrollTextBufferLeft(t); - if (--markX2 < 0) - markX2 = 0; - } - } - - t->cursorPos = markX2; - assert(t->cursorPos >= 0 && t->cursorPos <= getTextLength(t, 0)); - - editor.textCursorBlinkCounter = 0; -} - -void handleTextBoxWhileMouseDown(void) -{ - textBox_t *t; - - assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_TEXTBOXES); - t = &textBoxes[mouse.lastUsedObjectID]; - if (!t->visible) - return; - - if (mouse.x != oldMouseX) - { - oldMouseX = mouse.x; - - markX1 = oldCursorPos; - setMarkX2ToMouseX(t); - - drawTextBox(mouse.lastUsedObjectID); - } -} - -bool testTextBoxMouseDown(void) -{ - uint16_t start, end; - textBox_t *t; - - oldMouseX = mouse.x; - oldCursorPos = 0; - - if (editor.ui.sysReqShown) - { - // if a system request is open, only test the first textbox (reserved) - start = 0; - end = 1; - } - else - { - start = 1; - end = NUM_TEXTBOXES; - } - - for (uint16_t i = start; i < end; i++) - { - t = &textBoxes[i]; - if (!t->visible || t->textPtr == NULL) - continue; - - if (mouse.y >= t->y && mouse.y < t->y+t->h && - mouse.x >= t->x && mouse.x < t->x+t->w) - { - if (!mouse.rightButtonPressed && t->rightMouseButton) - break; - - // if we were editing another text box and clicked on another one, properly end it - if (editor.editTextFlag && i != mouse.lastEditBox) - exitTextEditing(); - - mouse.lastEditBox = i; - moveTextCursorToMouseX(mouse.lastEditBox); - - oldCursorPos = t->cursorPos; - removeTextMarking(); - drawTextBox(mouse.lastEditBox); - - editor.textCursorBlinkCounter = 0; - mouse.lastUsedObjectType = OBJECT_TEXTBOX; - mouse.lastUsedObjectID = i; - - editor.editTextFlag = true; - - SDL_StartTextInput(); - return true; - } - } - - // if we were editing text and we clicked outside of a text box, exit text editing - if (editor.editTextFlag) - exitTextEditing(); - - return false; -} - -void updateTextBoxPointers(void) -{ - uint8_t i; - instrTyp *curIns = instr[editor.curInstr]; - - // instrument names - for (i = 0; i < 8; i++) - textBoxes[TB_INST1+i].textPtr = song.instrName[1+editor.instrBankOffset+i]; - - // sample names - if (editor.curInstr == 0 || curIns == NULL) - { - for (i = 0; i < 5; i++) - textBoxes[TB_SAMP1+i].textPtr = NULL; - } - else - { - for (i = 0; i < 5; i++) - textBoxes[TB_SAMP1+i].textPtr = curIns->samp[editor.sampleBankOffset+i].name; - } - - // song name - textBoxes[TB_SONG_NAME].textPtr = song.name; -} - -void setupInitialTextBoxPointers(void) -{ - textBoxes[TB_CONF_DEF_MODS_DIR].textPtr = config.modulesPath; - textBoxes[TB_CONF_DEF_INSTRS_DIR].textPtr = config.instrPath; - textBoxes[TB_CONF_DEF_SAMPS_DIR].textPtr = config.samplesPath; - textBoxes[TB_CONF_DEF_PATTS_DIR].textPtr = config.patternsPath; - textBoxes[TB_CONF_DEF_TRACKS_DIR].textPtr = config.tracksPath; -} - -void setTextCursorToEnd(textBox_t *t) -{ - char ch; - uint16_t numChars; - uint32_t textWidth; - - // count number of chars and get full text width - textWidth = 0; - for (numChars = 0; numChars < t->maxChars; numChars++) - { - ch = t->textPtr[numChars]; - if (ch == '\0') - break; - - textWidth += charWidth(ch); - } - - // if cursor is not at the end, handle text marking - if (t->cursorPos < numChars) - { - if (keyb.leftShiftPressed) - { - if (!textIsMarked()) - markX1 = t->cursorPos; - - markX2 = numChars; - } - else - { - removeTextMarking(); - } - } - - t->cursorPos = numChars; - - t->bufOffset = 0; - if (textWidth > t->renderW) - t->bufOffset = textWidth - t->renderW; - - drawTextBox(mouse.lastEditBox); - editor.textCursorBlinkCounter = 0; -} - -void handleTextEditControl(SDL_Keycode keycode) -{ - int16_t i; - uint16_t numChars; - int32_t textLength; - uint32_t textWidth; - textBox_t *t; - - assert(mouse.lastEditBox >= 0 && mouse.lastEditBox < NUM_TEXTBOXES); - - t = &textBoxes[mouse.lastEditBox]; - assert(t->textPtr != NULL); - - switch (keycode) - { - case SDLK_ESCAPE: - { - removeTextMarking(); - exitTextEditing(); - } - break; - - case SDLK_a: - { - // CTRL+A - mark all text - if (keyb.ctrlPressed || keyb.commandPressed) - { - // count number of chars and get full text width - textWidth = 0; - for (numChars = 0; numChars < t->maxChars; numChars++) - { - if (t->textPtr[numChars] == '\0') - break; - - textWidth += charWidth(t->textPtr[numChars]); - } - - markX1 = 0; - markX2 = numChars; - t->cursorPos = markX2; - - t->bufOffset = 0; - if (textWidth > t->renderW) - t->bufOffset = textWidth - t->renderW; - - drawTextBox(mouse.lastEditBox); - } - } - break; - - case SDLK_x: - { - // CTRL+X - cut marked text - if (keyb.ctrlPressed || keyb.commandPressed) - cutMarkedText(t); - } - break; - - case SDLK_c: - { - // CTRL+C - copy marked text - if (keyb.ctrlPressed || keyb.commandPressed) - copyMarkedText(t); - } - break; - - case SDLK_v: - { - // CTRL+V - paste text - if (keyb.ctrlPressed || keyb.commandPressed) - pasteText(t); - } - break; - - case SDLK_KP_ENTER: - case SDLK_RETURN: - { - // ALT+ENTER = toggle fullscreen, even while text editing - if (keyb.leftAltPressed) - toggleFullScreen(); - else - exitTextEditing(); - } - break; - - case SDLK_LEFT: - { - if (keyb.leftShiftPressed) - { - if (!textIsMarked()) - { - // no marking, mark character to left from cursor - if (t->cursorPos > 0) - { - markX1 = t->cursorPos; - moveTextCursorLeft(mouse.lastEditBox, TEXTBOX_NO_UPDATE); - markX2 = t->cursorPos; - - drawTextBox(mouse.lastEditBox); - } - } - else - { - // marking, extend/shrink marking - if (markX2 > 0) - { - t->cursorPos = markX2; - markX2--; - moveTextCursorLeft(mouse.lastEditBox, TEXTBOX_NO_UPDATE); - drawTextBox(mouse.lastEditBox); - } - } - } - else - { - if (textIsMarked()) - { - setCursorToMarkStart(t); - removeTextMarking(); - } - else - { - removeTextMarking(); - moveTextCursorLeft(mouse.lastEditBox, TEXTBOX_NO_UPDATE); - } - - drawTextBox(mouse.lastEditBox); - } - } - break; - - case SDLK_RIGHT: - { - if (keyb.leftShiftPressed) - { - textLength = getTextLength(t, 0); - - if (!textIsMarked()) - { - if (t->cursorPos < textLength) - { - markX1 = t->cursorPos; - moveTextCursorRight(mouse.lastEditBox, TEXTBOX_NO_UPDATE); - markX2 = t->cursorPos; - - drawTextBox(mouse.lastEditBox); - } - } - else - { - // marking, extend/shrink marking - if (markX2 < textLength) - { - t->cursorPos = markX2; - markX2++; - moveTextCursorRight(mouse.lastEditBox, TEXTBOX_NO_UPDATE); - drawTextBox(mouse.lastEditBox); - } - } - } - else - { - if (textIsMarked()) - { - setCursorToMarkEnd(t); - removeTextMarking(); - } - else - { - removeTextMarking(); - moveTextCursorRight(mouse.lastEditBox, TEXTBOX_NO_UPDATE); - } - - drawTextBox(mouse.lastEditBox); - } - } - break; - - case SDLK_BACKSPACE: - { - if (textIsMarked()) - { - deleteMarkedText(t); - removeTextMarking(); - drawTextBox(mouse.lastEditBox); - break; - } - - removeTextMarking(); - - if (t->cursorPos > 0 && t->textPtr[0] != '\0') - { - // scroll buffer offset if we are scrolled - if (t->bufOffset > 0) - { - t->bufOffset -= charWidth(t->textPtr[t->cursorPos-1]); - if (t->bufOffset < 0) - t->bufOffset = 0; - } - - moveTextCursorLeft(mouse.lastEditBox, TEXTBOX_UPDATE); - - i = t->cursorPos; - while (i < t->maxChars) - { - t->textPtr[i] = t->textPtr[i+1]; - if (t->textPtr[i] == '\0') - break; - i++; - } - - drawTextBox(mouse.lastEditBox); - setSongModifiedFlagIfNeeded(); - } - } - break; - - case SDLK_DELETE: - { - if (textIsMarked()) - { - deleteMarkedText(t); - removeTextMarking(); - drawTextBox(mouse.lastEditBox); - break; - } - - if (t->textPtr[t->cursorPos] != '\0' && t->textPtr[0] != '\0' && t->cursorPos < t->maxChars) - { - // scroll buffer offset if we are scrolled - if (t->bufOffset > 0) - { - t->bufOffset -= charWidth(t->textPtr[t->cursorPos]); - if (t->bufOffset < 0) - t->bufOffset = 0; - } - - i = t->cursorPos; - while (i < t->maxChars) - { - if (t->textPtr[i] == '\0') - break; - - t->textPtr[i] = t->textPtr[i+1]; - i++; - } - - drawTextBox(mouse.lastEditBox); - setSongModifiedFlagIfNeeded(); - } - } - break; - - case SDLK_HOME: - { - if (keyb.leftShiftPressed) - { - if (!textIsMarked()) - markX1 = t->cursorPos; - - markX2 = 0; - t->bufOffset = 0; - t->cursorPos = 0; - } - else - { - removeTextMarking(); - - if (t->cursorPos > 0) - { - t->cursorPos = 0; - t->bufOffset = 0; - - editor.textCursorBlinkCounter = 0; - } - } - - drawTextBox(mouse.lastEditBox); - } - break; - - case SDLK_END: - { - setTextCursorToEnd(t); - } - break; - - default: break; - } -} - -void handleTextEditInputChar(char textChar) -{ - int8_t ch; - int16_t i; - textBox_t *t; - - assert(mouse.lastEditBox >= 0 && mouse.lastEditBox < NUM_TEXTBOXES); - - t = &textBoxes[mouse.lastEditBox]; - if (t->textPtr == NULL) - return; - - ch = (int8_t)textChar; - if (ch < 32 && ch != -124 && ch != -108 && ch != -122 && ch != -114 && ch != -103 && ch != -113) - return; // allow certain codepage 437 nordic characters - - if (textIsMarked()) - { - deleteMarkedText(t); - removeTextMarking(); - } - - if (t->cursorPos >= 0 && t->cursorPos < t->maxChars) - { - i = getTextLength(t, 0); - if (i < t->maxChars) // do we have room for a new character? - { - t->textPtr[i+1] = '\0'; - - // if string not empty, shift string to the right to make space for char insertion - if (i > 0) - { - for (; i > t->cursorPos; i--) - t->textPtr[i] = t->textPtr[i-1]; - } - - t->textPtr[t->cursorPos] = textChar; - - moveTextCursorRight(mouse.lastEditBox, TEXTBOX_UPDATE); // also updates textbox - setSongModifiedFlagIfNeeded(); - } - } -} - -static void moveTextCursorLeft(int16_t i, bool updateTextBox) -{ - textBox_t *t; - - t = &textBoxes[i]; - if (t->cursorPos == 0) - return; - - t->cursorPos--; - - // scroll buffer if needed - if (cursorPosToX(t) < 0-1) - scrollTextBufferLeft(t); - - if (updateTextBox) - drawTextBox(i); - - editor.textCursorBlinkCounter = 0; // reset text cursor blink timer -} - -static void moveTextCursorRight(int16_t i, bool updateTextBox) -{ - uint16_t numChars; - textBox_t *t; - - t = &textBoxes[i]; - - numChars = getTextLength(t, 0); - if (t->cursorPos >= numChars) - return; - - t->cursorPos++; - - // scroll buffer if needed - if (cursorPosToX(t) >= t->renderW) - scrollTextBufferRight(t, numChars); - - if (updateTextBox) - drawTextBox(i); - - editor.textCursorBlinkCounter = 0; // reset text cursor blink timer -} - -void freeTextBoxes(void) -{ - textBox_t *t; - - // free text box buffers (skip first entry, it's reserved for inputBox()) - for (int32_t i = 1; i < NUM_TEXTBOXES; i++) - { - t = &textBoxes[i]; - if (t->renderBuf != NULL) - { - free(t->renderBuf); - t->renderBuf = NULL; - } - } -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include "ft2_header.h" +#include "ft2_gui.h" +#include "ft2_video.h" +#include "ft2_config.h" +#include "ft2_diskop.h" +#include "ft2_keyboard.h" +#include "ft2_gfxdata.h" +#include "ft2_mouse.h" + +textBox_t textBoxes[NUM_TEXTBOXES] = +{ + // ------ RESERVED TEXTBOXES ------ + { 0 }, + + /* + ** -- STRUCT INFO: -- + ** x = x position + ** y = y position + ** w = width + ** h = height + ** tx = left padding for text + ** ty = top padding for text + ** maxc = max characters in box string + ** rmb = can only be triggered with right mouse button (f.ex. tracker instrument texts) + ** cmc = change mouse cursor when hovering over it + */ + + // ------ INSTRUMENT/SAMPLE/SONG NAME TEXTBOXES ------ + // x, y, w, h, tx,ty, maxc, rmb, cmc + { 446, 5, 140, 10, 1, 0, 22, true, false }, + { 446, 16, 140, 10, 1, 0, 22, true, false }, + { 446, 27, 140, 10, 1, 0, 22, true, false }, + { 446, 38, 140, 10, 1, 0, 22, true, false }, + { 446, 49, 140, 10, 1, 0, 22, true, false }, + { 446, 60, 140, 10, 1, 0, 22, true, false }, + { 446, 71, 140, 10, 1, 0, 22, true, false }, + { 446, 82, 140, 10, 1, 0, 22, true, false }, + { 446, 99, 116, 10, 1, 0, 22, true, false }, + { 446, 110, 116, 10, 1, 0, 22, true, false }, + { 446, 121, 116, 10, 1, 0, 22, true, false }, + { 446, 132, 116, 10, 1, 0, 22, true, false }, + { 446, 143, 116, 10, 1, 0, 22, true, false }, + { 424, 158, 160, 12, 2, 1, 20, false, true }, + + // ------ DISK OP. TEXTBOXES ------ + // x, y, w, h, tx,ty, maxc, rmb, cmc + { 31, 158, 134, 12, 2, 1, PATH_MAX-1, false, true }, + + // ------ CONFIG TEXTBOXES ------ + // x, y, w, h, tx,ty, maxc, rmb, cmc + { 486, 16, 143, 12, 2, 1, 80, false, true }, + { 486, 31, 143, 12, 2, 1, 80, false, true }, + { 486, 46, 143, 12, 2, 1, 80, false, true }, + { 486, 61, 143, 12, 2, 1, 80, false, true }, + { 486, 76, 143, 12, 2, 1, 80, false, true } +}; + +static int16_t markX1, markX2; +static uint16_t oldCursorPos, oldMouseX; + +static void moveTextCursorLeft(int16_t i, bool updateTextBox); +static void moveTextCursorRight(int16_t i, bool updateTextBox); + +static void setSongModifiedFlagIfNeeded(void) // called during keystrokes in text boxes +{ + if (mouse.lastEditBox == TB_SONG_NAME || + (mouse.lastEditBox >= TB_INST1 && mouse.lastEditBox <= TB_INST8) || + (mouse.lastEditBox >= TB_SAMP1 && mouse.lastEditBox <= TB_SAMP5)) + { + setSongModifiedFlag(); + } +} + +bool textIsMarked(void) +{ + if (markX1 == markX2) + return false; + + return true; +} + +static void removeTextMarking(void) +{ + markX1 = 0; + markX2 = 0; +} + +static int16_t getTextMarkStart(void) +{ + if (markX2 < markX1) + return markX2; + + return markX1; +} + +static int16_t getTextMarkEnd(void) +{ + if (markX1 > markX2) + return markX1; + + return markX2; +} + +static int16_t getTextLength(textBox_t *t, uint16_t offset) +{ + uint16_t i; + + if (t->textPtr == NULL || offset >= t->maxChars) + return 0; + + // count number of characters in text + for (i = offset; i < t->maxChars; i++) + { + if (t->textPtr[i] == '\0') + break; + } + + i -= offset; // i now contains string length + assert(i <= t->maxChars); + + return i; +} + +static void deleteMarkedText(textBox_t *t) +{ + int16_t start, end; + int32_t i, deleteTextWidth, length; + + if (!textIsMarked()) + return; + + start = getTextMarkStart(); + end = getTextMarkEnd(); + + assert(start < t->maxChars && end <= t->maxChars); + + // calculate pixel width of string to delete + deleteTextWidth = 0; + for (i = start; i < end; i++) + deleteTextWidth += charWidth(t->textPtr[i]); + + // copy markEnd part to markStart, and add null termination + length = (int32_t)strlen(&t->textPtr[end]); + if (length > 0) + memcpy(&t->textPtr[start], &t->textPtr[end], length); + t->textPtr[start+length] = '\0'; + + // scroll buffer offset to the left if we are scrolled + if (t->bufOffset >= deleteTextWidth) + t->bufOffset -= deleteTextWidth; + else + t->bufOffset = 0; + + // set text cursor to markStart + t->cursorPos = start; + + setSongModifiedFlagIfNeeded(); +} + +static void setCursorToMarkStart(textBox_t *t) +{ + char ch; + int16_t start; + int32_t startXPos; + + if (!textIsMarked()) + return; + + start = getTextMarkStart(); + assert(start < t->maxChars); + t->cursorPos = start; + + startXPos = 0; + for (int32_t i = 0; i < start; i++) + { + ch = t->textPtr[i]; + if (ch == '\0') + break; + + startXPos += charWidth(ch); + } + + // change buffer offset, if needed + if (startXPos < t->bufOffset) + t->bufOffset = startXPos; +} + +static void setCursorToMarkEnd(textBox_t *t) +{ + char ch; + int16_t end; + int32_t endXPos; + + if (!textIsMarked()) + return; + + end = getTextMarkEnd(); + assert(end <= t->maxChars); + t->cursorPos = end; + + endXPos = 0; + for (int32_t i = 0; i < end; i++) + { + ch = t->textPtr[i]; + if (ch == '\0') + break; + + endXPos += charWidth(ch); + } + + // change buffer offset, if needed + if (endXPos > t->bufOffset+t->renderW) + t->bufOffset = endXPos - t->renderW; +} + +static void copyMarkedText(textBox_t *t) +{ + int32_t length, start, end; + char *utf8Text, oldChar; + + if (!textIsMarked()) + return; + + start = getTextMarkStart(); + end = getTextMarkEnd(); + + assert(start < t->maxChars && end <= t->maxChars); + + length = end - start; + if (length < 1) + return; + + /* Change mark-end character to NUL so that we + * we only copy the marked section of the string. + * There's always room for a NUL at the end of + * the text box string, so this is safe. + */ + oldChar = t->textPtr[end]; + t->textPtr[end] = '\0'; + + utf8Text = cp437ToUtf8(&t->textPtr[start]); + if (utf8Text != NULL) + { + SDL_SetClipboardText(utf8Text); + free(utf8Text); + } + + t->textPtr[end] = oldChar; // set back original character +} + +static void cutMarkedText(textBox_t *t) +{ + if (!textIsMarked()) + return; + + copyMarkedText(t); + deleteMarkedText(t); + removeTextMarking(); + + drawTextBox(mouse.lastEditBox); +} + +static void pasteText(textBox_t *t) +{ + char *copiedText, *copiedTextUtf8, *endPart; + uint16_t endOffset; + int32_t textLength, roomLeft, copiedTextLength, endPartLength; + + if (!SDL_HasClipboardText()) + return; + + // if we've marked text, delete it and remove text marking + if (textIsMarked()) + { + deleteMarkedText(t); + removeTextMarking(); + } + + if (t->cursorPos >= t->maxChars) + return; + + textLength = getTextLength(t, 0); + + roomLeft = t->maxChars - textLength; + if (roomLeft <= 0) + return; // no more room! + + copiedTextUtf8 = SDL_GetClipboardText(); + + copiedText = utf8ToCp437(copiedTextUtf8, true); + if (copiedText == NULL) + return; + + copiedTextLength = (int32_t)strlen(copiedText); + if (copiedTextLength > roomLeft) + copiedTextLength = roomLeft; + + endOffset = t->cursorPos; + endPart = NULL; // prevent false compiler warning + + endPartLength = getTextLength(t, endOffset); + if (endPartLength > 0) + { + endPart = (char *)malloc(endPartLength + 1); + if (endPart == NULL) + { + free(copiedText); + okBox(0, "System message", "Not enough memory!"); + return; + } + } + + // make a copy of end data + if (endPartLength > 0) + { + memcpy(endPart, &t->textPtr[endOffset], endPartLength); + endPart[endPartLength] = '\0'; + } + + // paste copied data + memcpy(&t->textPtr[endOffset], copiedText, copiedTextLength); + t->textPtr[endOffset+copiedTextLength] = '\0'; + free(copiedText); + + // append end data + if (endPartLength > 0) + { + strcat(&t->textPtr[endOffset+copiedTextLength], endPart); + free(endPart); + } + + for (int32_t i = 0; i < copiedTextLength; i++) + moveTextCursorRight(mouse.lastEditBox, TEXTBOX_NO_UPDATE); + + drawTextBox(mouse.lastEditBox); + + setSongModifiedFlagIfNeeded(); +} + +void exitTextEditing(void) +{ + if (!editor.editTextFlag) + return; + + if (mouse.lastEditBox >= 0 && mouse.lastEditBox < NUM_TEXTBOXES) + { + textBoxes[mouse.lastEditBox].bufOffset = 0; + removeTextMarking(); + drawTextBox(mouse.lastEditBox); + } + + if (mouse.lastEditBox == TB_DISKOP_FILENAME && getDiskOpItem() == DISKOP_ITEM_MODULE) + { + updateCurrSongFilename(); // for window title + updateWindowTitle(true); + } + + keyb.ignoreCurrKeyUp = true; // prevent a note being played (on enter key) + editor.editTextFlag = false; + + hideSprite(SPRITE_TEXT_CURSOR); + SDL_StopTextInput(); +} + +static int16_t cursorPosToX(textBox_t *t) +{ + int32_t x; + + assert(t->textPtr != NULL); + + x = -1; // cursor starts one pixel before character + for (int16_t i = 0; i < t->cursorPos; i++) + x += charWidth(t->textPtr[i]); + + x -= t->bufOffset; // subtract by buffer offset to get real X position + return (int16_t)x; +} + +int16_t getTextCursorX(textBox_t *t) +{ + return t->x + t->tx + cursorPosToX(t); +} + +int16_t getTextCursorY(textBox_t *t) +{ + return t->y + t->ty; +} + +static void scrollTextBufferLeft(textBox_t *t) +{ + // scroll buffer and clamp + t->bufOffset -= TEXT_SCROLL_VALUE; + if (t->bufOffset < 0) + t->bufOffset = 0; +} + +static void scrollTextBufferRight(textBox_t *t, uint16_t numCharsInText) +{ + int32_t textEnd; + + assert(numCharsInText <= t->maxChars); + + // get end of text position + textEnd = 0; + for (uint16_t j = 0; j < numCharsInText; j++) + textEnd += charWidth(t->textPtr[j]); + + // subtract by text box width and clamp to 0 + textEnd -= t->renderW; + if (textEnd < 0) + textEnd = 0; + + // scroll buffer and clamp + t->bufOffset += TEXT_SCROLL_VALUE; + if (t->bufOffset > textEnd) + t->bufOffset = textEnd; +} + +static void moveTextCursorToMouseX(uint16_t textBoxID) +{ + int8_t cw; + int16_t i, numChars, cursorPos; + int32_t mx, tx, tx2; + textBox_t *t; + + t = &textBoxes[textBoxID]; + if ((mouse.x == t->x && t->bufOffset == 0) || t->textPtr == NULL || t->textPtr[0] == '\0') + { + t->cursorPos = 0; + return; + } + + numChars = getTextLength(t, 0); + + // find out what character we are clicking at, and set cursor to that character + mx = t->bufOffset + mouse.x; + tx = (t->x + t->tx) - 1; + cw = -1; + + for (i = 0; i < numChars; i++) + { + cw = charWidth(t->textPtr[i]); + tx2 = tx + cw; + + if (mx >= tx && mx < tx2) + { + t->cursorPos = i; + break; + } + + tx += cw; + } + + // set to last character if we clicked outside the end of the text + if (i == numChars && mx >= tx) + t->cursorPos = numChars; + + if (cw != -1) + { + cursorPos = cursorPosToX(t); + + // scroll buffer to the right if needed + if (cursorPos+cw > t->renderW) + scrollTextBufferRight(t, numChars); + + // scroll buffer to the left if needed + else if (cursorPos < 0-1) + scrollTextBufferLeft(t); + } + + editor.textCursorBlinkCounter = 0; +} + +static void textOutBuf(uint8_t *dstBuffer, uint32_t dstWidth, uint8_t paletteIndex, char *text, uint32_t maxTextLen) +{ + char chr; + uint8_t *dstPtr; + const uint8_t *srcPtr; + uint16_t currX; + + assert(text != NULL); + if (*text == '\0') + return; // empty string + + currX = 0; + for (uint32_t i = 0; i < maxTextLen; i++) + { + chr = *text++ & 0x7F; + if (chr == '\0') + break; + + if (chr != ' ') + { + srcPtr = &font1Data[chr * FONT1_CHAR_W]; + dstPtr = &dstBuffer[currX]; + + for (uint32_t y = 0; y < FONT1_CHAR_H; y++) + { + for (uint32_t x = 0; x < FONT1_CHAR_W; x++) + { + if (srcPtr[x]) + dstPtr[x] = paletteIndex; + } + + srcPtr += FONT1_WIDTH; + dstPtr += dstWidth; + } + } + + currX += charWidth(chr); + } +} + +static void blitClipW(uint16_t xPos, uint16_t yPos, const uint8_t *srcPtr, uint16_t w, uint16_t h, uint16_t clipW) +{ + uint16_t blitW; + uint32_t *dstPtr; + + blitW = w; + if (blitW > clipW) + blitW = clipW; + + assert(xPos < SCREEN_W && yPos < SCREEN_H && xPos+blitW <= SCREEN_W && yPos+h <= SCREEN_H && srcPtr != NULL); + + dstPtr = &video.frameBuffer[(yPos * SCREEN_W) + xPos]; + for (uint32_t y = 0; y < h; y++) + { + for (uint32_t x = 0; x < blitW; x++) + { + if (srcPtr[x] != PAL_TRANSPR) + dstPtr[x] = video.palette[srcPtr[x]]; + } + + srcPtr += w; + dstPtr += SCREEN_W; + } +} + + // a lot of filling here, but textboxes are small so no problem... +void drawTextBox(uint16_t textBoxID) +{ + char ch; + int8_t cw; + uint8_t pal; + int32_t start, end, x1, x2, length; + textBox_t *t; + + assert(textBoxID < NUM_TEXTBOXES); + t = &textBoxes[textBoxID]; + if (!t->visible) + return; + + // test if buffer offset is not overflowing +#ifdef _DEBUG + if (t->renderBufW > t->renderW) + assert(t->bufOffset <= t->renderBufW-t->renderW); +#endif + + // fill text rendering buffer with transparency key + memset(t->renderBuf, PAL_TRANSPR, t->renderBufW * t->renderBufH); + + if (t->textPtr == NULL) + return; + + // draw text mark background + if (textIsMarked()) + { + hideSprite(SPRITE_TEXT_CURSOR); + + start = getTextMarkStart(); + end = getTextMarkEnd(); + + assert(start < t->maxChars && end <= t->maxChars); + + // find pixel start/length from markX1 and markX2 + + x1 = 0; x2 = 0; + for (int32_t i = 0; i < end; i++) + { + ch = t->textPtr[i]; + if (ch == '\0') + break; + + cw = charWidth(ch); + if (i < start) + x1 += cw; + + x2 += cw; + } + + // render text mark background + if (x1 != x2) + { + start = x1; + length = x2 - x1; + + assert(start+length <= t->renderBufW); + for (uint16_t y = 0; y < t->renderBufH; y++) + memset(&t->renderBuf[(y * t->renderBufW) + start], PAL_TEXTMRK, length); + } + } + + // render text to text render buffer + textOutBuf(t->renderBuf, t->renderBufW, PAL_FORGRND, t->textPtr, t->maxChars); + + // fill screen rect background color (not always needed, but I'm lazy) + pal = video.frameBuffer[(t->y * SCREEN_W) + t->x] >> 24; // get background palette (stored in alpha channel) + fillRect(t->x + t->tx, t->y + t->ty, t->renderW, 10, pal); // 10 = tallest possible glyph/char height + + // render visible part of text render buffer to screen + blitClipW(t->x + t->tx, t->y + t->ty, &t->renderBuf[t->bufOffset], t->renderBufW, t->renderBufH, t->renderW); +} + +void showTextBox(uint16_t textBoxID) +{ + assert(textBoxID < NUM_TEXTBOXES); + textBoxes[textBoxID].visible = true; +} + +void hideTextBox(uint16_t textBoxID) +{ + assert(textBoxID < NUM_TEXTBOXES); + hideSprite(SPRITE_TEXT_CURSOR); + textBoxes[textBoxID].visible = false; +} + +static void setMarkX2ToMouseX(textBox_t *t) +{ + int8_t cw; + int16_t i, numChars; + int32_t mx, tx, tx2; + + if (t->textPtr == NULL || t->textPtr[0] == '\0') + { + removeTextMarking(); + return; + } + + if (markX2 < markX1 && mouse.x < t->x+t->tx) + { + markX2 = 0; + return; + } + + numChars = getTextLength(t, 0); + + // find out what character we are clicking at, and set markX2 to that character + mx = t->bufOffset + mouse.x; + tx = (t->x + t->tx) - 1; + + for (i = 0; i < numChars; i++) + { + cw = charWidth(t->textPtr[i]); + tx2 = tx + cw; + + if (mx >= tx && mx < tx2) + { + markX2 = i; + break; + } + + tx += cw; + } + + // set to last character if we clicked outside the end of the text + if (i == numChars && mx >= tx) + markX2 = numChars; + + if (mouse.x >= t->x+t->w-3) + { + scrollTextBufferRight(t, numChars); + if (++markX2 > numChars) + markX2 = numChars; + } + else if (mouse.x <= t->x+t->tx+3) + { + if (t->bufOffset > 0) + { + scrollTextBufferLeft(t); + if (--markX2 < 0) + markX2 = 0; + } + } + + t->cursorPos = markX2; + assert(t->cursorPos >= 0 && t->cursorPos <= getTextLength(t, 0)); + + editor.textCursorBlinkCounter = 0; +} + +void handleTextBoxWhileMouseDown(void) +{ + textBox_t *t; + + assert(mouse.lastUsedObjectID >= 0 && mouse.lastUsedObjectID < NUM_TEXTBOXES); + t = &textBoxes[mouse.lastUsedObjectID]; + if (!t->visible) + return; + + if (mouse.x != oldMouseX) + { + oldMouseX = mouse.x; + + markX1 = oldCursorPos; + setMarkX2ToMouseX(t); + + drawTextBox(mouse.lastUsedObjectID); + } +} + +bool testTextBoxMouseDown(void) +{ + uint16_t start, end; + textBox_t *t; + + oldMouseX = mouse.x; + oldCursorPos = 0; + + if (editor.ui.sysReqShown) + { + // if a system request is open, only test the first textbox (reserved) + start = 0; + end = 1; + } + else + { + start = 1; + end = NUM_TEXTBOXES; + } + + for (uint16_t i = start; i < end; i++) + { + t = &textBoxes[i]; + if (!t->visible || t->textPtr == NULL) + continue; + + if (mouse.y >= t->y && mouse.y < t->y+t->h && + mouse.x >= t->x && mouse.x < t->x+t->w) + { + if (!mouse.rightButtonPressed && t->rightMouseButton) + break; + + // if we were editing another text box and clicked on another one, properly end it + if (editor.editTextFlag && i != mouse.lastEditBox) + exitTextEditing(); + + mouse.lastEditBox = i; + moveTextCursorToMouseX(mouse.lastEditBox); + + oldCursorPos = t->cursorPos; + removeTextMarking(); + drawTextBox(mouse.lastEditBox); + + editor.textCursorBlinkCounter = 0; + mouse.lastUsedObjectType = OBJECT_TEXTBOX; + mouse.lastUsedObjectID = i; + + editor.editTextFlag = true; + + SDL_StartTextInput(); + return true; + } + } + + // if we were editing text and we clicked outside of a text box, exit text editing + if (editor.editTextFlag) + exitTextEditing(); + + return false; +} + +void updateTextBoxPointers(void) +{ + uint8_t i; + instrTyp *curIns = instr[editor.curInstr]; + + // instrument names + for (i = 0; i < 8; i++) + textBoxes[TB_INST1+i].textPtr = song.instrName[1+editor.instrBankOffset+i]; + + // sample names + if (editor.curInstr == 0 || curIns == NULL) + { + for (i = 0; i < 5; i++) + textBoxes[TB_SAMP1+i].textPtr = NULL; + } + else + { + for (i = 0; i < 5; i++) + textBoxes[TB_SAMP1+i].textPtr = curIns->samp[editor.sampleBankOffset+i].name; + } + + // song name + textBoxes[TB_SONG_NAME].textPtr = song.name; +} + +void setupInitialTextBoxPointers(void) +{ + textBoxes[TB_CONF_DEF_MODS_DIR].textPtr = config.modulesPath; + textBoxes[TB_CONF_DEF_INSTRS_DIR].textPtr = config.instrPath; + textBoxes[TB_CONF_DEF_SAMPS_DIR].textPtr = config.samplesPath; + textBoxes[TB_CONF_DEF_PATTS_DIR].textPtr = config.patternsPath; + textBoxes[TB_CONF_DEF_TRACKS_DIR].textPtr = config.tracksPath; +} + +void setTextCursorToEnd(textBox_t *t) +{ + char ch; + uint16_t numChars; + uint32_t textWidth; + + // count number of chars and get full text width + textWidth = 0; + for (numChars = 0; numChars < t->maxChars; numChars++) + { + ch = t->textPtr[numChars]; + if (ch == '\0') + break; + + textWidth += charWidth(ch); + } + + // if cursor is not at the end, handle text marking + if (t->cursorPos < numChars) + { + if (keyb.leftShiftPressed) + { + if (!textIsMarked()) + markX1 = t->cursorPos; + + markX2 = numChars; + } + else + { + removeTextMarking(); + } + } + + t->cursorPos = numChars; + + t->bufOffset = 0; + if (textWidth > t->renderW) + t->bufOffset = textWidth - t->renderW; + + drawTextBox(mouse.lastEditBox); + editor.textCursorBlinkCounter = 0; +} + +void handleTextEditControl(SDL_Keycode keycode) +{ + int16_t i; + uint16_t numChars; + int32_t textLength; + uint32_t textWidth; + textBox_t *t; + + assert(mouse.lastEditBox >= 0 && mouse.lastEditBox < NUM_TEXTBOXES); + + t = &textBoxes[mouse.lastEditBox]; + assert(t->textPtr != NULL); + + switch (keycode) + { + case SDLK_ESCAPE: + { + removeTextMarking(); + exitTextEditing(); + } + break; + + case SDLK_a: + { + // CTRL+A - mark all text + if (keyb.ctrlPressed || keyb.commandPressed) + { + // count number of chars and get full text width + textWidth = 0; + for (numChars = 0; numChars < t->maxChars; numChars++) + { + if (t->textPtr[numChars] == '\0') + break; + + textWidth += charWidth(t->textPtr[numChars]); + } + + markX1 = 0; + markX2 = numChars; + t->cursorPos = markX2; + + t->bufOffset = 0; + if (textWidth > t->renderW) + t->bufOffset = textWidth - t->renderW; + + drawTextBox(mouse.lastEditBox); + } + } + break; + + case SDLK_x: + { + // CTRL+X - cut marked text + if (keyb.ctrlPressed || keyb.commandPressed) + cutMarkedText(t); + } + break; + + case SDLK_c: + { + // CTRL+C - copy marked text + if (keyb.ctrlPressed || keyb.commandPressed) + copyMarkedText(t); + } + break; + + case SDLK_v: + { + // CTRL+V - paste text + if (keyb.ctrlPressed || keyb.commandPressed) + pasteText(t); + } + break; + + case SDLK_KP_ENTER: + case SDLK_RETURN: + { + // ALT+ENTER = toggle fullscreen, even while text editing + if (keyb.leftAltPressed) + toggleFullScreen(); + else + exitTextEditing(); + } + break; + + case SDLK_LEFT: + { + if (keyb.leftShiftPressed) + { + if (!textIsMarked()) + { + // no marking, mark character to left from cursor + if (t->cursorPos > 0) + { + markX1 = t->cursorPos; + moveTextCursorLeft(mouse.lastEditBox, TEXTBOX_NO_UPDATE); + markX2 = t->cursorPos; + + drawTextBox(mouse.lastEditBox); + } + } + else + { + // marking, extend/shrink marking + if (markX2 > 0) + { + t->cursorPos = markX2; + markX2--; + moveTextCursorLeft(mouse.lastEditBox, TEXTBOX_NO_UPDATE); + drawTextBox(mouse.lastEditBox); + } + } + } + else + { + if (textIsMarked()) + { + setCursorToMarkStart(t); + removeTextMarking(); + } + else + { + removeTextMarking(); + moveTextCursorLeft(mouse.lastEditBox, TEXTBOX_NO_UPDATE); + } + + drawTextBox(mouse.lastEditBox); + } + } + break; + + case SDLK_RIGHT: + { + if (keyb.leftShiftPressed) + { + textLength = getTextLength(t, 0); + + if (!textIsMarked()) + { + if (t->cursorPos < textLength) + { + markX1 = t->cursorPos; + moveTextCursorRight(mouse.lastEditBox, TEXTBOX_NO_UPDATE); + markX2 = t->cursorPos; + + drawTextBox(mouse.lastEditBox); + } + } + else + { + // marking, extend/shrink marking + if (markX2 < textLength) + { + t->cursorPos = markX2; + markX2++; + moveTextCursorRight(mouse.lastEditBox, TEXTBOX_NO_UPDATE); + drawTextBox(mouse.lastEditBox); + } + } + } + else + { + if (textIsMarked()) + { + setCursorToMarkEnd(t); + removeTextMarking(); + } + else + { + removeTextMarking(); + moveTextCursorRight(mouse.lastEditBox, TEXTBOX_NO_UPDATE); + } + + drawTextBox(mouse.lastEditBox); + } + } + break; + + case SDLK_BACKSPACE: + { + if (textIsMarked()) + { + deleteMarkedText(t); + removeTextMarking(); + drawTextBox(mouse.lastEditBox); + break; + } + + removeTextMarking(); + + if (t->cursorPos > 0 && t->textPtr[0] != '\0') + { + // scroll buffer offset if we are scrolled + if (t->bufOffset > 0) + { + t->bufOffset -= charWidth(t->textPtr[t->cursorPos-1]); + if (t->bufOffset < 0) + t->bufOffset = 0; + } + + moveTextCursorLeft(mouse.lastEditBox, TEXTBOX_UPDATE); + + i = t->cursorPos; + while (i < t->maxChars) + { + t->textPtr[i] = t->textPtr[i+1]; + if (t->textPtr[i] == '\0') + break; + i++; + } + + drawTextBox(mouse.lastEditBox); + setSongModifiedFlagIfNeeded(); + } + } + break; + + case SDLK_DELETE: + { + if (textIsMarked()) + { + deleteMarkedText(t); + removeTextMarking(); + drawTextBox(mouse.lastEditBox); + break; + } + + if (t->textPtr[t->cursorPos] != '\0' && t->textPtr[0] != '\0' && t->cursorPos < t->maxChars) + { + // scroll buffer offset if we are scrolled + if (t->bufOffset > 0) + { + t->bufOffset -= charWidth(t->textPtr[t->cursorPos]); + if (t->bufOffset < 0) + t->bufOffset = 0; + } + + i = t->cursorPos; + while (i < t->maxChars) + { + if (t->textPtr[i] == '\0') + break; + + t->textPtr[i] = t->textPtr[i+1]; + i++; + } + + drawTextBox(mouse.lastEditBox); + setSongModifiedFlagIfNeeded(); + } + } + break; + + case SDLK_HOME: + { + if (keyb.leftShiftPressed) + { + if (!textIsMarked()) + markX1 = t->cursorPos; + + markX2 = 0; + t->bufOffset = 0; + t->cursorPos = 0; + } + else + { + removeTextMarking(); + + if (t->cursorPos > 0) + { + t->cursorPos = 0; + t->bufOffset = 0; + + editor.textCursorBlinkCounter = 0; + } + } + + drawTextBox(mouse.lastEditBox); + } + break; + + case SDLK_END: + { + setTextCursorToEnd(t); + } + break; + + default: break; + } +} + +void handleTextEditInputChar(char textChar) +{ + int8_t ch; + int16_t i; + textBox_t *t; + + assert(mouse.lastEditBox >= 0 && mouse.lastEditBox < NUM_TEXTBOXES); + + t = &textBoxes[mouse.lastEditBox]; + if (t->textPtr == NULL) + return; + + ch = (int8_t)textChar; + if (ch < 32 && ch != -124 && ch != -108 && ch != -122 && ch != -114 && ch != -103 && ch != -113) + return; // allow certain codepage 437 nordic characters + + if (textIsMarked()) + { + deleteMarkedText(t); + removeTextMarking(); + } + + if (t->cursorPos >= 0 && t->cursorPos < t->maxChars) + { + i = getTextLength(t, 0); + if (i < t->maxChars) // do we have room for a new character? + { + t->textPtr[i+1] = '\0'; + + // if string not empty, shift string to the right to make space for char insertion + if (i > 0) + { + for (; i > t->cursorPos; i--) + t->textPtr[i] = t->textPtr[i-1]; + } + + t->textPtr[t->cursorPos] = textChar; + + moveTextCursorRight(mouse.lastEditBox, TEXTBOX_UPDATE); // also updates textbox + setSongModifiedFlagIfNeeded(); + } + } +} + +static void moveTextCursorLeft(int16_t i, bool updateTextBox) +{ + textBox_t *t; + + t = &textBoxes[i]; + if (t->cursorPos == 0) + return; + + t->cursorPos--; + + // scroll buffer if needed + if (cursorPosToX(t) < 0-1) + scrollTextBufferLeft(t); + + if (updateTextBox) + drawTextBox(i); + + editor.textCursorBlinkCounter = 0; // reset text cursor blink timer +} + +static void moveTextCursorRight(int16_t i, bool updateTextBox) +{ + uint16_t numChars; + textBox_t *t; + + t = &textBoxes[i]; + + numChars = getTextLength(t, 0); + if (t->cursorPos >= numChars) + return; + + t->cursorPos++; + + // scroll buffer if needed + if (cursorPosToX(t) >= t->renderW) + scrollTextBufferRight(t, numChars); + + if (updateTextBox) + drawTextBox(i); + + editor.textCursorBlinkCounter = 0; // reset text cursor blink timer +} + +void freeTextBoxes(void) +{ + textBox_t *t; + + // free text box buffers (skip first entry, it's reserved for inputBox()) + for (int32_t i = 1; i < NUM_TEXTBOXES; i++) + { + t = &textBoxes[i]; + if (t->renderBuf != NULL) + { + free(t->renderBuf); + t->renderBuf = NULL; + } + } +} diff --git a/src/ft2_textboxes.h b/src/ft2_textboxes.h index b0d12e0..d9ac1ac 100644 --- a/src/ft2_textboxes.h +++ b/src/ft2_textboxes.h @@ -1,78 +1,78 @@ -#pragma once - -#include -#include -#include - -enum // TEXTBOXES -{ - TB_RES_1, // reserved - - TB_INST1, - TB_INST2, - TB_INST3, - TB_INST4, - TB_INST5, - TB_INST6, - TB_INST7, - TB_INST8, - - TB_SAMP1, - TB_SAMP2, - TB_SAMP3, - TB_SAMP4, - TB_SAMP5, - - TB_SONG_NAME, - - TB_DISKOP_FILENAME, - - TB_CONF_DEF_MODS_DIR, - TB_CONF_DEF_INSTRS_DIR, - TB_CONF_DEF_SAMPS_DIR, - TB_CONF_DEF_PATTS_DIR, - TB_CONF_DEF_TRACKS_DIR, - - NUM_TEXTBOXES -}; - -#define TEXT_CURSOR_BLINK_RATE 6 -#define TEXT_SCROLL_VALUE 30 - -enum -{ - TEXTBOX_NO_UPDATE = 0, - TEXTBOX_UPDATE = 1 -}; - -typedef struct textBox_t // DO NOT TOUCH! -{ - uint16_t x, y, w; - uint8_t h, tx, ty; - uint16_t maxChars; - bool rightMouseButton, changeMouseCursor; - - // these ones are changed at run time - char *textPtr; - bool visible; - uint8_t *renderBuf; - int16_t cursorPos; - uint16_t renderW, renderBufW, renderBufH; - int32_t bufOffset; -} textBox_t; - -bool textIsMarked(void); -void exitTextEditing(void); -int16_t getTextCursorX(textBox_t *t); -int16_t getTextCursorY(textBox_t *t); -void drawTextBox(uint16_t textBoxID); -void showTextBox(uint16_t textBoxID); -void hideTextBox(uint16_t textBoxID); -bool testTextBoxMouseDown(void); -void updateTextBoxPointers(void); -void setupInitialTextBoxPointers(void); -void setTextCursorToEnd(textBox_t *t); -void handleTextEditControl(SDL_Keycode keycode); -void handleTextEditInputChar(char textChar); -void handleTextBoxWhileMouseDown(void); -void freeTextBoxes(void); +#pragma once + +#include +#include +#include + +enum // TEXTBOXES +{ + TB_RES_1, // reserved + + TB_INST1, + TB_INST2, + TB_INST3, + TB_INST4, + TB_INST5, + TB_INST6, + TB_INST7, + TB_INST8, + + TB_SAMP1, + TB_SAMP2, + TB_SAMP3, + TB_SAMP4, + TB_SAMP5, + + TB_SONG_NAME, + + TB_DISKOP_FILENAME, + + TB_CONF_DEF_MODS_DIR, + TB_CONF_DEF_INSTRS_DIR, + TB_CONF_DEF_SAMPS_DIR, + TB_CONF_DEF_PATTS_DIR, + TB_CONF_DEF_TRACKS_DIR, + + NUM_TEXTBOXES +}; + +#define TEXT_CURSOR_BLINK_RATE 6 +#define TEXT_SCROLL_VALUE 30 + +enum +{ + TEXTBOX_NO_UPDATE = 0, + TEXTBOX_UPDATE = 1 +}; + +typedef struct textBox_t // DO NOT TOUCH! +{ + uint16_t x, y, w; + uint8_t h, tx, ty; + uint16_t maxChars; + bool rightMouseButton, changeMouseCursor; + + // these ones are changed at run time + char *textPtr; + bool visible; + uint8_t *renderBuf; + int16_t cursorPos; + uint16_t renderW, renderBufW, renderBufH; + int32_t bufOffset; +} textBox_t; + +bool textIsMarked(void); +void exitTextEditing(void); +int16_t getTextCursorX(textBox_t *t); +int16_t getTextCursorY(textBox_t *t); +void drawTextBox(uint16_t textBoxID); +void showTextBox(uint16_t textBoxID); +void hideTextBox(uint16_t textBoxID); +bool testTextBoxMouseDown(void); +void updateTextBoxPointers(void); +void setupInitialTextBoxPointers(void); +void setTextCursorToEnd(textBox_t *t); +void handleTextEditControl(SDL_Keycode keycode); +void handleTextEditInputChar(char textChar); +void handleTextBoxWhileMouseDown(void); +void freeTextBoxes(void); diff --git a/src/ft2_trim.c b/src/ft2_trim.c index adf213e..f52cdaf 100644 --- a/src/ft2_trim.c +++ b/src/ft2_trim.c @@ -1,1244 +1,1257 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include -#include -#include "ft2_header.h" -#include "ft2_sample_ed.h" -#include "ft2_gui.h" -#include "ft2_scopes.h" -#include "ft2_pattern_ed.h" -#include "ft2_replayer.h" -#include "ft2_audio.h" -#include "ft2_mouse.h" - -// Messy But Works™ - -static char byteFormatBuffer[64], tmpInstrName[1 + MAX_INST][22 + 1], tmpInstName[MAX_INST][22 + 1]; -static bool removePatt, removeInst, removeSamp, removeChans, removeSmpDataAfterLoop, convSmpsTo8Bit; -static uint8_t instrUsed[MAX_INST], instrOrder[MAX_INST], pattUsed[MAX_PATTERNS], pattOrder[MAX_PATTERNS]; -static int16_t oldPattLens[MAX_PATTERNS], tmpPattLens[MAX_PATTERNS]; -static int64_t xmSize64 = -1, xmAfterTrimSize64 = -1, spaceSaved64 = -1; -static tonTyp *oldPatts[MAX_PATTERNS], *tmpPatt[MAX_PATTERNS]; -static instrTyp *tmpInstr[1 + MAX_INST], *tmpInst[MAX_INST]; // tmpInstr[x] = copy of instr[x] for "after trim" size calculation -static SDL_Thread *trimThread; - -void pbTrimCalc(void); - -static void freeTmpInstruments(void) -{ - for (int16_t i = 0; i <= MAX_INST; i++) - { - if (tmpInstr[i] != NULL) - { - free(tmpInstr[i]); - tmpInstr[i] = NULL; - } - } -} - -static bool setTmpInstruments(void) -{ - freeTmpInstruments(); - - for (int16_t i = 0; i <= MAX_INST; i++) - { - if (instr[i] != NULL) - { - tmpInstr[i] = (instrTyp *)malloc(sizeof (instrTyp)); - if (tmpInstr[i] == NULL) - { - freeTmpInstruments(); - return false; - } - - memcpy(tmpInstr[i], instr[i], sizeof (instrTyp)); - } - } - - return true; -} - -static void remapInstrInSong(uint8_t src, uint8_t dst, int16_t ap) -{ - int32_t readLen; - tonTyp *pattPtr, *note; - - for (int16_t i = 0; i < ap; i++) - { - pattPtr = patt[i]; - if (pattPtr == NULL) - continue; - - readLen = pattLens[i] * MAX_VOICES; - for (int32_t j = 0; j < readLen; j++) - { - note = &pattPtr[j]; - if (note->instr == src) - note->instr = dst; - } - } -} - -static int16_t getUsedTempSamples(uint16_t nr) -{ - int16_t i, j; - instrTyp *ins; - - if (tmpInstr[nr] == NULL) - return 0; - - ins = tmpInstr[nr]; - - i = 16 - 1; - while (i >= 0 && ins->samp[i].pek == NULL && ins->samp[i].name[0] == '\0') - i--; - - /* Yes, 'i' can be -1 here, and will be set to at least 0 - ** because of ins->ta values. Possibly an FT2 bug... */ - for (j = 0; j < 96; j++) - { - if (ins->ta[j] > i) - i = ins->ta[j]; - } - - return i+1; -} - -static int64_t getTempInsAndSmpSize(void) -{ - int16_t a, j, ai; - int64_t currSize64; - instrTyp *ins; - - ai = MAX_INST; - while (ai > 0 && getUsedTempSamples(ai) == 0 && tmpInstrName[ai][0] == '\0') - ai--; - - currSize64 = 0; - - // count instrument and sample data size in song - for (int16_t i = 1; i <= ai; i++) - { - if (tmpInstr[i] == NULL) - j = 0; - else - j = i; - - a = getUsedTempSamples(i); - if (a > 0) - currSize64 += INSTR_HEADER_SIZE + (a * sizeof (sampleHeaderTyp)); - else - currSize64 += 22+11; - - ins = tmpInstr[j]; - for (int16_t k = 0; k < a; k++) - { - if (ins->samp[k].pek != NULL) - currSize64 += ins->samp[k].len; - } - } - - return currSize64; -} - -static void wipeInstrUnused(bool testWipeSize, int16_t *ai, int16_t ap, uint8_t antChn) -{ - uint8_t newInst; - int16_t numInsts, newNumInsts, instToDel, i, j, k, pattLen; - tonTyp *pattPtr; - - numInsts = *ai; - - // calculate what instruments are used - memset(instrUsed, 0, numInsts); - for (i = 0; i < ap; i++) - { - if (testWipeSize) - { - pattPtr = tmpPatt[i]; - pattLen = tmpPattLens[i]; - } - else - { - pattPtr = patt[i]; - pattLen = pattLens[i]; - } - - if (pattPtr == NULL) - continue; - - for (j = 0; j < pattLen; j++) - { - for (k = 0; k < antChn; k++) - { - newInst = pattPtr[(j * MAX_VOICES) + k].instr; - if (newInst > 0 && newInst <= MAX_INST) - instrUsed[newInst-1] = true; - } - } - } - - instToDel = 0; - newInst = 0; - newNumInsts = 0; - - memset(instrOrder, 0, numInsts); - for (i = 0; i < numInsts; i++) - { - if (instrUsed[i]) - { - newNumInsts++; - instrOrder[i] = newInst++; - } - else - { - instToDel++; - } - } - - if (instToDel == 0) - return; - - if (testWipeSize) - { - for (i = 0; i < numInsts; i++) - { - if (!instrUsed[i] && tmpInstr[1+i] != NULL) - { - free(tmpInstr[1+i]); - tmpInstr[1+i] = NULL; - } - } - - // relocate instruments - - memcpy(tmpInstName, &tmpInstrName[1], MAX_INST * sizeof (song.instrName[0])); - memcpy(tmpInst, &tmpInstr[1], MAX_INST * sizeof (instr[0])); - - memset(&tmpInstr[1], 0, numInsts * sizeof (tmpInstr[0])); - memset(&tmpInstrName[1], 0, numInsts * sizeof (tmpInstrName[0])); - - for (i = 0; i < numInsts; i++) - { - if (instrUsed[i]) - { - newInst = instrOrder[i]; - - memcpy(&tmpInstr[1+newInst], &tmpInst[i], sizeof (tmpInst[0])); - strcpy(tmpInstrName[1+newInst], tmpInstName[i]); - } - } - - *ai = newNumInsts; - return; - } - - // clear unused instruments - for (i = 0; i < numInsts; i++) - { - if (!instrUsed[i]) - freeInstr(1 + i); - } - - // relocate instruments - - memcpy(tmpInstName, &song.instrName[1], MAX_INST * sizeof (song.instrName[0])); - memcpy(tmpInst, &instr[1], MAX_INST * sizeof (instr[0])); - - memset(&instr[1], 0, numInsts * sizeof (instr[0])); - memset(song.instrName[1], 0, numInsts * sizeof (song.instrName[0])); - - for (i = 0; i < numInsts; i++) - { - if (instrUsed[i]) - { - newInst = instrOrder[i]; - remapInstrInSong(1 + (uint8_t)i, 1 + newInst, ap); - - memcpy(&instr[1+newInst], &tmpInst[i], sizeof (instr[0])); - strcpy(song.instrName[1+newInst], tmpInstName[i]); - } - } - - *ai = newNumInsts; - - setTmpInstruments(); -} - -static void wipePattsUnused(bool testWipeSize, int16_t *ap) -{ - uint8_t newPatt; - int16_t usedPatts, newUsedPatts, i, *pLens; - tonTyp **p; - - usedPatts = *ap; - memset(pattUsed, 0, usedPatts); - - newUsedPatts = 0; - for (i = 0; i < song.len; i++) - { - newPatt = song.songTab[i]; - if (newPatt < usedPatts && !pattUsed[newPatt]) - { - pattUsed[newPatt] = true; - newUsedPatts++; - } - } - - if (newUsedPatts == 0 || newUsedPatts == usedPatts) - return; // nothing to do! - - newPatt = 0; - memset(pattOrder, 0, usedPatts); - for (i = 0; i < usedPatts; i++) - { - if (pattUsed[i]) - pattOrder[i] = newPatt++; - } - - if (testWipeSize) - { - p = tmpPatt; - pLens = tmpPattLens; - } - else - { - p = patt; - pLens = pattLens; - } - - memcpy(oldPatts, p, usedPatts * sizeof (tonTyp *)); - memcpy(oldPattLens, pLens, usedPatts * sizeof (int16_t)); - memset(p, 0, usedPatts * sizeof (tonTyp *)); - memset(pLens, 0, usedPatts * sizeof (int16_t)); - - // relocate patterns - for (i = 0; i < usedPatts; i++) - { - p[i] = NULL; - - if (!pattUsed[i]) - { - if (!testWipeSize && oldPatts[i] != NULL) - { - free(oldPatts[i]); - oldPatts[i] = NULL; - } - } - else - { - newPatt = pattOrder[i]; - p[newPatt] = oldPatts[i]; - pLens[newPatt] = oldPattLens[i]; - } - } - - if (!testWipeSize) - { - for (i = 0; i < MAX_PATTERNS; i++) - { - if (patt[i] == NULL) - pattLens[i] = 64; - } - - // reorder order list (and clear unused entries) - for (i = 0; i < 256; i++) - { - if (i < song.len) - song.songTab[i] = pattOrder[song.songTab[i]]; - else - song.songTab[i] = 0; - } - } - - *ap = newUsedPatts; -} - -static void wipeSamplesUnused(bool testWipeSize, int16_t ai) -{ - uint8_t newSamp, smpUsed[16], smpOrder[16]; - int16_t i, j, k, l; - instrTyp *ins; - sampleTyp *s, tempSamples[16]; - - for (i = 1; i <= ai; i++) - { - if (!testWipeSize) - { - if (instr[i] == NULL) - l = 0; - else - l = i; - - ins = instr[l]; - l = getUsedSamples(i); - } - else - { - if (tmpInstr[i] == NULL) - l = 0; - else - l = i; - - ins = tmpInstr[l]; - l = getUsedTempSamples(i); - } - - memset(smpUsed, 0, l); - if (l > 0) - { - for (j = 0; j < l; j++) - { - s = &ins->samp[j]; - - // check if sample is referenced in instrument - for (k = 0; k < 96; k++) - { - if (ins->ta[k] == j) - { - smpUsed[j] = true; - break; // sample is used - } - } - - if (k == 96) - { - // sample is unused - - if (s->pek != NULL && !testWipeSize) - free(s->pek); - - memset(s, 0, sizeof (sampleTyp)); - s->pek = NULL; - } - } - - // create re-order list - newSamp = 0; - memset(smpOrder, 0, l); - for (j = 0; j < l; j++) - { - if (smpUsed[j]) - smpOrder[j] = newSamp++; - } - - // re-order samples - - memcpy(tempSamples, ins->samp, l * sizeof (sampleTyp)); - memset(ins->samp, 0, l * sizeof (sampleTyp)); - - for (j = 0; j < l; j++) - { - if (smpUsed[j]) - ins->samp[smpOrder[j]] = tempSamples[j]; - } - - // re-order note->sample list - for (j = 0; j < 96; j++) - { - newSamp = ins->ta[j]; - if (smpUsed[newSamp]) - ins->ta[j] = smpOrder[newSamp]; - else - ins->ta[j] = 0; - } - } - } -} - -static void wipeSmpDataAfterLoop(bool testWipeSize, int16_t ai) -{ - int8_t *newPtr; - int16_t l; - instrTyp *ins; - sampleTyp *s; - - for (int16_t i = 1; i <= ai; i++) - { - if (!testWipeSize) - { - if (instr[i] == NULL) - l = 0; - else - l = i; - - ins = instr[l]; - l = getUsedSamples(i); - } - else - { - if (tmpInstr[i] == NULL) - l = 0; - else - l = i; - - ins = tmpInstr[l]; - l = getUsedTempSamples(i); - } - - for (int16_t j = 0; j < l; j++) - { - s = &ins->samp[j]; - if (s->pek != NULL && s->typ & 3 && s->len > 0 && s->len > s->repS+s->repL) - { - if (!testWipeSize) - restoreSample(s); - - s->len = s->repS + s->repL; - if (!testWipeSize) - { - if (s->len <= 0) - { - s->len = 0; - free(s->pek); - s->pek = NULL; - } - else - { - newPtr = (int8_t *)realloc(s->pek, s->len + LOOP_FIX_LEN); - if (newPtr != NULL) - s->pek = newPtr; - } - } - - if (!testWipeSize) - fixSample(s); - } - } - } -} - -static void convertSamplesTo8bit(bool testWipeSize, int16_t ai) -{ - int8_t *dst8, smp8, *newPtr; - int16_t *src16, k; - int32_t newLen; - instrTyp *ins; - sampleTyp *s; - - for (int16_t i = 1; i <= ai; i++) - { - if (!testWipeSize) - { - if (instr[i] == NULL) - k = 0; - else - k = i; - - ins = instr[k]; - k = getUsedSamples(i); - } - else - { - if (tmpInstr[i] == NULL) - k = 0; - else - k = i; - - ins = tmpInstr[k]; - k = getUsedTempSamples(i); - } - - for (int16_t j = 0; j < k; j++) - { - s = &ins->samp[j]; - if (s->pek != NULL && (s->typ & 16) && s->len > 0) - { - if (testWipeSize) - { - s->typ &= ~16; - s->len /= 2; - s->repL /= 2; - s->repS /= 2; - } - else - { - restoreSample(s); - - src16 = (int16_t *)s->pek; - dst8 = s->pek; - - newLen = s->len / 2; - for (int32_t a = 0; a < newLen; a++) - { - smp8 = src16[a] >> 8; - dst8[a] = smp8; - } - - s->repL /= 2; - s->repS /= 2; - s->len /= 2; - s->typ &= ~16; - - newPtr = (int8_t *)realloc(s->pek, s->len + LOOP_FIX_LEN); - if (newPtr != NULL) - s->pek = newPtr; - - fixSample(s); - } - } - } - } -} - -static uint16_t getPackedPattSize(tonTyp *pattern, uint16_t numRows, uint8_t antChn) -{ - uint8_t bytes[sizeof (tonTyp)], packBits, *writePtr, *firstBytePtr, *pattPtr; - uint16_t totalPackLen; - - totalPackLen = 0; - - pattPtr = (uint8_t *)pattern; - - writePtr = pattPtr; - for (uint16_t row = 0; row < numRows; row++) - { - for (uint16_t chn = 0; chn < antChn; chn++) - { - bytes[0] = *pattPtr++; - bytes[1] = *pattPtr++; - bytes[2] = *pattPtr++; - bytes[3] = *pattPtr++; - bytes[4] = *pattPtr++; - - firstBytePtr = writePtr++; - - packBits = 0; - if (bytes[0] > 0) { packBits |= 1; writePtr++; } // note - if (bytes[1] > 0) { packBits |= 2; writePtr++; } // instrument - if (bytes[2] > 0) { packBits |= 4; writePtr++; } // volume column - if (bytes[3] > 0) { packBits |= 8; writePtr++; } // effect - - if (packBits == 15) // first four bits set? - { - // no packing needed, write pattern data as is - totalPackLen += 5; - writePtr += 5; - - continue; - } - - if (bytes[4] > 0) writePtr++; // effect parameter - - totalPackLen += (uint16_t)(writePtr - firstBytePtr); // bytes writen - } - - // skip unused channels - pattPtr += sizeof (tonTyp) * (MAX_VOICES - antChn); - } - - return totalPackLen; -} - -static bool tmpPatternEmpty(uint16_t nr, uint8_t antChn) -{ - uint8_t *scanPtr; - uint32_t pattLen, scanLen; - - if (tmpPatt[nr] == NULL) - return true; - - scanPtr = (uint8_t *)tmpPatt[nr]; - scanLen = antChn * sizeof (tonTyp); - pattLen = tmpPattLens[nr]; - - for (uint32_t i = 0; i < pattLen; i++) - { - for (uint32_t j = 0; j < scanLen; j++) - { - if (scanPtr[j] != 0) - return false; - } - - scanPtr += sizeof (tonTyp) * MAX_VOICES; - } - - return true; -} - -static int64_t calculateXMSize(void) -{ - int16_t i, j, ap, ai, a; - int64_t currSize64; - instrTyp *ins; - - // count header size in song - currSize64 = sizeof (songHeaderTyp); - - // count number of patterns that would be saved - ap = MAX_PATTERNS; - do - { - if (patternEmpty(ap - 1)) - ap--; - else - break; - } - while (ap > 0); - - // count number of instruments - ai = 128; - while (ai > 0 && getUsedSamples(ai) == 0 && song.instrName[ai][0] == '\0') - ai--; - - // count packed pattern data size in song - for (i = 0; i < ap; i++) - { - currSize64 += sizeof (patternHeaderTyp); - if (!patternEmpty(i)) - currSize64 += getPackedPattSize(patt[i], pattLens[i], song.antChn); - } - - // count instrument and sample data size in song - for (i = 1; i <= ai; i++) - { - if (instr[i] == NULL) - j = 0; - else - j = i; - - a = getUsedSamples(i); - if (a > 0) - currSize64 += INSTR_HEADER_SIZE + (a * sizeof (sampleHeaderTyp)); - else - currSize64 += 22+11; - - ins = instr[j]; - for (int16_t k = 0; k < a; k++) - { - if (ins->samp[k].pek != NULL) - currSize64 += ins->samp[k].len; - } - } - - return currSize64; -} - -static int64_t calculateTrimSize(void) -{ - uint8_t antChn; - int16_t ap, i, j, k, ai, highestChan, pattLen; - int32_t pattDataLen, newPattDataLen; - int64_t bytes64, oldInstrSize64, newInstrSize64; - tonTyp *note, *pattPtr; - - antChn = song.antChn; - pattDataLen = 0; - newPattDataLen = 0; - bytes64 = 0; - oldInstrSize64 = 0; - - // copy over temp data - memcpy(tmpPatt, patt, sizeof (tmpPatt)); - memcpy(tmpPattLens, pattLens, sizeof (tmpPattLens)); - memcpy(tmpInstrName, song.instrName, sizeof (tmpInstrName)); - - if (!setTmpInstruments()) - { - okBox(0, "System message", "Not enough memory!"); - return 0; - } - - // get current size of all instruments and their samples - if (removeInst || removeSamp || removeSmpDataAfterLoop || convSmpsTo8Bit) - oldInstrSize64 = getTempInsAndSmpSize(); - - // count number of patterns that would be saved - ap = MAX_PATTERNS; - do - { - if (tmpPatternEmpty(ap - 1, antChn)) - ap--; - else - break; - } - while (ap > 0); - - // count number of instruments that would be saved - ai = MAX_INST; - while (ai > 0 && getUsedTempSamples(ai) == 0 && tmpInstrName[ai][0] == '\0') - ai--; - - // calculate "remove unused samples" size - if (removeSamp) wipeSamplesUnused(true, ai); - - // calculate "remove sample data after loop" size - if (removeSmpDataAfterLoop) wipeSmpDataAfterLoop(true, ai); - - // calculate "convert samples to 8-bit" size - if (convSmpsTo8Bit) convertSamplesTo8bit(true, ai); - - // get old pattern data length - if (removeChans || removePatt) - { - for (i = 0; i < ap; i++) - { - pattDataLen += sizeof (patternHeaderTyp); - if (!tmpPatternEmpty(i, antChn)) - pattDataLen += getPackedPattSize(tmpPatt[i], tmpPattLens[i], antChn); - } - } - - // calculate "remove unused channels" size - if (removeChans) - { - // get real number of channels - highestChan = -1; - for (i = 0; i < ap; i++) - { - pattPtr = tmpPatt[i]; - if (pattPtr == NULL) - continue; - - pattLen = tmpPattLens[i]; - for (j = 0; j < pattLen; j++) - { - for (k = 0; k < antChn; k++) - { - note = &pattPtr[(j * MAX_VOICES) + k]; - if (note->eff || note->effTyp || note->instr || note->ton || note->vol) - { - if (k > highestChan) - highestChan = k; - } - } - } - } - - // set new number of channels (and make it an even number) - if (highestChan >= 0) - { - highestChan++; - if (highestChan & 1) - highestChan++; - - antChn = (uint8_t)(CLAMP(highestChan, 2, antChn)); - } - } - - // calculate "remove unused patterns" size - if (removePatt) wipePattsUnused(true, &ap); - - // calculate new pattern data size - if (removeChans || removePatt) - { - for (i = 0; i < ap; i++) - { - newPattDataLen += sizeof (patternHeaderTyp); - if (!tmpPatternEmpty(i, antChn)) - newPattDataLen += getPackedPattSize(tmpPatt[i], tmpPattLens[i], antChn); - } - - assert(pattDataLen >= newPattDataLen); - - if (pattDataLen > newPattDataLen) - bytes64 += (pattDataLen - newPattDataLen); - } - - // calculate "remove unused instruments" size - if (removeInst) wipeInstrUnused(true, &ai, ap, antChn); - - // calculat new instruments and samples size - if (removeInst || removeSamp || removeSmpDataAfterLoop || convSmpsTo8Bit) - { - newInstrSize64 = getTempInsAndSmpSize(); - - assert(oldInstrSize64 >= newInstrSize64); - - if (oldInstrSize64 > newInstrSize64) - bytes64 += (oldInstrSize64 - newInstrSize64); - } - - freeTmpInstruments(); - return bytes64; -} - -static int32_t SDLCALL trimThreadFunc(void *ptr) -{ - int16_t ap, ai, i, j, k, pattLen, highestChan; - tonTyp *pattPtr, *note; - - (void)ptr; - - if (!setTmpInstruments()) - { - okBoxThreadSafe(0, "System message", "Not enough memory!"); - return true; - } - - // audio callback is not running now, so we're safe - - // count number of patterns - ap = MAX_PATTERNS; - do - { - if (patternEmpty(ap - 1)) - ap--; - else - break; - } - while (ap > 0); - - // count number of instruments - ai = MAX_INST; - while (ai > 0 && getUsedSamples(ai) == 0 && song.instrName[ai][0] == '\0') - ai--; - - // remove unused samples - if (removeSamp) - wipeSamplesUnused(false, ai); - - // remove sample data after loop - if (removeSmpDataAfterLoop) - wipeSmpDataAfterLoop(false, ai); - - // convert samples to 8-bit - if (convSmpsTo8Bit) - convertSamplesTo8bit(false, ai); - - // removed unused channels - if (removeChans) - { - // count used channels - highestChan = -1; - for (i = 0; i < ap; i++) - { - pattPtr = patt[i]; - if (pattPtr == NULL) - continue; - - pattLen = pattLens[i]; - for (j = 0; j < pattLen; j++) - { - for (k = 0; k < song.antChn; k++) - { - note = &pattPtr[(j * MAX_VOICES) + k]; - if (note->eff || note->effTyp || note->instr || note->ton || note->vol) - { - if (k > highestChan) - highestChan = k; - } - } - } - } - - // set new 'channels used' number - if (highestChan >= 0) - { - highestChan++; - if (highestChan & 1) - highestChan++; - - song.antChn = (uint8_t)(CLAMP(highestChan, 2, song.antChn)); - } - - // clear potentially unused channel data - if (song.antChn < MAX_VOICES) - { - for (i = 0; i < MAX_PATTERNS; i++) - { - pattPtr = patt[i]; - if (pattPtr == NULL) - continue; - - pattLen = pattLens[i]; - for (j = 0; j < pattLen; j++) - memset(&pattPtr[(j * MAX_VOICES) + song.antChn], 0, sizeof (tonTyp) * (MAX_VOICES - song.antChn)); - } - } - } - - // clear unused patterns - if (removePatt) - wipePattsUnused(false, &ap); - - // remove unused instruments - if (removeInst) - wipeInstrUnused(false, &ai, ap, song.antChn); - - freeTmpInstruments(); - editor.trimThreadWasDone = true; - - return true; -} - -void trimThreadDone(void) -{ - if (removePatt) - setPos(song.songPos, song.pattPos); - - if (removeInst) - { - editor.currVolEnvPoint = 0; - editor.currPanEnvPoint = 0; - } - - updateTextBoxPointers(); - - hideTopScreen(); - showTopScreen(true); - showBottomScreen(); - - if (removeChans) - { - if (editor.ui.patternEditorShown) - { - if (editor.ui.channelOffset > song.antChn-editor.ui.numChannelsShown) - setScrollBarPos(SB_CHAN_SCROLL, song.antChn - editor.ui.numChannelsShown, true); - } - - if (editor.cursor.ch >= editor.ui.channelOffset+editor.ui.numChannelsShown) - editor.cursor.ch = editor.ui.channelOffset+editor.ui.numChannelsShown - 1; - } - - checkMarkLimits(); - - if (removeSamp || convSmpsTo8Bit) - updateSampleEditorSample(); - - pbTrimCalc(); - setSongModifiedFlag(); - resumeAudio(); - setMouseBusy(false); -} - -static char *formatBytes(uint64_t bytes, bool roundUp) -{ - double dBytes; - - if (bytes == 0) - { - strcpy(byteFormatBuffer, "0"); - return byteFormatBuffer; - } - - bytes %= 1000ULL*1024*1024*999; // wrap around gigabytes in case of overflow - if (bytes >= 1024ULL*1024*1024*9) - { - // gigabytes - dBytes = bytes / (1024.0*1024.0*1024.0); - if (dBytes < 100) - sprintf(byteFormatBuffer, "%.1fGB", dBytes); - else - sprintf(byteFormatBuffer, "%dGB", roundUp ? (int32_t)ceil(dBytes) : (int32_t)dBytes); - } - else if (bytes >= 1024*1024*9) - { - // megabytes - dBytes = bytes / (1024.0*1024.0); - if (dBytes < 100) - sprintf(byteFormatBuffer, "%.1fMB", dBytes); - else - sprintf(byteFormatBuffer, "%dMB", roundUp ? (int32_t)ceil(dBytes) : (int32_t)dBytes); - } - else if (bytes >= 1024*9) - { - // kilobytes - dBytes = bytes / 1024.0; - if (dBytes < 100) - sprintf(byteFormatBuffer, "%.1fkB", dBytes); - else - sprintf(byteFormatBuffer, "%dkB", roundUp ? (int32_t)ceil(dBytes) : (int32_t)dBytes); - } - else - { - // bytes - sprintf(byteFormatBuffer, "%d", (int32_t)bytes); - } - - return byteFormatBuffer; -} - -void drawTrimScreen(void) -{ - char sizeBuf[16]; - - drawFramework(0, 92, 136, 81, FRAMEWORK_TYPE1); - drawFramework(136, 92, 155, 81, FRAMEWORK_TYPE1); - - textOutShadow(4, 95, PAL_FORGRND, PAL_DSKTOP2, "What to remove:"); - textOutShadow(19, 109, PAL_FORGRND, PAL_DSKTOP2, "Unused patterns"); - textOutShadow(19, 122, PAL_FORGRND, PAL_DSKTOP2, "Unused instruments"); - textOutShadow(19, 135, PAL_FORGRND, PAL_DSKTOP2, "Unused samples"); - textOutShadow(19, 148, PAL_FORGRND, PAL_DSKTOP2, "Unused channels"); - textOutShadow(19, 161, PAL_FORGRND, PAL_DSKTOP2, "Smp. dat. after loop"); - - textOutShadow(155, 96, PAL_FORGRND, PAL_DSKTOP2, "Conv. samples to 8-bit"); - textOutShadow(140, 111, PAL_FORGRND, PAL_DSKTOP2, ".xm size before"); - textOutShadow(140, 124, PAL_FORGRND, PAL_DSKTOP2, ".xm size after"); - textOutShadow(140, 137, PAL_FORGRND, PAL_DSKTOP2, "Bytes to save"); - - if (xmSize64 > -1) - { - sprintf(sizeBuf, "%s", formatBytes(xmSize64, true)); - textOut(287 - textWidth(sizeBuf), 111, PAL_FORGRND, sizeBuf); - } - else - { - textOut(287 - textWidth("Unknown"), 111, PAL_FORGRND, "Unknown"); - } - - if (xmAfterTrimSize64 > -1) - { - sprintf(sizeBuf, "%s", formatBytes(xmAfterTrimSize64, true)); - textOut(287 - textWidth(sizeBuf), 124, PAL_FORGRND, sizeBuf); - } - else - { - textOut(287 - textWidth("Unknown"), 124, PAL_FORGRND, "Unknown"); - } - - if (spaceSaved64 > -1) - { - sprintf(sizeBuf, "%s", formatBytes(spaceSaved64, false)); - textOut(287 - textWidth(sizeBuf), 137, PAL_FORGRND, sizeBuf); - } - else - { - textOut(287 - textWidth("Unknown"), 137, PAL_FORGRND, "Unknown"); - } - - showCheckBox(CB_TRIM_PATT); - showCheckBox(CB_TRIM_INST); - showCheckBox(CB_TRIM_SAMP); - showCheckBox(CB_TRIM_CHAN); - showCheckBox(CB_TRIM_SMPD); - showCheckBox(CB_TRIM_CONV); - showPushButton(PB_TRIM_CALC); - showPushButton(PB_TRIM_TRIM); -} - -void hideTrimScreen(void) -{ - hideCheckBox(CB_TRIM_PATT); - hideCheckBox(CB_TRIM_INST); - hideCheckBox(CB_TRIM_SAMP); - hideCheckBox(CB_TRIM_CHAN); - hideCheckBox(CB_TRIM_SMPD); - hideCheckBox(CB_TRIM_CONV); - hidePushButton(PB_TRIM_CALC); - hidePushButton(PB_TRIM_TRIM); - - editor.ui.trimScreenShown = false; - editor.ui.scopesShown = true; - drawScopeFramework(); -} - -void showTrimScreen(void) -{ - if (editor.ui.extended) - exitPatternEditorExtended(); - - hideTopScreen(); - showTopScreen(false); - - editor.ui.trimScreenShown = true; - editor.ui.scopesShown = false; - - drawTrimScreen(); -} - -void toggleTrimScreen(void) -{ - if (editor.ui.trimScreenShown) - hideTrimScreen(); - else - showTrimScreen(); -} - -void setInitialTrimFlags(void) -{ - removePatt = true; - removeInst = true; - removeSamp = true; - removeChans = true; - removeSmpDataAfterLoop = true; - convSmpsTo8Bit = false; - - checkBoxes[CB_TRIM_PATT].checked = true; - checkBoxes[CB_TRIM_INST].checked = true; - checkBoxes[CB_TRIM_SAMP].checked = true; - checkBoxes[CB_TRIM_CHAN].checked = true; - checkBoxes[CB_TRIM_SMPD].checked = true; - checkBoxes[CB_TRIM_CONV].checked = false; -} - -void cbTrimUnusedPatt(void) -{ - removePatt ^= 1; -} - -void cbTrimUnusedInst(void) -{ - removeInst ^= 1; -} - -void cbTrimUnusedSamp(void) -{ - removeSamp ^= 1; -} - -void cbTrimUnusedChans(void) -{ - removeChans ^= 1; -} - -void cbTrimUnusedSmpData(void) -{ - removeSmpDataAfterLoop ^= 1; -} - -void cbTrimSmpsTo8Bit(void) -{ - convSmpsTo8Bit ^= 1; -} - -void pbTrimCalc(void) -{ - xmSize64 = calculateXMSize(); - spaceSaved64 = calculateTrimSize(); - - xmAfterTrimSize64 = xmSize64 - spaceSaved64; - if (xmAfterTrimSize64 < 0) - xmAfterTrimSize64 = 0; - - if (editor.ui.trimScreenShown) - drawTrimScreen(); -} - -void pbTrimDoTrim(void) -{ - if (!removePatt && !removeInst && !removeSamp && !removeChans && !removeSmpDataAfterLoop && !convSmpsTo8Bit) - return; // nothing to trim... - - if (okBox(2, "System request", "Are you sure you want to trim the song? Making a backup of the song first is recommended.") != 1) - return; - - mouseAnimOn(); - pauseAudio(); - - trimThread = SDL_CreateThread(trimThreadFunc, NULL, NULL); - if (trimThread == NULL) - { - resumeAudio(); - mouseAnimOff(); - return; - } - - SDL_DetachThread(trimThread); -} - -void resetTrimSizes(void) -{ - xmSize64 = -1; - xmAfterTrimSize64 = -1; - spaceSaved64 = -1; - - if (editor.ui.trimScreenShown) - drawTrimScreen(); -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include +#include +#include "ft2_header.h" +#include "ft2_sample_ed.h" +#include "ft2_gui.h" +#include "ft2_scopes.h" +#include "ft2_pattern_ed.h" +#include "ft2_replayer.h" +#include "ft2_audio.h" +#include "ft2_mouse.h" + +// this is truly a mess, but it works... + +static char byteFormatBuffer[64], tmpInstrName[1 + MAX_INST][22 + 1], tmpInstName[MAX_INST][22 + 1]; +static bool removePatt, removeInst, removeSamp, removeChans, removeSmpDataAfterLoop, convSmpsTo8Bit; +static uint8_t instrUsed[MAX_INST], instrOrder[MAX_INST], pattUsed[MAX_PATTERNS], pattOrder[MAX_PATTERNS]; +static int16_t oldPattLens[MAX_PATTERNS], tmpPattLens[MAX_PATTERNS]; +static int64_t xmSize64 = -1, xmAfterTrimSize64 = -1, spaceSaved64 = -1; +static tonTyp *oldPatts[MAX_PATTERNS], *tmpPatt[MAX_PATTERNS]; +static instrTyp *tmpInstr[1 + MAX_INST], *tmpInst[MAX_INST]; // tmpInstr[x] = copy of instr[x] for "after trim" size calculation +static SDL_Thread *trimThread; + +void pbTrimCalc(void); + +static void freeTmpInstruments(void) +{ + for (int16_t i = 0; i <= MAX_INST; i++) + { + if (tmpInstr[i] != NULL) + { + // don't free samples, as the pointers are shared with main instruments... + + free(tmpInstr[i]); + tmpInstr[i] = NULL; + } + } +} + +static bool setTmpInstruments(void) +{ + freeTmpInstruments(); + + for (int16_t i = 0; i <= MAX_INST; i++) + { + if (instr[i] != NULL) + { + tmpInstr[i] = (instrTyp *)malloc(sizeof (instrTyp)); + if (tmpInstr[i] == NULL) + { + freeTmpInstruments(); + return false; + } + + tmpInstr[i] = instr[i]; + } + } + + return true; +} + +static void remapInstrInSong(uint8_t src, uint8_t dst, int16_t ap) +{ + int32_t readLen; + tonTyp *pattPtr, *note; + + for (int16_t i = 0; i < ap; i++) + { + pattPtr = patt[i]; + if (pattPtr == NULL) + continue; + + readLen = pattLens[i] * MAX_VOICES; + for (int32_t j = 0; j < readLen; j++) + { + note = &pattPtr[j]; + if (note->instr == src) + note->instr = dst; + } + } +} + +static int16_t getUsedTempSamples(uint16_t nr) +{ + int16_t i, j; + instrTyp *ins; + + if (tmpInstr[nr] == NULL) + return 0; + + ins = tmpInstr[nr]; + + i = 16 - 1; + while (i >= 0 && ins->samp[i].pek == NULL && ins->samp[i].name[0] == '\0') + i--; + + /* Yes, 'i' can be -1 here, and will be set to at least 0 + ** because of ins->ta values. Possibly an FT2 bug... + **/ + for (j = 0; j < 96; j++) + { + if (ins->ta[j] > i) + i = ins->ta[j]; + } + + return i+1; +} + +static int64_t getTempInsAndSmpSize(void) +{ + int16_t a, j, ai; + int64_t currSize64; + instrTyp *ins; + + ai = MAX_INST; + while (ai > 0 && getUsedTempSamples(ai) == 0 && tmpInstrName[ai][0] == '\0') + ai--; + + currSize64 = 0; + + // count instrument and sample data size in song + for (int16_t i = 1; i <= ai; i++) + { + if (tmpInstr[i] == NULL) + j = 0; + else + j = i; + + a = getUsedTempSamples(i); + if (a > 0) + currSize64 += INSTR_HEADER_SIZE + (a * sizeof (sampleHeaderTyp)); + else + currSize64 += 22+11; + + ins = tmpInstr[j]; + for (int16_t k = 0; k < a; k++) + { + if (ins->samp[k].pek != NULL) + currSize64 += ins->samp[k].len; + } + } + + return currSize64; +} + +static void wipeInstrUnused(bool testWipeSize, int16_t *ai, int16_t ap, uint8_t antChn) +{ + uint8_t newInst; + int16_t numInsts, newNumInsts, instToDel, i, j, k, pattLen; + tonTyp *pattPtr; + + numInsts = *ai; + + // calculate what instruments are used + memset(instrUsed, 0, numInsts); + for (i = 0; i < ap; i++) + { + if (testWipeSize) + { + pattPtr = tmpPatt[i]; + pattLen = tmpPattLens[i]; + } + else + { + pattPtr = patt[i]; + pattLen = pattLens[i]; + } + + if (pattPtr == NULL) + continue; + + for (j = 0; j < pattLen; j++) + { + for (k = 0; k < antChn; k++) + { + newInst = pattPtr[(j * MAX_VOICES) + k].instr; + if (newInst > 0 && newInst <= MAX_INST) + instrUsed[newInst-1] = true; + } + } + } + + instToDel = 0; + newInst = 0; + newNumInsts = 0; + + memset(instrOrder, 0, numInsts); + for (i = 0; i < numInsts; i++) + { + if (instrUsed[i]) + { + newNumInsts++; + instrOrder[i] = newInst++; + } + else + { + instToDel++; + } + } + + if (instToDel == 0) + return; + + if (testWipeSize) + { + for (i = 0; i < numInsts; i++) + { + if (!instrUsed[i] && tmpInstr[1+i] != NULL) + { + free(tmpInstr[1+i]); + tmpInstr[1+i] = NULL; + } + } + + // relocate instruments + + memcpy(tmpInstName, &tmpInstrName[1], MAX_INST * sizeof (song.instrName[0])); + memcpy(tmpInst, &tmpInstr[1], MAX_INST * sizeof (instr[0])); + + memset(&tmpInstr[1], 0, numInsts * sizeof (tmpInstr[0])); + memset(&tmpInstrName[1], 0, numInsts * sizeof (tmpInstrName[0])); + + for (i = 0; i < numInsts; i++) + { + if (instrUsed[i]) + { + newInst = instrOrder[i]; + + memcpy(&tmpInstr[1+newInst], &tmpInst[i], sizeof (tmpInst[0])); + strcpy(tmpInstrName[1+newInst], tmpInstName[i]); + } + } + + *ai = newNumInsts; + return; + } + + // clear unused instruments + for (i = 0; i < numInsts; i++) + { + if (!instrUsed[i]) + freeInstr(1 + i); + } + + // relocate instruments + + memcpy(tmpInstName, &song.instrName[1], MAX_INST * sizeof (song.instrName[0])); + memcpy(tmpInst, &instr[1], MAX_INST * sizeof (instr[0])); + + memset(&instr[1], 0, numInsts * sizeof (instr[0])); + memset(song.instrName[1], 0, numInsts * sizeof (song.instrName[0])); + + for (i = 0; i < numInsts; i++) + { + if (instrUsed[i]) + { + newInst = instrOrder[i]; + remapInstrInSong(1 + (uint8_t)i, 1 + newInst, ap); + + memcpy(&instr[1+newInst], &tmpInst[i], sizeof (instr[0])); + strcpy(song.instrName[1+newInst], tmpInstName[i]); + } + } + + *ai = newNumInsts; + + setTmpInstruments(); +} + +static void wipePattsUnused(bool testWipeSize, int16_t *ap) +{ + uint8_t newPatt; + int16_t usedPatts, newUsedPatts, i, *pLens; + tonTyp **p; + + usedPatts = *ap; + memset(pattUsed, 0, usedPatts); + + newUsedPatts = 0; + for (i = 0; i < song.len; i++) + { + newPatt = song.songTab[i]; + if (newPatt < usedPatts && !pattUsed[newPatt]) + { + pattUsed[newPatt] = true; + newUsedPatts++; + } + } + + if (newUsedPatts == 0 || newUsedPatts == usedPatts) + return; // nothing to do! + + newPatt = 0; + memset(pattOrder, 0, usedPatts); + for (i = 0; i < usedPatts; i++) + { + if (pattUsed[i]) + pattOrder[i] = newPatt++; + } + + if (testWipeSize) + { + p = tmpPatt; + pLens = tmpPattLens; + } + else + { + p = patt; + pLens = pattLens; + } + + memcpy(oldPatts, p, usedPatts * sizeof (tonTyp *)); + memcpy(oldPattLens, pLens, usedPatts * sizeof (int16_t)); + memset(p, 0, usedPatts * sizeof (tonTyp *)); + memset(pLens, 0, usedPatts * sizeof (int16_t)); + + // relocate patterns + for (i = 0; i < usedPatts; i++) + { + p[i] = NULL; + + if (!pattUsed[i]) + { + if (!testWipeSize && oldPatts[i] != NULL) + { + free(oldPatts[i]); + oldPatts[i] = NULL; + } + } + else + { + newPatt = pattOrder[i]; + p[newPatt] = oldPatts[i]; + pLens[newPatt] = oldPattLens[i]; + } + } + + if (!testWipeSize) + { + for (i = 0; i < MAX_PATTERNS; i++) + { + if (patt[i] == NULL) + pattLens[i] = 64; + } + + // reorder order list (and clear unused entries) + for (i = 0; i < 256; i++) + { + if (i < song.len) + song.songTab[i] = pattOrder[song.songTab[i]]; + else + song.songTab[i] = 0; + } + } + + *ap = newUsedPatts; +} + +static void wipeSamplesUnused(bool testWipeSize, int16_t ai) +{ + uint8_t newSamp, smpUsed[16], smpOrder[16]; + int16_t i, j, k, l; + instrTyp *ins; + sampleTyp *s, tempSamples[16]; + + for (i = 1; i <= ai; i++) + { + if (!testWipeSize) + { + if (instr[i] == NULL) + l = 0; + else + l = i; + + ins = instr[l]; + l = getUsedSamples(i); + } + else + { + if (tmpInstr[i] == NULL) + l = 0; + else + l = i; + + ins = tmpInstr[l]; + l = getUsedTempSamples(i); + } + + memset(smpUsed, 0, l); + if (l > 0) + { + for (j = 0; j < l; j++) + { + s = &ins->samp[j]; + + // check if sample is referenced in instrument + for (k = 0; k < 96; k++) + { + if (ins->ta[k] == j) + { + smpUsed[j] = true; + break; // sample is used + } + } + + if (k == 96) + { + // sample is unused + + if (s->origPek != NULL && !testWipeSize) + free(s->origPek); + + memset(s, 0, sizeof (sampleTyp)); + s->origPek = NULL; + s->pek = NULL; + } + } + + // create re-order list + newSamp = 0; + memset(smpOrder, 0, l); + for (j = 0; j < l; j++) + { + if (smpUsed[j]) + smpOrder[j] = newSamp++; + } + + // re-order samples + + memcpy(tempSamples, ins->samp, l * sizeof (sampleTyp)); + memset(ins->samp, 0, l * sizeof (sampleTyp)); + + for (j = 0; j < l; j++) + { + if (smpUsed[j]) + ins->samp[smpOrder[j]] = tempSamples[j]; + } + + // re-order note->sample list + for (j = 0; j < 96; j++) + { + newSamp = ins->ta[j]; + if (smpUsed[newSamp]) + ins->ta[j] = smpOrder[newSamp]; + else + ins->ta[j] = 0; + } + } + } +} + +static void wipeSmpDataAfterLoop(bool testWipeSize, int16_t ai) +{ + int8_t *newPtr; + int16_t l; + instrTyp *ins; + sampleTyp *s; + + for (int16_t i = 1; i <= ai; i++) + { + if (!testWipeSize) + { + if (instr[i] == NULL) + l = 0; + else + l = i; + + ins = instr[l]; + l = getUsedSamples(i); + } + else + { + if (tmpInstr[i] == NULL) + l = 0; + else + l = i; + + ins = tmpInstr[l]; + l = getUsedTempSamples(i); + } + + for (int16_t j = 0; j < l; j++) + { + s = &ins->samp[j]; + if (s->origPek != NULL && s->typ & 3 && s->len > 0 && s->len > s->repS+s->repL) + { + if (!testWipeSize) + restoreSample(s); + + s->len = s->repS + s->repL; + if (!testWipeSize) + { + if (s->len <= 0) + { + s->len = 0; + + free(s->origPek); + s->origPek = NULL; + s->pek = NULL; + } + else + { + newPtr = (int8_t *)realloc(s->origPek, s->len + LOOP_FIX_LEN); + if (newPtr != NULL) + { + s->origPek = newPtr; + s->pek = s->origPek + SMP_DAT_OFFSET; + } + } + } + + if (!testWipeSize) + fixSample(s); + } + } + } +} + +static void convertSamplesTo8bit(bool testWipeSize, int16_t ai) +{ + int8_t *dst8, smp8, *newPtr; + int16_t *src16, k; + int32_t newLen; + instrTyp *ins; + sampleTyp *s; + + for (int16_t i = 1; i <= ai; i++) + { + if (!testWipeSize) + { + if (instr[i] == NULL) + k = 0; + else + k = i; + + ins = instr[k]; + k = getUsedSamples(i); + } + else + { + if (tmpInstr[i] == NULL) + k = 0; + else + k = i; + + ins = tmpInstr[k]; + k = getUsedTempSamples(i); + } + + for (int16_t j = 0; j < k; j++) + { + s = &ins->samp[j]; + if (s->origPek != NULL && (s->typ & 16) && s->len > 0) + { + if (testWipeSize) + { + s->typ &= ~16; + s->len >>= 1; + s->repL >>= 1; + s->repS >>= 1; + } + else + { + restoreSample(s); + + assert(s->pek != NULL); + src16 = (int16_t *)s->pek; + dst8 = s->pek; + + newLen = s->len >> 1; + for (int32_t a = 0; a < newLen; a++) + { + smp8 = src16[a] >> 8; + dst8[a] = smp8; + } + + s->repL >>= 1; + s->repS >>= 1; + s->len >>= 1; + s->typ &= ~16; + + newPtr = (int8_t *)realloc(s->origPek, s->len + LOOP_FIX_LEN); + if (newPtr != NULL) + { + s->origPek = newPtr; + s->pek = s->origPek + SMP_DAT_OFFSET; + } + + fixSample(s); + } + } + } + } +} + +static uint16_t getPackedPattSize(tonTyp *pattern, uint16_t numRows, uint8_t antChn) +{ + uint8_t bytes[sizeof (tonTyp)], packBits, *writePtr, *firstBytePtr, *pattPtr; + uint16_t totalPackLen; + + totalPackLen = 0; + + pattPtr = (uint8_t *)pattern; + + writePtr = pattPtr; + for (uint16_t row = 0; row < numRows; row++) + { + for (uint16_t chn = 0; chn < antChn; chn++) + { + bytes[0] = *pattPtr++; + bytes[1] = *pattPtr++; + bytes[2] = *pattPtr++; + bytes[3] = *pattPtr++; + bytes[4] = *pattPtr++; + + firstBytePtr = writePtr++; + + packBits = 0; + if (bytes[0] > 0) { packBits |= 1; writePtr++; } // note + if (bytes[1] > 0) { packBits |= 2; writePtr++; } // instrument + if (bytes[2] > 0) { packBits |= 4; writePtr++; } // volume column + if (bytes[3] > 0) { packBits |= 8; writePtr++; } // effect + + if (packBits == 15) // first four bits set? + { + // no packing needed, write pattern data as is + totalPackLen += 5; + writePtr += 5; + + continue; + } + + if (bytes[4] > 0) writePtr++; // effect parameter + + totalPackLen += (uint16_t)(writePtr - firstBytePtr); // bytes writen + } + + // skip unused channels + pattPtr += sizeof (tonTyp) * (MAX_VOICES - antChn); + } + + return totalPackLen; +} + +static bool tmpPatternEmpty(uint16_t nr, uint8_t antChn) +{ + uint8_t *scanPtr; + uint32_t pattLen, scanLen; + + if (tmpPatt[nr] == NULL) + return true; + + scanPtr = (uint8_t *)tmpPatt[nr]; + scanLen = antChn * sizeof (tonTyp); + pattLen = tmpPattLens[nr]; + + for (uint32_t i = 0; i < pattLen; i++) + { + for (uint32_t j = 0; j < scanLen; j++) + { + if (scanPtr[j] != 0) + return false; + } + + scanPtr += TRACK_WIDTH; + } + + return true; +} + +static int64_t calculateXMSize(void) +{ + int16_t i, j, ap, ai, a; + int64_t currSize64; + instrTyp *ins; + + // count header size in song + currSize64 = sizeof (songHeaderTyp); + + // count number of patterns that would be saved + ap = MAX_PATTERNS; + do + { + if (patternEmpty(ap - 1)) + ap--; + else + break; + } + while (ap > 0); + + // count number of instruments + ai = 128; + while (ai > 0 && getUsedSamples(ai) == 0 && song.instrName[ai][0] == '\0') + ai--; + + // count packed pattern data size in song + for (i = 0; i < ap; i++) + { + currSize64 += sizeof (patternHeaderTyp); + if (!patternEmpty(i)) + currSize64 += getPackedPattSize(patt[i], pattLens[i], song.antChn); + } + + // count instrument and sample data size in song + for (i = 1; i <= ai; i++) + { + if (instr[i] == NULL) + j = 0; + else + j = i; + + a = getUsedSamples(i); + if (a > 0) + currSize64 += INSTR_HEADER_SIZE + (a * sizeof (sampleHeaderTyp)); + else + currSize64 += 22+11; + + ins = instr[j]; + for (int16_t k = 0; k < a; k++) + { + if (ins->samp[k].pek != NULL) + currSize64 += ins->samp[k].len; + } + } + + return currSize64; +} + +static int64_t calculateTrimSize(void) +{ + uint8_t antChn; + int16_t ap, i, j, k, ai, highestChan, pattLen; + int32_t pattDataLen, newPattDataLen; + int64_t bytes64, oldInstrSize64, newInstrSize64; + tonTyp *note, *pattPtr; + + antChn = song.antChn; + pattDataLen = 0; + newPattDataLen = 0; + bytes64 = 0; + oldInstrSize64 = 0; + + // copy over temp data + memcpy(tmpPatt, patt, sizeof (tmpPatt)); + memcpy(tmpPattLens, pattLens, sizeof (tmpPattLens)); + memcpy(tmpInstrName, song.instrName, sizeof (tmpInstrName)); + + if (!setTmpInstruments()) + { + okBox(0, "System message", "Not enough memory!"); + return 0; + } + + // get current size of all instruments and their samples + if (removeInst || removeSamp || removeSmpDataAfterLoop || convSmpsTo8Bit) + oldInstrSize64 = getTempInsAndSmpSize(); + + // count number of patterns that would be saved + ap = MAX_PATTERNS; + do + { + if (tmpPatternEmpty(ap - 1, antChn)) + ap--; + else + break; + } + while (ap > 0); + + // count number of instruments that would be saved + ai = MAX_INST; + while (ai > 0 && getUsedTempSamples(ai) == 0 && tmpInstrName[ai][0] == '\0') + ai--; + + // calculate "remove unused samples" size + if (removeSamp) wipeSamplesUnused(true, ai); + + // calculate "remove sample data after loop" size + if (removeSmpDataAfterLoop) wipeSmpDataAfterLoop(true, ai); + + // calculate "convert samples to 8-bit" size + if (convSmpsTo8Bit) convertSamplesTo8bit(true, ai); + + // get old pattern data length + if (removeChans || removePatt) + { + for (i = 0; i < ap; i++) + { + pattDataLen += sizeof (patternHeaderTyp); + if (!tmpPatternEmpty(i, antChn)) + pattDataLen += getPackedPattSize(tmpPatt[i], tmpPattLens[i], antChn); + } + } + + // calculate "remove unused channels" size + if (removeChans) + { + // get real number of channels + highestChan = -1; + for (i = 0; i < ap; i++) + { + pattPtr = tmpPatt[i]; + if (pattPtr == NULL) + continue; + + pattLen = tmpPattLens[i]; + for (j = 0; j < pattLen; j++) + { + for (k = 0; k < antChn; k++) + { + note = &pattPtr[(j * MAX_VOICES) + k]; + if (note->eff || note->effTyp || note->instr || note->ton || note->vol) + { + if (k > highestChan) + highestChan = k; + } + } + } + } + + // set new number of channels (and make it an even number) + if (highestChan >= 0) + { + highestChan++; + if (highestChan & 1) + highestChan++; + + antChn = (uint8_t)(CLAMP(highestChan, 2, antChn)); + } + } + + // calculate "remove unused patterns" size + if (removePatt) wipePattsUnused(true, &ap); + + // calculate new pattern data size + if (removeChans || removePatt) + { + for (i = 0; i < ap; i++) + { + newPattDataLen += sizeof (patternHeaderTyp); + if (!tmpPatternEmpty(i, antChn)) + newPattDataLen += getPackedPattSize(tmpPatt[i], tmpPattLens[i], antChn); + } + + assert(pattDataLen >= newPattDataLen); + + if (pattDataLen > newPattDataLen) + bytes64 += (pattDataLen - newPattDataLen); + } + + // calculate "remove unused instruments" size + if (removeInst) wipeInstrUnused(true, &ai, ap, antChn); + + // calculat new instruments and samples size + if (removeInst || removeSamp || removeSmpDataAfterLoop || convSmpsTo8Bit) + { + newInstrSize64 = getTempInsAndSmpSize(); + + assert(oldInstrSize64 >= newInstrSize64); + + if (oldInstrSize64 > newInstrSize64) + bytes64 += (oldInstrSize64 - newInstrSize64); + } + + freeTmpInstruments(); + return bytes64; +} + +static int32_t SDLCALL trimThreadFunc(void *ptr) +{ + int16_t ap, ai, i, j, k, pattLen, highestChan; + tonTyp *pattPtr, *note; + + (void)ptr; + + if (!setTmpInstruments()) + { + okBoxThreadSafe(0, "System message", "Not enough memory!"); + return true; + } + + // audio callback is not running now, so we're safe + + // count number of patterns + ap = MAX_PATTERNS; + do + { + if (patternEmpty(ap - 1)) + ap--; + else + break; + } + while (ap > 0); + + // count number of instruments + ai = MAX_INST; + while (ai > 0 && getUsedSamples(ai) == 0 && song.instrName[ai][0] == '\0') + ai--; + + // remove unused samples + if (removeSamp) + wipeSamplesUnused(false, ai); + + // remove sample data after loop + if (removeSmpDataAfterLoop) + wipeSmpDataAfterLoop(false, ai); + + // convert samples to 8-bit + if (convSmpsTo8Bit) + convertSamplesTo8bit(false, ai); + + // removed unused channels + if (removeChans) + { + // count used channels + highestChan = -1; + for (i = 0; i < ap; i++) + { + pattPtr = patt[i]; + if (pattPtr == NULL) + continue; + + pattLen = pattLens[i]; + for (j = 0; j < pattLen; j++) + { + for (k = 0; k < song.antChn; k++) + { + note = &pattPtr[(j * MAX_VOICES) + k]; + if (note->eff || note->effTyp || note->instr || note->ton || note->vol) + { + if (k > highestChan) + highestChan = k; + } + } + } + } + + // set new 'channels used' number + if (highestChan >= 0) + { + highestChan++; + if (highestChan & 1) + highestChan++; + + song.antChn = (uint8_t)(CLAMP(highestChan, 2, song.antChn)); + } + + // clear potentially unused channel data + if (song.antChn < MAX_VOICES) + { + for (i = 0; i < MAX_PATTERNS; i++) + { + pattPtr = patt[i]; + if (pattPtr == NULL) + continue; + + pattLen = pattLens[i]; + for (j = 0; j < pattLen; j++) + memset(&pattPtr[(j * MAX_VOICES) + song.antChn], 0, sizeof (tonTyp) * (MAX_VOICES - song.antChn)); + } + } + } + + // clear unused patterns + if (removePatt) + wipePattsUnused(false, &ap); + + // remove unused instruments + if (removeInst) + wipeInstrUnused(false, &ai, ap, song.antChn); + + freeTmpInstruments(); + editor.trimThreadWasDone = true; + + return true; +} + +void trimThreadDone(void) +{ + if (removePatt) + setPos(song.songPos, song.pattPos, false); + + if (removeInst) + { + editor.currVolEnvPoint = 0; + editor.currPanEnvPoint = 0; + } + + updateTextBoxPointers(); + + hideTopScreen(); + showTopScreen(true); + showBottomScreen(); + + if (removeChans) + { + if (editor.ui.patternEditorShown) + { + if (editor.ui.channelOffset > song.antChn-editor.ui.numChannelsShown) + setScrollBarPos(SB_CHAN_SCROLL, song.antChn - editor.ui.numChannelsShown, true); + } + + if (editor.cursor.ch >= editor.ui.channelOffset+editor.ui.numChannelsShown) + editor.cursor.ch = editor.ui.channelOffset+editor.ui.numChannelsShown - 1; + } + + checkMarkLimits(); + + if (removeSamp || convSmpsTo8Bit) + updateSampleEditorSample(); + + pbTrimCalc(); + setSongModifiedFlag(); + resumeAudio(); + setMouseBusy(false); +} + +static char *formatBytes(uint64_t bytes, bool roundUp) +{ + double dBytes; + + if (bytes == 0) + { + strcpy(byteFormatBuffer, "0"); + return byteFormatBuffer; + } + + bytes %= 1000ULL*1024*1024*999; // wrap around gigabytes in case of overflow + if (bytes >= 1024ULL*1024*1024*9) + { + // gigabytes + dBytes = bytes / (1024.0*1024.0*1024.0); + if (dBytes < 100) + sprintf(byteFormatBuffer, "%.1fGB", dBytes); + else + sprintf(byteFormatBuffer, "%dGB", roundUp ? (int32_t)ceil(dBytes) : (int32_t)dBytes); + } + else if (bytes >= 1024*1024*9) + { + // megabytes + dBytes = bytes / (1024.0*1024.0); + if (dBytes < 100) + sprintf(byteFormatBuffer, "%.1fMB", dBytes); + else + sprintf(byteFormatBuffer, "%dMB", roundUp ? (int32_t)ceil(dBytes) : (int32_t)dBytes); + } + else if (bytes >= 1024*9) + { + // kilobytes + dBytes = bytes / 1024.0; + if (dBytes < 100) + sprintf(byteFormatBuffer, "%.1fkB", dBytes); + else + sprintf(byteFormatBuffer, "%dkB", roundUp ? (int32_t)ceil(dBytes) : (int32_t)dBytes); + } + else + { + // bytes + sprintf(byteFormatBuffer, "%d", (int32_t)bytes); + } + + return byteFormatBuffer; +} + +void drawTrimScreen(void) +{ + char sizeBuf[16]; + + drawFramework(0, 92, 136, 81, FRAMEWORK_TYPE1); + drawFramework(136, 92, 155, 81, FRAMEWORK_TYPE1); + + textOutShadow(4, 95, PAL_FORGRND, PAL_DSKTOP2, "What to remove:"); + textOutShadow(19, 109, PAL_FORGRND, PAL_DSKTOP2, "Unused patterns"); + textOutShadow(19, 122, PAL_FORGRND, PAL_DSKTOP2, "Unused instruments"); + textOutShadow(19, 135, PAL_FORGRND, PAL_DSKTOP2, "Unused samples"); + textOutShadow(19, 148, PAL_FORGRND, PAL_DSKTOP2, "Unused channels"); + textOutShadow(19, 161, PAL_FORGRND, PAL_DSKTOP2, "Smp. dat. after loop"); + + textOutShadow(155, 96, PAL_FORGRND, PAL_DSKTOP2, "Conv. samples to 8-bit"); + textOutShadow(140, 111, PAL_FORGRND, PAL_DSKTOP2, ".xm size before"); + textOutShadow(140, 124, PAL_FORGRND, PAL_DSKTOP2, ".xm size after"); + textOutShadow(140, 137, PAL_FORGRND, PAL_DSKTOP2, "Bytes to save"); + + if (xmSize64 > -1) + { + sprintf(sizeBuf, "%s", formatBytes(xmSize64, true)); + textOut(287 - textWidth(sizeBuf), 111, PAL_FORGRND, sizeBuf); + } + else + { + textOut(287 - textWidth("Unknown"), 111, PAL_FORGRND, "Unknown"); + } + + if (xmAfterTrimSize64 > -1) + { + sprintf(sizeBuf, "%s", formatBytes(xmAfterTrimSize64, true)); + textOut(287 - textWidth(sizeBuf), 124, PAL_FORGRND, sizeBuf); + } + else + { + textOut(287 - textWidth("Unknown"), 124, PAL_FORGRND, "Unknown"); + } + + if (spaceSaved64 > -1) + { + sprintf(sizeBuf, "%s", formatBytes(spaceSaved64, false)); + textOut(287 - textWidth(sizeBuf), 137, PAL_FORGRND, sizeBuf); + } + else + { + textOut(287 - textWidth("Unknown"), 137, PAL_FORGRND, "Unknown"); + } + + showCheckBox(CB_TRIM_PATT); + showCheckBox(CB_TRIM_INST); + showCheckBox(CB_TRIM_SAMP); + showCheckBox(CB_TRIM_CHAN); + showCheckBox(CB_TRIM_SMPD); + showCheckBox(CB_TRIM_CONV); + showPushButton(PB_TRIM_CALC); + showPushButton(PB_TRIM_TRIM); +} + +void hideTrimScreen(void) +{ + hideCheckBox(CB_TRIM_PATT); + hideCheckBox(CB_TRIM_INST); + hideCheckBox(CB_TRIM_SAMP); + hideCheckBox(CB_TRIM_CHAN); + hideCheckBox(CB_TRIM_SMPD); + hideCheckBox(CB_TRIM_CONV); + hidePushButton(PB_TRIM_CALC); + hidePushButton(PB_TRIM_TRIM); + + editor.ui.trimScreenShown = false; + editor.ui.scopesShown = true; + drawScopeFramework(); +} + +void showTrimScreen(void) +{ + if (editor.ui.extended) + exitPatternEditorExtended(); + + hideTopScreen(); + showTopScreen(false); + + editor.ui.trimScreenShown = true; + editor.ui.scopesShown = false; + + drawTrimScreen(); +} + +void toggleTrimScreen(void) +{ + if (editor.ui.trimScreenShown) + hideTrimScreen(); + else + showTrimScreen(); +} + +void setInitialTrimFlags(void) +{ + removePatt = true; + removeInst = true; + removeSamp = true; + removeChans = true; + removeSmpDataAfterLoop = true; + convSmpsTo8Bit = false; + + checkBoxes[CB_TRIM_PATT].checked = true; + checkBoxes[CB_TRIM_INST].checked = true; + checkBoxes[CB_TRIM_SAMP].checked = true; + checkBoxes[CB_TRIM_CHAN].checked = true; + checkBoxes[CB_TRIM_SMPD].checked = true; + checkBoxes[CB_TRIM_CONV].checked = false; +} + +void cbTrimUnusedPatt(void) +{ + removePatt ^= 1; +} + +void cbTrimUnusedInst(void) +{ + removeInst ^= 1; +} + +void cbTrimUnusedSamp(void) +{ + removeSamp ^= 1; +} + +void cbTrimUnusedChans(void) +{ + removeChans ^= 1; +} + +void cbTrimUnusedSmpData(void) +{ + removeSmpDataAfterLoop ^= 1; +} + +void cbTrimSmpsTo8Bit(void) +{ + convSmpsTo8Bit ^= 1; +} + +void pbTrimCalc(void) +{ + xmSize64 = calculateXMSize(); + spaceSaved64 = calculateTrimSize(); + + xmAfterTrimSize64 = xmSize64 - spaceSaved64; + if (xmAfterTrimSize64 < 0) + xmAfterTrimSize64 = 0; + + if (editor.ui.trimScreenShown) + drawTrimScreen(); +} + +void pbTrimDoTrim(void) +{ + if (!removePatt && !removeInst && !removeSamp && !removeChans && !removeSmpDataAfterLoop && !convSmpsTo8Bit) + return; // nothing to trim... + + if (okBox(2, "System request", "Are you sure you want to trim the song? Making a backup of the song first is recommended.") != 1) + return; + + mouseAnimOn(); + pauseAudio(); + + trimThread = SDL_CreateThread(trimThreadFunc, NULL, NULL); + if (trimThread == NULL) + { + resumeAudio(); + mouseAnimOff(); + return; + } + + SDL_DetachThread(trimThread); +} + +void resetTrimSizes(void) +{ + xmSize64 = -1; + xmAfterTrimSize64 = -1; + spaceSaved64 = -1; + + if (editor.ui.trimScreenShown) + drawTrimScreen(); +} diff --git a/src/ft2_unicode.c b/src/ft2_unicode.c index 09ceb9f..d5640a3 100644 --- a/src/ft2_unicode.c +++ b/src/ft2_unicode.c @@ -1,356 +1,356 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include -#include -#ifdef _WIN32 -#define WIN32_LEAN_AND_MEAN -#include -#else -#include -#endif -#include "ft2_unicode.h" - -#ifdef _WIN32 - -// Windows routines -char *cp437ToUtf8(char *src) -{ - char *x; - int32_t reqSize, retVal, srcLen; - wchar_t *w; - - if (src == NULL) - return NULL; - - srcLen = (int32_t)strlen(src); - if (srcLen <= 0) - return NULL; - - reqSize = MultiByteToWideChar(437, 0, src, srcLen, 0, 0); - if (reqSize <= 0) - return NULL; - - w = (wchar_t *)malloc((reqSize + 1) * sizeof (wchar_t)); - if (w == NULL) - return NULL; - - w[reqSize] = 0; - - retVal = MultiByteToWideChar(437, 0, src, srcLen, w, reqSize); - if (!retVal) - { - free(w); - return NULL; - } - - srcLen = (int32_t)wcslen(w); - if (srcLen <= 0) - return NULL; - - reqSize = WideCharToMultiByte(CP_UTF8, 0, w, srcLen, 0, 0, 0, 0); - if (reqSize <= 0) - { - free(w); - return NULL; - } - - x = (char *)malloc((reqSize + 2) * sizeof (char)); - if (x == NULL) - { - free(w); - return NULL; - } - - x[reqSize+0] = '\0'; - x[reqSize+1] = '\0'; - - retVal = WideCharToMultiByte(CP_UTF8, 0, w, srcLen, x, reqSize, 0, 0); - free(w); - - if (!retVal) - { - free(x); - return NULL; - } - - return x; -} - -UNICHAR *cp437ToUnichar(char *src) -{ - int32_t reqSize, retVal, srcLen; - UNICHAR *w; - - if (src == NULL) - return NULL; - - srcLen = (int32_t)strlen(src); - if (srcLen <= 0) - return NULL; - - reqSize = MultiByteToWideChar(437, 0, src, srcLen, 0, 0); - if (reqSize <= 0) - return NULL; - - w = (wchar_t *)malloc((reqSize + 1) * sizeof (wchar_t)); - if (w == NULL) - return NULL; - - w[reqSize] = 0; - - retVal = MultiByteToWideChar(437, 0, src, srcLen, w, reqSize); - if (!retVal) - { - free(w); - return NULL; - } - - return w; -} - -char *utf8ToCp437(char *src, bool removeIllegalChars) -{ - char *x; - int8_t ch; - int32_t reqSize, retVal, srcLen; - wchar_t *w; - - if (src == NULL) - return NULL; - - srcLen = (int32_t)strlen(src); - if (srcLen <= 0) - return NULL; - - reqSize = MultiByteToWideChar(CP_UTF8, 0, src, srcLen, 0, 0); - if (reqSize <= 0) - return NULL; - - w = (wchar_t *)malloc((reqSize + 1) * sizeof (wchar_t)); - if (w == NULL) - return NULL; - - w[reqSize] = 0; - - retVal = MultiByteToWideChar(CP_UTF8, 0, src, srcLen, w, reqSize); - if (!retVal) - { - free(w); - return NULL; - } - - srcLen = (int32_t)wcslen(w); - if (srcLen <= 0) - { - free(w); - return NULL; - } - - reqSize = WideCharToMultiByte(437, 0, w, srcLen, 0, 0, 0, 0); - if (reqSize <= 0) - { - free(w); - return NULL; - } - - x = (char *)calloc(reqSize + 1, sizeof (char)); - if (x == NULL) - { - free(w); - return NULL; - } - - x[reqSize] = '\0'; - - retVal = WideCharToMultiByte(437, 0, w, srcLen, x, reqSize, 0, 0); - free(w); - - if (!retVal) - { - free(x); - return NULL; - } - - if (removeIllegalChars) - { - // remove illegal characters (only allow certain nordic ones) - for (int32_t i = 0; i < reqSize; i++) - { - ch = (int8_t)x[i]; - if (ch < 32 && ch != 0 && ch != -124 && ch != -108 && - ch != -122 && ch != -114 && ch != -103 && ch != -113) - { - x[i] = ' '; // character not allowed, turn it into space - } - } - } - - return x; -} - -char *unicharToCp437(UNICHAR *src, bool removeIllegalChars) -{ - char *x; - int8_t ch; - int32_t reqSize, retVal, srcLen, i; - - if (src == NULL) - return NULL; - - srcLen = (int32_t)UNICHAR_STRLEN(src); - if (srcLen <= 0) - return NULL; - - reqSize = WideCharToMultiByte(437, 0, src, srcLen, 0, 0, 0, 0); - if (reqSize <= 0) - return NULL; - - x = (char *)malloc((reqSize + 1) * sizeof (char)); - if (x == NULL) - return NULL; - - x[reqSize] = '\0'; - - retVal = WideCharToMultiByte(437, 0, src, srcLen, x, reqSize, 0, 0); - if (!retVal) - { - free(x); - return NULL; - } - - if (removeIllegalChars) - { - // remove illegal characters (only allow certain nordic ones) - for (i = 0; i < reqSize; i++) - { - ch = (int8_t)x[i]; - if (ch < 32 && ch != 0 && ch != -124 && ch != -108 && - ch != -122 && ch != -114 && ch != -103 && ch != -113) - { - x[i] = ' '; // character not allowed, turn it into space - } - } - } - - return x; -} - -#else - -// non-Windows routines -char *cp437ToUtf8(char *src) -{ - char *inPtr, *outPtr, *outBuf; - int32_t rc; - size_t srcLen, inLen, outLen; - iconv_t cd; - - if (src == NULL) - return NULL; - - srcLen = strlen(src); - if (srcLen <= 0) - return NULL; - - cd = iconv_open("UTF-8", "437"); - if (cd == (iconv_t)-1) - return NULL; - - outLen = srcLen * 2; // should be sufficient - - outBuf = (char *)calloc(outLen + 2, sizeof (char)); - if (outBuf == NULL) - return NULL; - - inPtr = src; - inLen = srcLen; - outPtr = outBuf; - -#if defined(__NetBSD__) || defined(__sun) || defined(sun) - rc = iconv(cd, (const char **)&inPtr, &inLen, &outPtr, &outLen); -#else - rc = iconv(cd, &inPtr, &inLen, &outPtr, &outLen); -#endif - iconv(cd, NULL, NULL, &outPtr, &outLen); // flush - iconv_close(cd); - - if (rc == -1) - { - free(outBuf); - return NULL; - } - - return outBuf; -} - -char *utf8ToCp437(char *src, bool removeIllegalChars) -{ - char *inPtr, *outPtr, *outBuf; - int8_t ch; - int32_t rc; - size_t srcLen, inLen, outLen; - iconv_t cd; - - if (src == NULL) - return NULL; - - srcLen = strlen(src); - if (srcLen <= 0) - return NULL; - -#ifdef __APPLE__ - cd = iconv_open("437//TRANSLIT//IGNORE", "UTF-8-MAC"); -#elif defined(__NetBSD__) || defined(__sun) || defined(sun) - cd = iconv_open("437", "UTF-8"); -#else - cd = iconv_open("437//TRANSLIT//IGNORE", "UTF-8"); -#endif - if (cd == (iconv_t)-1) - return NULL; - - outLen = srcLen * 2; // should be sufficient - - outBuf = (char *)calloc(outLen + 1, sizeof (char)); - if (outBuf == NULL) - return NULL; - - inPtr = src; - inLen = srcLen; - outPtr = outBuf; - -#if defined(__NetBSD__) || defined(__sun) || defined(sun) - rc = iconv(cd, (const char **)&inPtr, &inLen, &outPtr, &outLen); -#else - rc = iconv(cd, &inPtr, &inLen, &outPtr, &outLen); -#endif - iconv(cd, NULL, NULL, &outPtr, &outLen); // flush - iconv_close(cd); - - if (rc == -1) - { - free(outBuf); - return NULL; - } - - if (removeIllegalChars) - { - // remove illegal characters (only allow certain nordic ones) - for (size_t i = 0; i < outLen; i++) - { - ch = (int8_t)outBuf[i]; - if (ch < 32 && ch != 0 && ch != -124 && ch != -108 && - ch != -122 && ch != -114 && ch != -103 && ch != -113) - { - outBuf[i] = ' '; // character not allowed, turn it into space - } - } - } - - return outBuf; -} -#endif +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include +#include +#ifdef _WIN32 +#define WIN32_LEAN_AND_MEAN +#include +#else +#include +#endif +#include "ft2_unicode.h" + +#ifdef _WIN32 + +// Windows routines +char *cp437ToUtf8(char *src) +{ + char *x; + int32_t reqSize, retVal, srcLen; + wchar_t *w; + + if (src == NULL) + return NULL; + + srcLen = (int32_t)strlen(src); + if (srcLen <= 0) + return NULL; + + reqSize = MultiByteToWideChar(437, 0, src, srcLen, 0, 0); + if (reqSize <= 0) + return NULL; + + w = (wchar_t *)malloc((reqSize + 1) * sizeof (wchar_t)); + if (w == NULL) + return NULL; + + w[reqSize] = 0; + + retVal = MultiByteToWideChar(437, 0, src, srcLen, w, reqSize); + if (!retVal) + { + free(w); + return NULL; + } + + srcLen = (int32_t)wcslen(w); + if (srcLen <= 0) + return NULL; + + reqSize = WideCharToMultiByte(CP_UTF8, 0, w, srcLen, 0, 0, 0, 0); + if (reqSize <= 0) + { + free(w); + return NULL; + } + + x = (char *)malloc((reqSize + 2) * sizeof (char)); + if (x == NULL) + { + free(w); + return NULL; + } + + x[reqSize+0] = '\0'; + x[reqSize+1] = '\0'; + + retVal = WideCharToMultiByte(CP_UTF8, 0, w, srcLen, x, reqSize, 0, 0); + free(w); + + if (!retVal) + { + free(x); + return NULL; + } + + return x; +} + +UNICHAR *cp437ToUnichar(char *src) +{ + int32_t reqSize, retVal, srcLen; + UNICHAR *w; + + if (src == NULL) + return NULL; + + srcLen = (int32_t)strlen(src); + if (srcLen <= 0) + return NULL; + + reqSize = MultiByteToWideChar(437, 0, src, srcLen, 0, 0); + if (reqSize <= 0) + return NULL; + + w = (wchar_t *)malloc((reqSize + 1) * sizeof (wchar_t)); + if (w == NULL) + return NULL; + + w[reqSize] = 0; + + retVal = MultiByteToWideChar(437, 0, src, srcLen, w, reqSize); + if (!retVal) + { + free(w); + return NULL; + } + + return w; +} + +char *utf8ToCp437(char *src, bool removeIllegalChars) +{ + char *x; + int8_t ch; + int32_t reqSize, retVal, srcLen; + wchar_t *w; + + if (src == NULL) + return NULL; + + srcLen = (int32_t)strlen(src); + if (srcLen <= 0) + return NULL; + + reqSize = MultiByteToWideChar(CP_UTF8, 0, src, srcLen, 0, 0); + if (reqSize <= 0) + return NULL; + + w = (wchar_t *)malloc((reqSize + 1) * sizeof (wchar_t)); + if (w == NULL) + return NULL; + + w[reqSize] = 0; + + retVal = MultiByteToWideChar(CP_UTF8, 0, src, srcLen, w, reqSize); + if (!retVal) + { + free(w); + return NULL; + } + + srcLen = (int32_t)wcslen(w); + if (srcLen <= 0) + { + free(w); + return NULL; + } + + reqSize = WideCharToMultiByte(437, 0, w, srcLen, 0, 0, 0, 0); + if (reqSize <= 0) + { + free(w); + return NULL; + } + + x = (char *)calloc(reqSize + 1, sizeof (char)); + if (x == NULL) + { + free(w); + return NULL; + } + + x[reqSize] = '\0'; + + retVal = WideCharToMultiByte(437, 0, w, srcLen, x, reqSize, 0, 0); + free(w); + + if (!retVal) + { + free(x); + return NULL; + } + + if (removeIllegalChars) + { + // remove illegal characters (only allow certain nordic ones) + for (int32_t i = 0; i < reqSize; i++) + { + ch = (int8_t)x[i]; + if (ch < 32 && ch != 0 && ch != -124 && ch != -108 && + ch != -122 && ch != -114 && ch != -103 && ch != -113) + { + x[i] = ' '; // character not allowed, turn it into space + } + } + } + + return x; +} + +char *unicharToCp437(UNICHAR *src, bool removeIllegalChars) +{ + char *x; + int8_t ch; + int32_t reqSize, retVal, srcLen, i; + + if (src == NULL) + return NULL; + + srcLen = (int32_t)UNICHAR_STRLEN(src); + if (srcLen <= 0) + return NULL; + + reqSize = WideCharToMultiByte(437, 0, src, srcLen, 0, 0, 0, 0); + if (reqSize <= 0) + return NULL; + + x = (char *)malloc((reqSize + 1) * sizeof (char)); + if (x == NULL) + return NULL; + + x[reqSize] = '\0'; + + retVal = WideCharToMultiByte(437, 0, src, srcLen, x, reqSize, 0, 0); + if (!retVal) + { + free(x); + return NULL; + } + + if (removeIllegalChars) + { + // remove illegal characters (only allow certain nordic ones) + for (i = 0; i < reqSize; i++) + { + ch = (int8_t)x[i]; + if (ch < 32 && ch != 0 && ch != -124 && ch != -108 && + ch != -122 && ch != -114 && ch != -103 && ch != -113) + { + x[i] = ' '; // character not allowed, turn it into space + } + } + } + + return x; +} + +#else + +// non-Windows routines +char *cp437ToUtf8(char *src) +{ + char *inPtr, *outPtr, *outBuf; + int32_t rc; + size_t srcLen, inLen, outLen; + iconv_t cd; + + if (src == NULL) + return NULL; + + srcLen = strlen(src); + if (srcLen <= 0) + return NULL; + + cd = iconv_open("UTF-8", "437"); + if (cd == (iconv_t)-1) + return NULL; + + outLen = srcLen * 2; // should be sufficient + + outBuf = (char *)calloc(outLen + 2, sizeof (char)); + if (outBuf == NULL) + return NULL; + + inPtr = src; + inLen = srcLen; + outPtr = outBuf; + +#if defined(__NetBSD__) || defined(__sun) || defined(sun) + rc = iconv(cd, (const char **)&inPtr, &inLen, &outPtr, &outLen); +#else + rc = iconv(cd, &inPtr, &inLen, &outPtr, &outLen); +#endif + iconv(cd, NULL, NULL, &outPtr, &outLen); // flush + iconv_close(cd); + + if (rc == -1) + { + free(outBuf); + return NULL; + } + + return outBuf; +} + +char *utf8ToCp437(char *src, bool removeIllegalChars) +{ + char *inPtr, *outPtr, *outBuf; + int8_t ch; + int32_t rc; + size_t srcLen, inLen, outLen; + iconv_t cd; + + if (src == NULL) + return NULL; + + srcLen = strlen(src); + if (srcLen <= 0) + return NULL; + +#ifdef __APPLE__ + cd = iconv_open("437//TRANSLIT//IGNORE", "UTF-8-MAC"); +#elif defined(__NetBSD__) || defined(__sun) || defined(sun) + cd = iconv_open("437", "UTF-8"); +#else + cd = iconv_open("437//TRANSLIT//IGNORE", "UTF-8"); +#endif + if (cd == (iconv_t)-1) + return NULL; + + outLen = srcLen * 2; // should be sufficient + + outBuf = (char *)calloc(outLen + 1, sizeof (char)); + if (outBuf == NULL) + return NULL; + + inPtr = src; + inLen = srcLen; + outPtr = outBuf; + +#if defined(__NetBSD__) || defined(__sun) || defined(sun) + rc = iconv(cd, (const char **)&inPtr, &inLen, &outPtr, &outLen); +#else + rc = iconv(cd, &inPtr, &inLen, &outPtr, &outLen); +#endif + iconv(cd, NULL, NULL, &outPtr, &outLen); // flush + iconv_close(cd); + + if (rc == -1) + { + free(outBuf); + return NULL; + } + + if (removeIllegalChars) + { + // remove illegal characters (only allow certain nordic ones) + for (size_t i = 0; i < outLen; i++) + { + ch = (int8_t)outBuf[i]; + if (ch < 32 && ch != 0 && ch != -124 && ch != -108 && + ch != -122 && ch != -114 && ch != -103 && ch != -113) + { + outBuf[i] = ' '; // character not allowed, turn it into space + } + } + } + + return outBuf; +} +#endif diff --git a/src/ft2_unicode.h b/src/ft2_unicode.h index 187e5c8..cbb0001 100644 --- a/src/ft2_unicode.h +++ b/src/ft2_unicode.h @@ -1,53 +1,53 @@ -#pragma once - -#include - -#ifdef _WIN32 -#include -#endif - -// unicode stuff for different platforms - -#ifdef _WIN32 - -// Windows -typedef wchar_t UNICHAR; -#define UNICHAR_STRCPY(a, b) wcscpy(a, b) -#define UNICHAR_STRNCPY(a, b, c) wcsncpy(a, b, c) -#define UNICHAR_STRCMP(a, b) wcscmp(a, b) -#define UNICHAR_STRNCMP(a, b, c) wcsncmp(a, b, c) -#define UNICHAR_STRCAT(a, b) wcscat(a, b) -#define UNICHAR_STRDUP(a) wcsdup(a) -#define UNICHAR_FOPEN(a, b) _wfopen(a, L ## b) -#define UNICHAR_CHDIR(a) _wchdir(a) -#define UNICHAR_GETCWD(a, b) _wgetcwd(a, b) -#define UNICHAR_RENAME(a, b) _wrename(a, b) -#define UNICHAR_REMOVE(a) _wremove(a) -#define UNICHAR_STRLEN(a) wcslen(a) -#else - -// other OSes -typedef char UNICHAR; -#define UNICHAR_STRCPY(a, b) strcpy(a, b) -#define UNICHAR_STRNCPY(a, b, c) strncpy(a, b, c) -#define UNICHAR_STRCMP(a, b) strcmp(a, b) -#define UNICHAR_STRNCMP(a, b, c) strncmp(a, b, c) -#define UNICHAR_STRCAT(a, b) strcat(a, b) -#define UNICHAR_STRDUP(a) strdup(a) -#define UNICHAR_FOPEN(a, b) fopen(a, b) -#define UNICHAR_CHDIR(a) chdir(a) -#define UNICHAR_GETCWD(a, b) getcwd(a, b) -#define UNICHAR_RENAME(a, b) rename(a, b) -#define UNICHAR_REMOVE(a) remove(a) -#define UNICHAR_STRLEN(a) strlen(a) -#endif - -char *cp437ToUtf8(char *src); -char *utf8ToCp437(char *src, bool removeIllegalChars); -#ifdef _WIN32 -UNICHAR *cp437ToUnichar(char *src); -char *unicharToCp437(UNICHAR *src, bool removeIllegalChars); -#else -#define cp437ToUnichar(a) cp437ToUtf8(a) -#define unicharToCp437(a, b) utf8ToCp437(a, b) -#endif +#pragma once + +#include + +#ifdef _WIN32 +#include +#endif + +// unicode stuff for different platforms + +#ifdef _WIN32 + +// Windows +typedef wchar_t UNICHAR; +#define UNICHAR_STRCPY(a, b) wcscpy(a, b) +#define UNICHAR_STRNCPY(a, b, c) wcsncpy(a, b, c) +#define UNICHAR_STRCMP(a, b) wcscmp(a, b) +#define UNICHAR_STRNCMP(a, b, c) wcsncmp(a, b, c) +#define UNICHAR_STRCAT(a, b) wcscat(a, b) +#define UNICHAR_STRDUP(a) wcsdup(a) +#define UNICHAR_FOPEN(a, b) _wfopen(a, L ## b) +#define UNICHAR_CHDIR(a) _wchdir(a) +#define UNICHAR_GETCWD(a, b) _wgetcwd(a, b) +#define UNICHAR_RENAME(a, b) _wrename(a, b) +#define UNICHAR_REMOVE(a) _wremove(a) +#define UNICHAR_STRLEN(a) wcslen(a) +#else + +// other OSes +typedef char UNICHAR; +#define UNICHAR_STRCPY(a, b) strcpy(a, b) +#define UNICHAR_STRNCPY(a, b, c) strncpy(a, b, c) +#define UNICHAR_STRCMP(a, b) strcmp(a, b) +#define UNICHAR_STRNCMP(a, b, c) strncmp(a, b, c) +#define UNICHAR_STRCAT(a, b) strcat(a, b) +#define UNICHAR_STRDUP(a) strdup(a) +#define UNICHAR_FOPEN(a, b) fopen(a, b) +#define UNICHAR_CHDIR(a) chdir(a) +#define UNICHAR_GETCWD(a, b) getcwd(a, b) +#define UNICHAR_RENAME(a, b) rename(a, b) +#define UNICHAR_REMOVE(a) remove(a) +#define UNICHAR_STRLEN(a) strlen(a) +#endif + +char *cp437ToUtf8(char *src); +char *utf8ToCp437(char *src, bool removeIllegalChars); +#ifdef _WIN32 +UNICHAR *cp437ToUnichar(char *src); +char *unicharToCp437(UNICHAR *src, bool removeIllegalChars); +#else +#define cp437ToUnichar(a) cp437ToUtf8(a) +#define unicharToCp437(a, b) utf8ToCp437(a, b) +#endif diff --git a/src/ft2_video.c b/src/ft2_video.c index 2892f3e..3d8db28 100644 --- a/src/ft2_video.c +++ b/src/ft2_video.c @@ -1,1120 +1,1170 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include -#include -#ifdef _WIN32 -#define WIN32_MEAN_AND_LEAN -#include -#include -#else -#include // usleep() -#endif -#include "ft2_header.h" -#include "ft2_config.h" -#include "ft2_gfxdata.h" -#include "ft2_gui.h" -#include "ft2_video.h" -#include "ft2_events.h" -#include "ft2_mouse.h" -#include "ft2_scopes.h" -#include "ft2_pattern_ed.h" -#include "ft2_sample_ed.h" -#include "ft2_nibbles.h" -#include "ft2_inst_ed.h" -#include "ft2_diskop.h" -#include "ft2_about.h" -#include "ft2_trim.h" -#include "ft2_sampling.h" -#include "ft2_module_loader.h" -#include "ft2_midi.h" - -// for FPS counter -#define FPS_SCAN_FRAMES 60 -#define FPS_RENDER_W 280 -#define FPS_RENDER_H (((FONT1_CHAR_H + 1) * 8) + 1) -#define FPS_RENDER_X 2 -#define FPS_RENDER_Y 2 - -static const uint8_t textCursorData[12] = -{ - PAL_FORGRND, PAL_FORGRND, PAL_FORGRND, - PAL_FORGRND, PAL_FORGRND, PAL_FORGRND, - PAL_FORGRND, PAL_FORGRND, PAL_FORGRND, - PAL_FORGRND, PAL_FORGRND, PAL_FORGRND -}; - -static bool songIsModified; -static char buf[1024], wndTitle[128 + PATH_MAX]; -static uint64_t frameStartTime, timeNext64, timeNext64Frac; -static sprite_t sprites[SPRITE_NUM]; -static double dRunningFPS, dFrameTime, dAvgFPS; - -static void drawReplayerData(void); - -void resetFPSCounter(void) -{ - editor.framesPassed = 0; - buf[0] = '\0'; - dRunningFPS = VBLANK_HZ; - dFrameTime = 1000.0 / VBLANK_HZ; -} - -void beginFPSCounter(void) -{ - if (video.showFPSCounter) - frameStartTime = SDL_GetPerformanceCounter(); -} - -static void drawFPSCounter(void) -{ - char *textPtr, ch; - uint16_t xPos, yPos; - double dRefreshRate, dAudLatency; - - if (!video.showFPSCounter) - return; - - if (editor.framesPassed >= FPS_SCAN_FRAMES && (editor.framesPassed % FPS_SCAN_FRAMES) == 0) - { - dAvgFPS = dRunningFPS * (1.0 / FPS_SCAN_FRAMES); - if (dAvgFPS < 0.0 || dAvgFPS > 99999999.9999) - dAvgFPS = 99999999.9999; // prevent number from overflowing text box - - dRunningFPS = 0.0; - } - - clearRect(FPS_RENDER_X+2, FPS_RENDER_Y+2, FPS_RENDER_W, FPS_RENDER_H); - vLineDouble(FPS_RENDER_X, FPS_RENDER_Y+1, FPS_RENDER_H+2, PAL_FORGRND); - vLineDouble(FPS_RENDER_X+FPS_RENDER_W, FPS_RENDER_Y+1, FPS_RENDER_H+2, PAL_FORGRND); - hLineDouble(FPS_RENDER_X+1, FPS_RENDER_Y, FPS_RENDER_W, PAL_FORGRND); - hLineDouble(FPS_RENDER_X+1, FPS_RENDER_Y+FPS_RENDER_H+2, FPS_RENDER_W, PAL_FORGRND); - - // test if enough data is collected yet - if (editor.framesPassed < FPS_SCAN_FRAMES) - { - textOut(FPS_RENDER_X+53, FPS_RENDER_Y+39, PAL_FORGRND, "Collecting frame information..."); - return; - } - - dRefreshRate = video.dMonitorRefreshRate; - if (dRefreshRate < 0.0 || dRefreshRate > 9999.9) - dRefreshRate = 9999.9; // prevent number from overflowing text box - - dAudLatency = audio.dAudioLatencyMs; - if (dAudLatency < 0.0 || dAudLatency > 999999999.9999) - dAudLatency = 999999999.9999; // prevent number from overflowing text box - - sprintf(buf, "Frames per second: %.4f\n" \ - "Monitor refresh rate: %.1fHz (+/-)\n" \ - "59..61Hz GPU VSync used: %s\n" \ - "Audio frequency: %.1fkHz (expected %.1fkHz)\n" \ - "Audio buffer samples: %d (expected %d)\n" \ - "Audio channels: %d (expected %d)\n" \ - "Audio latency: %.1fms (expected %.1fms)\n" \ - "Press CTRL+SHIFT+F to close this box.\n", - dAvgFPS, dRefreshRate, - video.vsync60HzPresent ? "yes" : "no", - audio.haveFreq * (1.0 / 1000.0), audio.wantFreq * (1.0 / 1000.0), - audio.haveSamples, audio.wantSamples, - audio.haveChannels, audio.wantChannels, - dAudLatency, ((audio.wantSamples * 1000.0) / audio.wantFreq)); - - // draw text - - xPos = FPS_RENDER_X + 3; - yPos = FPS_RENDER_Y + 3; - - textPtr = buf; - while (*textPtr != '\0') - { - ch = *textPtr++; - if (ch == '\n') - { - yPos += FONT1_CHAR_H+1; - xPos = FPS_RENDER_X + 3; - continue; - } - - charOut(xPos, yPos, PAL_FORGRND, ch); - xPos += charWidth(ch); - } -} - -void endFPSCounter(void) -{ - uint64_t frameTimeDiff; - double dHz; - - if (!video.showFPSCounter || frameStartTime == 0) - return; - - frameTimeDiff = SDL_GetPerformanceCounter() - frameStartTime; - dHz = 1000.0 / (frameTimeDiff * editor.dPerfFreqMulMs); - dRunningFPS += dHz; -} - -void flipFrame(void) -{ - uint32_t windowFlags = SDL_GetWindowFlags(video.window); - - renderSprites(); - drawFPSCounter(); - SDL_UpdateTexture(video.texture, NULL, video.frameBuffer, SCREEN_W * sizeof (int32_t)); - SDL_RenderClear(video.renderer); - SDL_RenderCopy(video.renderer, video.texture, NULL, NULL); - SDL_RenderPresent(video.renderer); - eraseSprites(); - - if (!video.vsync60HzPresent) - { - waitVBL(); // we have no VSync, do crude thread sleeping to sync to ~60Hz - } - else - { - /* We have VSync, but it can unexpectedly get inactive in certain scenarios. - ** We have to force thread sleeping (to ~60Hz) if so. - */ -#ifdef __APPLE__ - // macOS: VSync gets disabled if the window is 100% covered by another window. Let's add a (crude) fix: - if ((windowFlags & SDL_WINDOW_MINIMIZED) || !(windowFlags & SDL_WINDOW_INPUT_FOCUS)) - waitVBL(); -#elif __unix__ - // *NIX: VSync gets disabled in fullscreen mode (at least on some distros/systems). Let's add a fix: - if ((windowFlags & SDL_WINDOW_MINIMIZED) || video.fullscreen) - waitVBL(); -#else - if (!(windowFlags & SDL_WINDOW_MINIMIZED)) - waitVBL(); -#endif - } - - editor.framesPassed++; -} - -void showErrorMsgBox(const char *fmt, ...) -{ - char strBuf[256]; - va_list args; - - // format the text string - va_start(args, fmt); - vsnprintf(strBuf, sizeof (strBuf), fmt, args); - va_end(args); - - // window can be NULL here, no problem... - SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Error", strBuf, video.window); -} - -void updateRenderSizeVars(void) -{ - int32_t di; -#ifdef __APPLE__ - int32_t actualScreenW, actualScreenH; - double dXUpscale, dYUpscale; -#endif - float fXScale, fYScale; - SDL_DisplayMode dm; - - di = SDL_GetWindowDisplayIndex(video.window); - if (di < 0) - di = 0; // return display index 0 (default) on error - - SDL_GetDesktopDisplayMode(di, &dm); - video.displayW = dm.w; - video.displayH = dm.h; - - if (video.fullscreen) - { - if (config.windowFlags & FILTERING) - { - video.renderW = video.displayW; - video.renderH = video.displayH; - video.renderX = 0; - video.renderY = 0; - } - else - { - SDL_RenderGetScale(video.renderer, &fXScale, &fYScale); - - video.renderW = (int32_t)(SCREEN_W * fXScale); - video.renderH = (int32_t)(SCREEN_H * fYScale); - -#ifdef __APPLE__ - // retina high-DPI hackery (SDL2 is bad at reporting actual rendering sizes on macOS w/ high-DPI) - SDL_GL_GetDrawableSize(video.window, &actualScreenW, &actualScreenH); - - dXUpscale = (double)actualScreenW / video.displayW; - dYUpscale = (double)actualScreenH / video.displayH; - - // downscale back to correct sizes - if (dXUpscale != 0.0) video.renderW = (int32_t)(video.renderW / dXUpscale); - if (dYUpscale != 0.0) video.renderH = (int32_t)(video.renderH / dYUpscale); -#endif - video.renderX = (video.displayW - video.renderW) / 2; - video.renderY = (video.displayH - video.renderH) / 2; - } - } - else - { - SDL_GetWindowSize(video.window, &video.renderW, &video.renderH); - - video.renderX = 0; - video.renderY = 0; - } -} - -void enterFullscreen(void) -{ - SDL_DisplayMode dm; - - strcpy(editor.ui.fullscreenButtonText, "Go windowed"); - if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_MISCELLANEOUS) - showConfigScreen(); // redraw so that we can see the new button text - - if (config.windowFlags & FILTERING) - { - SDL_GetDesktopDisplayMode(0, &dm); - SDL_RenderSetLogicalSize(video.renderer, dm.w, dm.h); - } - else - { - SDL_RenderSetLogicalSize(video.renderer, SCREEN_W, SCREEN_H); - } - - SDL_SetWindowSize(video.window, SCREEN_W, SCREEN_H); - SDL_SetWindowFullscreen(video.window, SDL_WINDOW_FULLSCREEN_DESKTOP); - SDL_SetWindowGrab(video.window, SDL_TRUE); - - updateRenderSizeVars(); - updateMouseScaling(); - setMousePosToCenter(); -} - -void leaveFullScreen(void) -{ - strcpy(editor.ui.fullscreenButtonText, "Go fullscreen"); - if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_MISCELLANEOUS) - showConfigScreen(); // redraw so that we can see the new button text - - SDL_SetWindowFullscreen(video.window, 0); - SDL_RenderSetLogicalSize(video.renderer, SCREEN_W, SCREEN_H); - - setWindowSizeFromConfig(false); // also updates mouse scaling and render size vars - SDL_SetWindowSize(video.window, SCREEN_W * video.upscaleFactor, SCREEN_H * video.upscaleFactor); - SDL_SetWindowPosition(video.window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED); - SDL_SetWindowGrab(video.window, SDL_FALSE); - - updateRenderSizeVars(); - updateMouseScaling(); - setMousePosToCenter(); -} - -void toggleFullScreen(void) -{ - video.fullscreen ^= 1; - - if (video.fullscreen) - enterFullscreen(); - else - leaveFullScreen(); -} - -bool setupSprites(void) -{ - sprite_t *s; - - memset(sprites, 0, sizeof (sprites)); - - s = &sprites[SPRITE_MOUSE_POINTER]; - s->data = mouseCursors; - s->w = MOUSE_CURSOR_W; - s->h = MOUSE_CURSOR_H; - - s = &sprites[SPRITE_LEFT_LOOP_PIN]; - s->data = leftLoopPinUnclicked; - s->w = 16; - s->h = SAMPLE_AREA_HEIGHT; - - s = &sprites[SPRITE_RIGHT_LOOP_PIN]; - s->data = rightLoopPinUnclicked; - s->w = 16; - s->h = SAMPLE_AREA_HEIGHT; - - s = &sprites[SPRITE_TEXT_CURSOR]; - s->data = textCursorData; - s->w = 1; - s->h = 12; - - hideSprite(SPRITE_MOUSE_POINTER); - hideSprite(SPRITE_LEFT_LOOP_PIN); - hideSprite(SPRITE_RIGHT_LOOP_PIN); - hideSprite(SPRITE_TEXT_CURSOR); - - // setup refresh buffer (used to clear sprites after each frame) - for (uint32_t i = 0; i < SPRITE_NUM; i++) - { - sprites[i].refreshBuffer = (uint32_t *)malloc((sprites[i].w * sprites[i].h) * sizeof (int32_t)); - if (sprites[i].refreshBuffer == NULL) - return false; - } - - return true; -} - -void changeSpriteData(uint8_t sprite, const uint8_t *data) -{ - sprites[sprite].data = data; - memset(sprites[sprite].refreshBuffer, 0, sprites[sprite].w * sprites[sprite].h * sizeof (int32_t)); -} - -void freeSprites(void) -{ - for (uint32_t i = 0; i < SPRITE_NUM; i++) - { - if (sprites[i].refreshBuffer != NULL) - { - free(sprites[i].refreshBuffer); - sprites[i].refreshBuffer = NULL; - } - } -} - -void setLeftLoopPinState(bool clicked) -{ - changeSpriteData(SPRITE_LEFT_LOOP_PIN, clicked ? leftLoopPinClicked : leftLoopPinUnclicked); -} - -void setRightLoopPinState(bool clicked) -{ - changeSpriteData(SPRITE_RIGHT_LOOP_PIN, clicked ? rightLoopPinClicked : rightLoopPinUnclicked); -} - -int32_t getSpritePosX(uint8_t sprite) -{ - return sprites[sprite].x; -} - -void setSpritePos(uint8_t sprite, int16_t x, int16_t y) -{ - sprites[sprite].newX = x; - sprites[sprite].newY = y; -} - -void hideSprite(uint8_t sprite) -{ - sprites[sprite].newX = SCREEN_W; -} - -void eraseSprites(void) -{ - int8_t i; - register int32_t x, y, sw, sh, srcPitch, dstPitch; - const uint32_t *src32; - uint32_t *dst32; - sprite_t *s; - - for (i = (SPRITE_NUM - 1); i >= 0; i--) // erasing must be done in reverse order - { - s = &sprites[i]; - if (s->x >= SCREEN_W) // sprite is hidden, don't erase - continue; - - assert(s->y >= 0 && s->refreshBuffer != NULL); - - sw = s->w; - sh = s->h; - x = s->x; - y = s->y; - - // if x is negative, adjust variables (can only happen on loop pins in smp. ed.) - if (x < 0) - { - sw += x; // subtraction - x = 0; - } - - src32 = s->refreshBuffer; - dst32 = &video.frameBuffer[(y * SCREEN_W) + x]; - - if (y+sh >= SCREEN_H) sh = SCREEN_H - y; - if (x+sw >= SCREEN_W) sw = SCREEN_W - x; - - srcPitch = s->w - sw; - dstPitch = SCREEN_W - sw; - - for (y = 0; y < sh; y++) - { - for (x = 0; x < sw; x++) - *dst32++ = *src32++; - - src32 += srcPitch; - dst32 += dstPitch; - } - } -} - -void renderSprites(void) -{ - const uint8_t *src8; - register int32_t x, y, sw, sh, srcPitch, dstPitch; - uint32_t i, *clr32, *dst32, windowFlags; - sprite_t *s; - - for (i = 0; i < SPRITE_NUM; i++) - { - if (i == SPRITE_LEFT_LOOP_PIN || i == SPRITE_RIGHT_LOOP_PIN) - continue; // these need special drawing (done elsewhere) - - // don't render the text edit cursor if window is inactive - if (i == SPRITE_TEXT_CURSOR) - { - assert(video.window != NULL); - windowFlags = SDL_GetWindowFlags(video.window); - if (!(windowFlags & SDL_WINDOW_INPUT_FOCUS)) - continue; - } - - s = &sprites[i]; - - // set new sprite position - s->x = s->newX; - s->y = s->newY; - - if (s->x >= SCREEN_W) // sprite is hidden, don't draw nor fill clear buffer - continue; - - assert(s->x >= 0 && s->y >= 0 && s->data != NULL && s->refreshBuffer != NULL); - - sw = s->w; - sh = s->h; - src8 = s->data; - dst32 = &video.frameBuffer[(s->y * SCREEN_W) + s->x]; - clr32 = s->refreshBuffer; - - // handle xy clipping - if (s->y+sh >= SCREEN_H) sh = SCREEN_H - s->y; - if (s->x+sw >= SCREEN_W) sw = SCREEN_W - s->x; - - srcPitch = s->w - sw; - dstPitch = SCREEN_W - sw; - - if (mouse.mouseOverTextBox && i == SPRITE_MOUSE_POINTER) - { - // text edit mouse pointer (has color changing depending on content under it) - for (y = 0; y < sh; y++) - { - for (x = 0; x < sw; x++) - { - *clr32++ = *dst32; // fill clear buffer - - if (*src8 != PAL_TRANSPR) - { - if (!(*dst32 & 0xFFFFFF) || *dst32 == video.palette[PAL_TEXTMRK]) - *dst32 = 0xB3DBF6; - else - *dst32 = 0x004ECE; - } - - dst32++; - src8++; - } - - clr32 += srcPitch; - src8 += srcPitch; - dst32 += dstPitch; - } - } - else - { - // normal sprites - for (y = 0; y < sh; y++) - { - for (x = 0; x < sw; x++) - { - *clr32++ = *dst32; // fill clear buffer - - if (*src8 != PAL_TRANSPR) - { - assert(*src8 < PAL_NUM); - *dst32 = video.palette[*src8]; - } - - dst32++; - src8++; - } - - clr32 += srcPitch; - src8 += srcPitch; - dst32 += dstPitch; - } - } - } -} - -void renderLoopPins(void) -{ - uint8_t pal; - const uint8_t *src8; - int32_t sx; - register int32_t x, y, sw, sh, srcPitch, dstPitch; - uint32_t *clr32, *dst32; - sprite_t *s; - - // left loop pin - - s = &sprites[SPRITE_LEFT_LOOP_PIN]; - assert(s->data != NULL && s->refreshBuffer != NULL); - - // set new sprite position - s->x = s->newX; - s->y = s->newY; - - if (s->x < SCREEN_W) // loop pin shown? - { - sw = s->w; - sh = s->h; - sx = s->x; - - src8 = s->data; - clr32 = s->refreshBuffer; - - // if x is negative, adjust variables - if (sx < 0) - { - sw += sx; // subtraction - src8 -= sx; // addition - sx = 0; - } - - dst32 = &video.frameBuffer[(s->y * SCREEN_W) + sx]; - - // handle x clipping - if (s->x+sw >= SCREEN_W) sw = SCREEN_W - s->x; - - srcPitch = s->w - sw; - dstPitch = SCREEN_W - sw; - - for (y = 0; y < sh; y++) - { - for (x = 0; x < sw; x++) - { - *clr32++ = *dst32; // fill clear buffer - - if (*src8 != PAL_TRANSPR) - { - assert(*src8 < PAL_NUM); - *dst32 = video.palette[*src8]; - } - - dst32++; - src8++; - } - - src8 += srcPitch; - clr32 += srcPitch; - dst32 += dstPitch; - } - } - - // right loop pin - - s = &sprites[SPRITE_RIGHT_LOOP_PIN]; - assert(s->data != NULL && s->refreshBuffer != NULL); - - // set new sprite position - s->x = s->newX; - s->y = s->newY; - - if (s->x < SCREEN_W) // loop pin shown? - { - s->x = s->newX; - s->y = s->newY; - - sw = s->w; - sh = s->h; - sx = s->x; - - src8 = s->data; - clr32 = s->refreshBuffer; - - // if x is negative, adjust variables - if (sx < 0) - { - sw += sx; // subtraction - src8 -= sx; // addition - sx = 0; - } - - dst32 = &video.frameBuffer[(s->y * SCREEN_W) + sx]; - - // handle x clipping - if (s->x+sw >= SCREEN_W) sw = SCREEN_W - s->x; - - srcPitch = s->w - sw; - dstPitch = SCREEN_W - sw; - - for (y = 0; y < sh; y++) - { - for (x = 0; x < sw; x++) - { - *clr32++ = *dst32; - - if (*src8 != PAL_TRANSPR) - { - assert(*src8 < PAL_NUM); - if (y < 9 && *src8 == PAL_LOOPPIN) - { - // don't draw marker line on top of left loop pin's thumb graphics - pal = *dst32 >> 24; - if (pal != PAL_DESKTOP && pal != PAL_DSKTOP1 && pal != PAL_DSKTOP2) - *dst32 = video.palette[*src8]; - } - else - { - *dst32 = video.palette[*src8]; - } - } - - dst32++; - src8++; - } - - src8 += srcPitch; - clr32 += srcPitch; - dst32 += dstPitch; - } - } -} - -void setupWaitVBL(void) -{ - // set next frame time - timeNext64 = SDL_GetPerformanceCounter() + video.vblankTimeLen; - timeNext64Frac = video.vblankTimeLenFrac; -} - -void waitVBL(void) -{ - // this routine almost never delays if we have 60Hz vsync, but it's still needed in some occasions - int32_t time32; - uint32_t diff32; - uint64_t time64; - - time64 = SDL_GetPerformanceCounter(); - if (time64 < timeNext64) - { - assert(timeNext64-time64 <= 0xFFFFFFFFULL); - diff32 = (uint32_t)(timeNext64 - time64); - - // convert and round to microseconds - time32 = (int32_t)((diff32 * editor.dPerfFreqMulMicro) + 0.5); - - // delay until we have reached next frame - if (time32 > 0) - usleep(time32); - } - - // update next frame time - - timeNext64 += video.vblankTimeLen; - - timeNext64Frac += video.vblankTimeLenFrac; - if (timeNext64Frac >= (1ULL << 32)) - { - timeNext64Frac &= 0xFFFFFFFF; - timeNext64++; - } -} - -void closeVideo(void) -{ - if (video.texture != NULL) - { - SDL_DestroyTexture(video.texture); - video.texture = NULL; - } - - if (video.renderer != NULL) - { - SDL_DestroyRenderer(video.renderer); - video.renderer = NULL; - } - - if (video.window != NULL) - { - SDL_DestroyWindow(video.window); - video.window = NULL; - } - - if (video.frameBuffer != NULL) - { - free(video.frameBuffer); - video.frameBuffer = NULL; - } -} - -void setWindowSizeFromConfig(bool updateRenderer) -{ -#define MAX_UPSCALE_FACTOR 16 // 10112x6400 - ought to be good enough for many years to come - - uint8_t i, oldUpscaleFactor; - SDL_DisplayMode dm; - - oldUpscaleFactor = video.upscaleFactor; - if (config.windowFlags & WINSIZE_AUTO) - { - // find out which upscaling factor is the biggest to fit on screen - if (SDL_GetDesktopDisplayMode(0, &dm) == 0) - { - for (i = MAX_UPSCALE_FACTOR; i >= 1; i--) - { - // slightly bigger than 632x400 because of window title, window borders and taskbar/menu - if (dm.w >= 640*i && dm.h >= 450*i) - { - video.upscaleFactor = i; - break; - } - } - - if (i == 0) - video.upscaleFactor = 1; // 1x is not going to fit, but use 1x anyways... - } - else - { - // couldn't get screen resolution, set to 1x - video.upscaleFactor = 1; - } - } - else if (config.windowFlags & WINSIZE_1X) video.upscaleFactor = 1; - else if (config.windowFlags & WINSIZE_2X) video.upscaleFactor = 2; - else if (config.windowFlags & WINSIZE_3X) video.upscaleFactor = 3; - else if (config.windowFlags & WINSIZE_4X) video.upscaleFactor = 4; - - if (updateRenderer) - { - SDL_SetWindowSize(video.window, SCREEN_W * video.upscaleFactor, SCREEN_H * video.upscaleFactor); - - if (oldUpscaleFactor != video.upscaleFactor) - SDL_SetWindowPosition(video.window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED); - - updateRenderSizeVars(); - updateMouseScaling(); - setMousePosToCenter(); - } -} - -void updateWindowTitle(bool forceUpdate) -{ - char *songTitle; - - if (!forceUpdate && songIsModified == song.isModified) - return; // window title is already set to the same - - songTitle = getCurrSongFilename(); - if (songTitle != NULL) - { - if (song.isModified) - sprintf(wndTitle, "Fasttracker II clone (beta #%d) - \"%s\" (unsaved)", BETA_VERSION, songTitle); - else - sprintf(wndTitle, "Fasttracker II clone (beta #%d) - \"%s\"", BETA_VERSION, songTitle); - } - else - { - if (song.isModified) - sprintf(wndTitle, "Fasttracker II clone (beta #%d) - \"untitled\" (unsaved)", BETA_VERSION); - else - sprintf(wndTitle, "Fasttracker II clone (beta #%d) - \"untitled\"", BETA_VERSION); - } - - SDL_SetWindowTitle(video.window, wndTitle); - songIsModified = song.isModified; -} - -bool recreateTexture(void) -{ - if (video.texture != NULL) - { - SDL_DestroyTexture(video.texture); - video.texture = NULL; - } - - if (config.windowFlags & FILTERING) - SDL_SetHint("SDL_RENDER_SCALE_QUALITY", "best"); - else - SDL_SetHint("SDL_RENDER_SCALE_QUALITY", "nearest"); - - video.texture = SDL_CreateTexture(video.renderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, SCREEN_W, SCREEN_H); - if (video.texture == NULL) - { - showErrorMsgBox("Couldn't create a %dx%d GPU texture:\n%s\n\nIs your GPU (+ driver) too old?", SCREEN_W, SCREEN_H, SDL_GetError()); - return false; - } - - SDL_SetTextureBlendMode(video.texture, SDL_BLENDMODE_NONE); - return true; -} - -bool setupWindow(void) -{ - uint32_t windowFlags; - SDL_DisplayMode dm; - - video.vsync60HzPresent = false; - windowFlags = SDL_WINDOW_HIDDEN | SDL_WINDOW_ALLOW_HIGHDPI; - - setWindowSizeFromConfig(false); - -#if SDL_PATCHLEVEL >= 5 // SDL 2.0.5 or later - SDL_SetHint(SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH, "1"); -#endif - - SDL_GetDesktopDisplayMode(0, &dm); - video.dMonitorRefreshRate = (double)dm.refresh_rate; - - if (dm.refresh_rate >= 59 && dm.refresh_rate <= 61) - video.vsync60HzPresent = true; - - if (config.windowFlags & FORCE_VSYNC_OFF) - video.vsync60HzPresent = false; - - video.window = SDL_CreateWindow("", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, - SCREEN_W * video.upscaleFactor, SCREEN_H * video.upscaleFactor, - windowFlags); - - if (video.window == NULL) - { - showErrorMsgBox("Couldn't create SDL window:\n%s", SDL_GetError()); - return false; - } - - updateWindowTitle(true); - - return true; -} - -bool setupRenderer(void) -{ - uint32_t rendererFlags; - - rendererFlags = 0; - if (video.vsync60HzPresent) - rendererFlags |= SDL_RENDERER_PRESENTVSYNC; - - video.renderer = SDL_CreateRenderer(video.window, -1, rendererFlags); - if (video.renderer == NULL) - { - if (video.vsync60HzPresent) - { - // try again without vsync flag - video.vsync60HzPresent = false; - - rendererFlags &= ~SDL_RENDERER_PRESENTVSYNC; - video.renderer = SDL_CreateRenderer(video.window, -1, rendererFlags); - } - - if (video.renderer == NULL) - { - showErrorMsgBox("Couldn't create SDL renderer:\n%s\n\nIs your GPU (+ driver) too old?", - SDL_GetError()); - return false; - } - } - - SDL_RenderSetLogicalSize(video.renderer, SCREEN_W, SCREEN_H); - -#if SDL_PATCHLEVEL >= 5 - SDL_RenderSetIntegerScale(video.renderer, SDL_TRUE); -#endif - - SDL_SetRenderDrawBlendMode(video.renderer, SDL_BLENDMODE_NONE); - - if (!recreateTexture()) - { - showErrorMsgBox("Couldn't create a %dx%d GPU texture:\n%s\n\nIs your GPU (+ driver) too old?", - SCREEN_W, SCREEN_H, SDL_GetError()); - return false; - } - - // framebuffer used by SDL (for texture) - video.frameBuffer = (uint32_t *)malloc(SCREEN_W * SCREEN_H * sizeof (int32_t)); - if (video.frameBuffer == NULL) - { - showErrorMsgBox("Not enough memory!"); - return false; - } - - if (!setupSprites()) - return false; - - updateRenderSizeVars(); - updateMouseScaling(); - - if (config.specialFlags2 & HARDWARE_MOUSE) - SDL_ShowCursor(SDL_TRUE); - else - SDL_ShowCursor(SDL_FALSE); - - return true; -} - -void handleRedrawing(void) -{ - textBox_t *txt; - - if (!editor.ui.configScreenShown && !editor.ui.helpScreenShown) - { - if (editor.ui.aboutScreenShown) - { - aboutFrame(); - } - else if (editor.ui.nibblesShown) - { - if (editor.NI_Play) - moveNibblePlayers(); - } - else - { - if (editor.ui.updatePosSections) - { - editor.ui.updatePosSections = false; - - if (!editor.ui.diskOpShown) - { - drawSongRepS(); - drawSongLength(); - drawPosEdNums(editor.songPos); - drawEditPattern(editor.editPattern); - drawPatternLength(editor.editPattern); - drawSongBPM(editor.speed); - drawSongSpeed(editor.tempo); - drawGlobalVol(editor.globalVol); - - if (!songPlaying || editor.wavIsRendering) - setScrollBarPos(SB_POS_ED, editor.songPos, false); - - // draw current mode text (not while in extended pattern editor mode) - if (!editor.ui.extended) - { - fillRect(115, 80, 74, 10, PAL_DESKTOP); - - if (playMode == PLAYMODE_PATT) textOut(115, 80, PAL_FORGRND, "> Play ptn. <"); - else if (playMode == PLAYMODE_EDIT) textOut(121, 80, PAL_FORGRND, "> Editing <"); - else if (playMode == PLAYMODE_RECSONG) textOut(114, 80, PAL_FORGRND, "> Rec. sng. <"); - else if (playMode == PLAYMODE_RECPATT) textOut(115, 80, PAL_FORGRND, "> Rec. ptn. <"); - } - } - } - - if (!editor.ui.extended) - { - if (!editor.ui.diskOpShown) - drawPlaybackTime(); - - if (editor.ui.sampleEditorExtShown) handleSampleEditorExtRedrawing(); - else if (editor.ui.scopesShown) drawScopes(); - } - } - } - - drawReplayerData(); - - if (editor.ui.instEditorShown) handleInstEditorRedrawing(); - else if (editor.ui.sampleEditorShown) handleSamplerRedrawing(); - - // blink text edit cursor - if (editor.editTextFlag && mouse.lastEditBox != -1) - { - assert(mouse.lastEditBox >= 0 && mouse.lastEditBox < NUM_TEXTBOXES); - - txt = &textBoxes[mouse.lastEditBox]; - if (editor.textCursorBlinkCounter < 256/2 && !textIsMarked() && !(mouse.leftButtonPressed | mouse.rightButtonPressed)) - setSpritePos(SPRITE_TEXT_CURSOR, getTextCursorX(txt), getTextCursorY(txt) - 1); // show text cursor - else - hideSprite(SPRITE_TEXT_CURSOR); // hide text cursor - - editor.textCursorBlinkCounter += TEXT_CURSOR_BLINK_RATE; - } - - if (editor.busy) - animateBusyMouse(); - - renderLoopPins(); -} - -static void drawReplayerData(void) -{ - bool drawPosText; - - if (songPlaying) - { - if (editor.ui.drawReplayerPianoFlag) - { - editor.ui.drawReplayerPianoFlag = false; - if (editor.ui.instEditorShown) - { - if (chSyncEntry != NULL) - drawPianoReplayer(chSyncEntry); - } - } - - drawPosText = true; - if (editor.ui.configScreenShown || editor.ui.nibblesShown || - editor.ui.helpScreenShown || editor.ui.aboutScreenShown || - editor.ui.diskOpShown) - { - drawPosText = false; - } - - if (drawPosText) - { - if (editor.ui.drawBPMFlag) - { - editor.ui.drawBPMFlag = false; - drawSongBPM(editor.speed); - } - - if (editor.ui.drawSpeedFlag) - { - editor.ui.drawSpeedFlag = false; - drawSongSpeed(editor.tempo); - } - - if (editor.ui.drawGlobVolFlag) - { - editor.ui.drawGlobVolFlag = false; - drawGlobalVol(editor.globalVol); - } - - if (editor.ui.drawPosEdFlag) - { - editor.ui.drawPosEdFlag = false; - drawPosEdNums(editor.songPos); - setScrollBarPos(SB_POS_ED, editor.songPos, false); - } - - if (editor.ui.drawPattNumLenFlag) - { - editor.ui.drawPattNumLenFlag = false; - drawEditPattern(editor.editPattern); - drawPatternLength(editor.editPattern); - } - } - } - else if (editor.ui.instEditorShown) - { - drawPiano(); - } - - // handle pattern data updates - if (editor.ui.updatePatternEditor) - { - editor.ui.updatePatternEditor = false; - if (editor.ui.patternEditorShown) - writePattern(editor.pattPos, editor.editPattern); - } -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include +#include +#ifdef _WIN32 +#define WIN32_MEAN_AND_LEAN +#include +#include +#else +#include // usleep() +#endif +#include "ft2_header.h" +#include "ft2_config.h" +#include "ft2_gfxdata.h" +#include "ft2_gui.h" +#include "ft2_video.h" +#include "ft2_events.h" +#include "ft2_mouse.h" +#include "ft2_scopes.h" +#include "ft2_pattern_ed.h" +#include "ft2_pattern_draw.h" +#include "ft2_sample_ed.h" +#include "ft2_nibbles.h" +#include "ft2_inst_ed.h" +#include "ft2_diskop.h" +#include "ft2_about.h" +#include "ft2_trim.h" +#include "ft2_sampling.h" +#include "ft2_module_loader.h" +#include "ft2_midi.h" + +static const uint8_t textCursorData[12] = +{ + PAL_FORGRND, PAL_FORGRND, PAL_FORGRND, + PAL_FORGRND, PAL_FORGRND, PAL_FORGRND, + PAL_FORGRND, PAL_FORGRND, PAL_FORGRND, + PAL_FORGRND, PAL_FORGRND, PAL_FORGRND +}; + +static bool songIsModified; +static char wndTitle[128 + PATH_MAX]; +static uint64_t timeNext64, timeNext64Frac; +static sprite_t sprites[SPRITE_NUM]; + +// for FPS counter +#define FPS_SCAN_FRAMES 60 +#define FPS_RENDER_W 280 +#define FPS_RENDER_H (((FONT1_CHAR_H + 1) * 8) + 1) +#define FPS_RENDER_X 2 +#define FPS_RENDER_Y 2 + +static char fpsTextBuf[1024]; +static uint64_t frameStartTime; +static double dRunningFPS, dFrameTime, dAvgFPS; +// ------------------ + +static void drawReplayerData(void); + +void resetFPSCounter(void) +{ + editor.framesPassed = 0; + fpsTextBuf[0] = '\0'; + dRunningFPS = VBLANK_HZ; + dFrameTime = 1000.0 / VBLANK_HZ; +} + +void beginFPSCounter(void) +{ + if (video.showFPSCounter) + frameStartTime = SDL_GetPerformanceCounter(); +} + +static void drawFPSCounter(void) +{ + char *textPtr, ch; + uint16_t xPos, yPos; + double dRefreshRate, dAudLatency; + + if (editor.framesPassed >= FPS_SCAN_FRAMES && (editor.framesPassed % FPS_SCAN_FRAMES) == 0) + { + dAvgFPS = dRunningFPS * (1.0 / FPS_SCAN_FRAMES); + if (dAvgFPS < 0.0 || dAvgFPS > 99999999.9999) + dAvgFPS = 99999999.9999; // prevent number from overflowing text box + + dRunningFPS = 0.0; + } + + clearRect(FPS_RENDER_X+2, FPS_RENDER_Y+2, FPS_RENDER_W, FPS_RENDER_H); + vLineDouble(FPS_RENDER_X, FPS_RENDER_Y+1, FPS_RENDER_H+2, PAL_FORGRND); + vLineDouble(FPS_RENDER_X+FPS_RENDER_W, FPS_RENDER_Y+1, FPS_RENDER_H+2, PAL_FORGRND); + hLineDouble(FPS_RENDER_X+1, FPS_RENDER_Y, FPS_RENDER_W, PAL_FORGRND); + hLineDouble(FPS_RENDER_X+1, FPS_RENDER_Y+FPS_RENDER_H+2, FPS_RENDER_W, PAL_FORGRND); + + // test if enough data is collected yet + if (editor.framesPassed < FPS_SCAN_FRAMES) + { + textOut(FPS_RENDER_X+53, FPS_RENDER_Y+39, PAL_FORGRND, "Collecting frame information..."); + return; + } + + dRefreshRate = video.dMonitorRefreshRate; + if (dRefreshRate < 0.0 || dRefreshRate > 9999.9) + dRefreshRate = 9999.9; // prevent number from overflowing text box + + dAudLatency = audio.dAudioLatencyMs; + if (dAudLatency < 0.0 || dAudLatency > 999999999.9999) + dAudLatency = 999999999.9999; // prevent number from overflowing text box + + sprintf(fpsTextBuf, "Frames per second: %.4f\n" \ + "Monitor refresh rate: %.1fHz (+/-)\n" \ + "59..61Hz GPU VSync used: %s\n" \ + "Audio frequency: %.1fkHz (expected %.1fkHz)\n" \ + "Audio buffer samples: %d (expected %d)\n" \ + "Audio channels: %d (expected %d)\n" \ + "Audio latency: %.1fms (expected %.1fms)\n" \ + "Press CTRL+SHIFT+F to close this box.\n", + dAvgFPS, dRefreshRate, + video.vsync60HzPresent ? "yes" : "no", + audio.haveFreq * (1.0 / 1000.0), audio.wantFreq * (1.0 / 1000.0), + audio.haveSamples, audio.wantSamples, + audio.haveChannels, audio.wantChannels, + dAudLatency, ((audio.wantSamples * 1000.0) / audio.wantFreq)); + + // draw text + + xPos = FPS_RENDER_X + 3; + yPos = FPS_RENDER_Y + 3; + + textPtr = fpsTextBuf; + while (*textPtr != '\0') + { + ch = *textPtr++; + if (ch == '\n') + { + yPos += FONT1_CHAR_H+1; + xPos = FPS_RENDER_X + 3; + continue; + } + + charOut(xPos, yPos, PAL_FORGRND, ch); + xPos += charWidth(ch); + } +} + +void endFPSCounter(void) +{ + uint64_t frameTimeDiff; + double dHz; + + if (!video.showFPSCounter || frameStartTime == 0) + return; + + frameTimeDiff = SDL_GetPerformanceCounter() - frameStartTime; + dHz = 1000.0 / (frameTimeDiff * editor.dPerfFreqMulMs); + dRunningFPS += dHz; +} + +void flipFrame(void) +{ + uint32_t windowFlags = SDL_GetWindowFlags(video.window); + + renderSprites(); + + if (video.showFPSCounter) + drawFPSCounter(); + + SDL_UpdateTexture(video.texture, NULL, video.frameBuffer, SCREEN_W * sizeof (int32_t)); + SDL_RenderClear(video.renderer); + SDL_RenderCopy(video.renderer, video.texture, NULL, NULL); + SDL_RenderPresent(video.renderer); + eraseSprites(); + + if (!video.vsync60HzPresent) + { + waitVBL(); // we have no VSync, do crude thread sleeping to sync to ~60Hz + } + else + { + /* We have VSync, but it can unexpectedly get inactive in certain scenarios. + ** We have to force thread sleeping (to ~60Hz) if so. + */ +#ifdef __APPLE__ + // macOS: VSync gets disabled if the window is 100% covered by another window. Let's add a (crude) fix: + if ((windowFlags & SDL_WINDOW_MINIMIZED) || !(windowFlags & SDL_WINDOW_INPUT_FOCUS)) + waitVBL(); +#elif __unix__ + // *NIX: VSync gets disabled in fullscreen mode (at least on some distros/systems). Let's add a fix: + if ((windowFlags & SDL_WINDOW_MINIMIZED) || video.fullscreen) + waitVBL(); +#else + if (windowFlags & SDL_WINDOW_MINIMIZED) + waitVBL(); +#endif + } + + editor.framesPassed++; +} + +void showErrorMsgBox(const char *fmt, ...) +{ + char strBuf[256]; + va_list args; + + // format the text string + va_start(args, fmt); + vsnprintf(strBuf, sizeof (strBuf), fmt, args); + va_end(args); + + // window can be NULL here, no problem... + SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Error", strBuf, video.window); +} + +static void updateRenderSizeVars(void) +{ + int32_t di; +#ifdef __APPLE__ + int32_t actualScreenW, actualScreenH; + double dXUpscale, dYUpscale; +#endif + float fXScale, fYScale; + SDL_DisplayMode dm; + + di = SDL_GetWindowDisplayIndex(video.window); + if (di < 0) + di = 0; // return display index 0 (default) on error + + SDL_GetDesktopDisplayMode(di, &dm); + video.displayW = dm.w; + video.displayH = dm.h; + + if (video.fullscreen) + { + if (config.windowFlags & FILTERING) + { + video.renderW = video.displayW; + video.renderH = video.displayH; + video.renderX = 0; + video.renderY = 0; + } + else + { + SDL_RenderGetScale(video.renderer, &fXScale, &fYScale); + + video.renderW = (int32_t)(SCREEN_W * fXScale); + video.renderH = (int32_t)(SCREEN_H * fYScale); + +#ifdef __APPLE__ + // retina high-DPI hackery (SDL2 is bad at reporting actual rendering sizes on macOS w/ high-DPI) + SDL_GL_GetDrawableSize(video.window, &actualScreenW, &actualScreenH); + + dXUpscale = (double)actualScreenW / video.displayW; + dYUpscale = (double)actualScreenH / video.displayH; + + // downscale back to correct sizes + if (dXUpscale != 0.0) video.renderW = (int32_t)(video.renderW / dXUpscale); + if (dYUpscale != 0.0) video.renderH = (int32_t)(video.renderH / dYUpscale); +#endif + video.renderX = (video.displayW - video.renderW) / 2; + video.renderY = (video.displayH - video.renderH) / 2; + } + } + else + { + SDL_GetWindowSize(video.window, &video.renderW, &video.renderH); + + video.renderX = 0; + video.renderY = 0; + } + + // for mouse cursor creation + video.xScale = (uint32_t)round(video.renderW / (double)SCREEN_W); + video.yScale = (uint32_t)round(video.renderH / (double)SCREEN_H); + createMouseCursors(); +} + +void enterFullscreen(void) +{ + SDL_DisplayMode dm; + + strcpy(editor.ui.fullscreenButtonText, "Go windowed"); + if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_MISCELLANEOUS) + showConfigScreen(); // redraw so that we can see the new button text + + if (config.windowFlags & FILTERING) + { + SDL_GetDesktopDisplayMode(0, &dm); + SDL_RenderSetLogicalSize(video.renderer, dm.w, dm.h); + } + else + { + SDL_RenderSetLogicalSize(video.renderer, SCREEN_W, SCREEN_H); + } + + SDL_SetWindowSize(video.window, SCREEN_W, SCREEN_H); + SDL_SetWindowFullscreen(video.window, SDL_WINDOW_FULLSCREEN_DESKTOP); + SDL_SetWindowGrab(video.window, SDL_TRUE); + + updateRenderSizeVars(); + updateMouseScaling(); + setMousePosToCenter(); +} + +void leaveFullScreen(void) +{ + strcpy(editor.ui.fullscreenButtonText, "Go fullscreen"); + if (editor.ui.configScreenShown && editor.currConfigScreen == CONFIG_SCREEN_MISCELLANEOUS) + showConfigScreen(); // redraw so that we can see the new button text + + SDL_SetWindowFullscreen(video.window, 0); + SDL_RenderSetLogicalSize(video.renderer, SCREEN_W, SCREEN_H); + + setWindowSizeFromConfig(false); // also updates mouse scaling and render size vars + SDL_SetWindowSize(video.window, SCREEN_W * video.upscaleFactor, SCREEN_H * video.upscaleFactor); + SDL_SetWindowPosition(video.window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED); + SDL_SetWindowGrab(video.window, SDL_FALSE); + + updateRenderSizeVars(); + updateMouseScaling(); + setMousePosToCenter(); +} + +void toggleFullScreen(void) +{ + video.fullscreen ^= 1; + + if (video.fullscreen) + enterFullscreen(); + else + leaveFullScreen(); +} + +bool setupSprites(void) +{ + sprite_t *s; + + memset(sprites, 0, sizeof (sprites)); + + s = &sprites[SPRITE_MOUSE_POINTER]; + s->data = mouseCursors; + s->w = MOUSE_CURSOR_W; + s->h = MOUSE_CURSOR_H; + + s = &sprites[SPRITE_LEFT_LOOP_PIN]; + s->data = leftLoopPinUnclicked; + s->w = 16; + s->h = SAMPLE_AREA_HEIGHT; + + s = &sprites[SPRITE_RIGHT_LOOP_PIN]; + s->data = rightLoopPinUnclicked; + s->w = 16; + s->h = SAMPLE_AREA_HEIGHT; + + s = &sprites[SPRITE_TEXT_CURSOR]; + s->data = textCursorData; + s->w = 1; + s->h = 12; + + hideSprite(SPRITE_MOUSE_POINTER); + hideSprite(SPRITE_LEFT_LOOP_PIN); + hideSprite(SPRITE_RIGHT_LOOP_PIN); + hideSprite(SPRITE_TEXT_CURSOR); + + // setup refresh buffer (used to clear sprites after each frame) + for (uint32_t i = 0; i < SPRITE_NUM; i++) + { + sprites[i].refreshBuffer = (uint32_t *)malloc(sprites[i].w * sprites[i].h * sizeof (int32_t)); + if (sprites[i].refreshBuffer == NULL) + return false; + } + + return true; +} + +void changeSpriteData(uint8_t sprite, const uint8_t *data) +{ + sprites[sprite].data = data; + memset(sprites[sprite].refreshBuffer, 0, sprites[sprite].w * sprites[sprite].h * sizeof (int32_t)); +} + +void freeSprites(void) +{ + for (uint32_t i = 0; i < SPRITE_NUM; i++) + { + if (sprites[i].refreshBuffer != NULL) + { + free(sprites[i].refreshBuffer); + sprites[i].refreshBuffer = NULL; + } + } +} + +void setLeftLoopPinState(bool clicked) +{ + changeSpriteData(SPRITE_LEFT_LOOP_PIN, clicked ? leftLoopPinClicked : leftLoopPinUnclicked); +} + +void setRightLoopPinState(bool clicked) +{ + changeSpriteData(SPRITE_RIGHT_LOOP_PIN, clicked ? rightLoopPinClicked : rightLoopPinUnclicked); +} + +int32_t getSpritePosX(uint8_t sprite) +{ + return sprites[sprite].x; +} + +void setSpritePos(uint8_t sprite, int16_t x, int16_t y) +{ + sprites[sprite].newX = x; + sprites[sprite].newY = y; +} + +void hideSprite(uint8_t sprite) +{ + sprites[sprite].newX = SCREEN_W; +} + +void eraseSprites(void) +{ + int8_t i; + register int32_t x, y, sw, sh, srcPitch, dstPitch; + const uint32_t *src32; + uint32_t *dst32; + sprite_t *s; + + for (i = SPRITE_NUM-1; i >= 0; i--) // erasing must be done in reverse order + { + s = &sprites[i]; + if (s->x >= SCREEN_W) // sprite is hidden, don't erase + continue; + + assert(s->y >= 0 && s->refreshBuffer != NULL); + + sw = s->w; + sh = s->h; + x = s->x; + y = s->y; + + // if x is negative, adjust variables (can only happen on loop pins in smp. ed.) + if (x < 0) + { + sw += x; // subtraction + x = 0; + } + + src32 = s->refreshBuffer; + dst32 = &video.frameBuffer[(y * SCREEN_W) + x]; + + if (y+sh >= SCREEN_H) sh = SCREEN_H - y; + if (x+sw >= SCREEN_W) sw = SCREEN_W - x; + + srcPitch = s->w - sw; + dstPitch = SCREEN_W - sw; + + for (y = 0; y < sh; y++) + { + for (x = 0; x < sw; x++) + *dst32++ = *src32++; + + src32 += srcPitch; + dst32 += dstPitch; + } + } +} + +void renderSprites(void) +{ + const uint8_t *src8; + register int32_t x, y, sw, sh, srcPitch, dstPitch; + uint32_t i, *clr32, *dst32, windowFlags; + sprite_t *s; + + for (i = 0; i < SPRITE_NUM; i++) + { + if (i == SPRITE_LEFT_LOOP_PIN || i == SPRITE_RIGHT_LOOP_PIN) + continue; // these need special drawing (done elsewhere) + + // don't render the text edit cursor if window is inactive + if (i == SPRITE_TEXT_CURSOR) + { + assert(video.window != NULL); + windowFlags = SDL_GetWindowFlags(video.window); + if (!(windowFlags & SDL_WINDOW_INPUT_FOCUS)) + continue; + } + + s = &sprites[i]; + + // set new sprite position + s->x = s->newX; + s->y = s->newY; + + if (s->x >= SCREEN_W) // sprite is hidden, don't draw nor fill clear buffer + continue; + + assert(s->x >= 0 && s->y >= 0 && s->data != NULL && s->refreshBuffer != NULL); + + sw = s->w; + sh = s->h; + src8 = s->data; + dst32 = &video.frameBuffer[(s->y * SCREEN_W) + s->x]; + clr32 = s->refreshBuffer; + + // handle xy clipping + if (s->y+sh >= SCREEN_H) sh = SCREEN_H - s->y; + if (s->x+sw >= SCREEN_W) sw = SCREEN_W - s->x; + + srcPitch = s->w - sw; + dstPitch = SCREEN_W - sw; + + if (mouse.mouseOverTextBox && i == SPRITE_MOUSE_POINTER) + { + // text edit mouse pointer (has color changing depending on content under it) + for (y = 0; y < sh; y++) + { + for (x = 0; x < sw; x++) + { + *clr32++ = *dst32; // fill clear buffer + + if (*src8 != PAL_TRANSPR) + { + if (!(*dst32 & 0xFFFFFF) || *dst32 == video.palette[PAL_TEXTMRK]) + *dst32 = 0xB3DBF6; + else + *dst32 = 0x004ECE; + } + + dst32++; + src8++; + } + + clr32 += srcPitch; + src8 += srcPitch; + dst32 += dstPitch; + } + } + else + { + // normal sprites + for (y = 0; y < sh; y++) + { + for (x = 0; x < sw; x++) + { + *clr32++ = *dst32; // fill clear buffer + + if (*src8 != PAL_TRANSPR) + { + assert(*src8 < PAL_NUM); + *dst32 = video.palette[*src8]; + } + + dst32++; + src8++; + } + + clr32 += srcPitch; + src8 += srcPitch; + dst32 += dstPitch; + } + } + } +} + +void renderLoopPins(void) +{ + uint8_t pal; + const uint8_t *src8; + int32_t sx; + register int32_t x, y, sw, sh, srcPitch, dstPitch; + uint32_t *clr32, *dst32; + sprite_t *s; + + // left loop pin + + s = &sprites[SPRITE_LEFT_LOOP_PIN]; + assert(s->data != NULL && s->refreshBuffer != NULL); + + // set new sprite position + s->x = s->newX; + s->y = s->newY; + + if (s->x < SCREEN_W) // loop pin shown? + { + sw = s->w; + sh = s->h; + sx = s->x; + + src8 = s->data; + clr32 = s->refreshBuffer; + + // if x is negative, adjust variables + if (sx < 0) + { + sw += sx; // subtraction + src8 -= sx; // addition + sx = 0; + } + + dst32 = &video.frameBuffer[(s->y * SCREEN_W) + sx]; + + // handle x clipping + if (s->x+sw >= SCREEN_W) sw = SCREEN_W - s->x; + + srcPitch = s->w - sw; + dstPitch = SCREEN_W - sw; + + for (y = 0; y < sh; y++) + { + for (x = 0; x < sw; x++) + { + *clr32++ = *dst32; // fill clear buffer + + if (*src8 != PAL_TRANSPR) + { + assert(*src8 < PAL_NUM); + *dst32 = video.palette[*src8]; + } + + dst32++; + src8++; + } + + src8 += srcPitch; + clr32 += srcPitch; + dst32 += dstPitch; + } + } + + // right loop pin + + s = &sprites[SPRITE_RIGHT_LOOP_PIN]; + assert(s->data != NULL && s->refreshBuffer != NULL); + + // set new sprite position + s->x = s->newX; + s->y = s->newY; + + if (s->x < SCREEN_W) // loop pin shown? + { + s->x = s->newX; + s->y = s->newY; + + sw = s->w; + sh = s->h; + sx = s->x; + + src8 = s->data; + clr32 = s->refreshBuffer; + + // if x is negative, adjust variables + if (sx < 0) + { + sw += sx; // subtraction + src8 -= sx; // addition + sx = 0; + } + + dst32 = &video.frameBuffer[(s->y * SCREEN_W) + sx]; + + // handle x clipping + if (s->x+sw >= SCREEN_W) sw = SCREEN_W - s->x; + + srcPitch = s->w - sw; + dstPitch = SCREEN_W - sw; + + for (y = 0; y < sh; y++) + { + for (x = 0; x < sw; x++) + { + *clr32++ = *dst32; + + if (*src8 != PAL_TRANSPR) + { + assert(*src8 < PAL_NUM); + if (y < 9 && *src8 == PAL_LOOPPIN) + { + // don't draw marker line on top of left loop pin's thumb graphics + pal = *dst32 >> 24; + if (pal != PAL_DESKTOP && pal != PAL_DSKTOP1 && pal != PAL_DSKTOP2) + *dst32 = video.palette[*src8]; + } + else + { + *dst32 = video.palette[*src8]; + } + } + + dst32++; + src8++; + } + + src8 += srcPitch; + clr32 += srcPitch; + dst32 += dstPitch; + } + } +} + +void setupWaitVBL(void) +{ + // set next frame time + timeNext64 = SDL_GetPerformanceCounter() + video.vblankTimeLen; + timeNext64Frac = video.vblankTimeLenFrac; +} + +void waitVBL(void) +{ + // this routine almost never delays if we have 60Hz vsync, but it's still needed in some occasions + int32_t time32; + uint32_t diff32; + uint64_t time64; + + time64 = SDL_GetPerformanceCounter(); + if (time64 < timeNext64) + { + assert(timeNext64-time64 <= 0xFFFFFFFFULL); + diff32 = (uint32_t)(timeNext64 - time64); + + // convert and round to microseconds + time32 = (int32_t)((diff32 * editor.dPerfFreqMulMicro) + 0.5); + + // delay until we have reached next frame + if (time32 > 0) + usleep(time32); + } + + // update next frame time + timeNext64 += video.vblankTimeLen; + timeNext64Frac += video.vblankTimeLenFrac; + if (timeNext64Frac > 0xFFFFFFFF) + { + timeNext64Frac &= 0xFFFFFFFF; + timeNext64++; + } +} + +void closeVideo(void) +{ + if (video.texture != NULL) + { + SDL_DestroyTexture(video.texture); + video.texture = NULL; + } + + if (video.renderer != NULL) + { + SDL_DestroyRenderer(video.renderer); + video.renderer = NULL; + } + + if (video.window != NULL) + { + SDL_DestroyWindow(video.window); + video.window = NULL; + } + + if (video.frameBufferUnaligned != NULL) + { + free(video.frameBufferUnaligned); + video.frameBufferUnaligned = NULL; + } + + video.frameBuffer = NULL; +} + +void setWindowSizeFromConfig(bool updateRenderer) +{ +#define MAX_UPSCALE_FACTOR 16 // 10112x6400 - ought to be good enough for many years to come + + uint8_t i, oldUpscaleFactor; + SDL_DisplayMode dm; + + /* Kludge for Raspbarry Pi. Upscaling of 3x or higher makes everything slow as a snail. + ** This hack unfortunately applies to any ARM based device, but I doubt 3x/4x would run + ** smooth on any ARM device suitable for the FT2 clone anyway (excluding tablets/phones). + */ +#ifdef __arm__ + if ((config.windowFlags & WINSIZE_3X) || (config.windowFlags & WINSIZE_4X)) + { + config.windowFlags &= ~(WINSIZE_1X + WINSIZE_2X + WINSIZE_3X + WINSIZE_4X); + config.windowFlags |= WINSIZE_AUTO; + } +#endif + + oldUpscaleFactor = video.upscaleFactor; + if (config.windowFlags & WINSIZE_AUTO) + { + // find out which upscaling factor is the biggest to fit on screen + if (SDL_GetDesktopDisplayMode(0, &dm) == 0) + { + for (i = MAX_UPSCALE_FACTOR; i >= 1; i--) + { + // slightly bigger than 632x400 because of window title, window borders and taskbar/menu + if (dm.w >= 640*i && dm.h >= 450*i) + { + video.upscaleFactor = i; + break; + } + } + + if (i == 0) + video.upscaleFactor = 1; // 1x is not going to fit, but use 1x anyways... + + // kludge (read comment above) +#ifdef __arm__ + if (video.upscaleFactor > 2) + video.upscaleFactor = 2; +#endif + } + else + { + // couldn't get screen resolution, set to 1x + video.upscaleFactor = 1; + } + } + else if (config.windowFlags & WINSIZE_1X) video.upscaleFactor = 1; + else if (config.windowFlags & WINSIZE_2X) video.upscaleFactor = 2; + else if (config.windowFlags & WINSIZE_3X) video.upscaleFactor = 3; + else if (config.windowFlags & WINSIZE_4X) video.upscaleFactor = 4; + + if (updateRenderer) + { + SDL_SetWindowSize(video.window, SCREEN_W * video.upscaleFactor, SCREEN_H * video.upscaleFactor); + + if (oldUpscaleFactor != video.upscaleFactor) + SDL_SetWindowPosition(video.window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED); + + updateRenderSizeVars(); + updateMouseScaling(); + setMousePosToCenter(); + } +} + +void updateWindowTitle(bool forceUpdate) +{ + char *songTitle; + + if (!forceUpdate && songIsModified == song.isModified) + return; // window title is already set to the same + + songTitle = getCurrSongFilename(); + if (songTitle != NULL) + { + if (song.isModified) + sprintf(wndTitle, "Fasttracker II clone v%s - \"%s\" (unsaved)", PROG_VER_STR, songTitle); + else + sprintf(wndTitle, "Fasttracker II clone v%s - \"%s\"", PROG_VER_STR, songTitle); + } + else + { + if (song.isModified) + sprintf(wndTitle, "Fasttracker II clone v%s - \"untitled\" (unsaved)", PROG_VER_STR); + else + sprintf(wndTitle, "Fasttracker II clone v%s - \"untitled\"", PROG_VER_STR); + } + + SDL_SetWindowTitle(video.window, wndTitle); + songIsModified = song.isModified; +} + +bool recreateTexture(void) +{ + if (video.texture != NULL) + { + SDL_DestroyTexture(video.texture); + video.texture = NULL; + } + + if (config.windowFlags & FILTERING) + SDL_SetHint("SDL_RENDER_SCALE_QUALITY", "best"); + else + SDL_SetHint("SDL_RENDER_SCALE_QUALITY", "nearest"); + + video.texture = SDL_CreateTexture(video.renderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, SCREEN_W, SCREEN_H); + if (video.texture == NULL) + { + showErrorMsgBox("Couldn't create a %dx%d GPU texture:\n\"%s\"\n\nIs your GPU (+ driver) too old?", SCREEN_W, SCREEN_H, SDL_GetError()); + return false; + } + + SDL_SetTextureBlendMode(video.texture, SDL_BLENDMODE_NONE); + return true; +} + +bool setupWindow(void) +{ + uint32_t windowFlags; + SDL_DisplayMode dm; + + video.vsync60HzPresent = false; + + windowFlags = SDL_WINDOW_ALLOW_HIGHDPI; +#if defined (__APPLE__) || defined (_WIN32) // yet another quirk! + windowFlags |= SDL_WINDOW_HIDDEN; +#endif + + setWindowSizeFromConfig(false); + +#if SDL_PATCHLEVEL >= 5 // SDL 2.0.5 or later + SDL_SetHint(SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH, "1"); +#endif + + SDL_GetDesktopDisplayMode(0, &dm); + video.dMonitorRefreshRate = (double)dm.refresh_rate; + + if (dm.refresh_rate >= 59 && dm.refresh_rate <= 61) + video.vsync60HzPresent = true; + + if (config.windowFlags & FORCE_VSYNC_OFF) + video.vsync60HzPresent = false; + + video.window = SDL_CreateWindow("", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, + SCREEN_W * video.upscaleFactor, SCREEN_H * video.upscaleFactor, + windowFlags); + + if (video.window == NULL) + { + showErrorMsgBox("Couldn't create SDL window:\n%s", SDL_GetError()); + return false; + } + +#ifdef __APPLE__ // for macOS we need to do this here for reasons I can't be bothered to explain + SDL_PumpEvents(); + SDL_ShowWindow(video.window); +#endif + + updateWindowTitle(true); + return true; +} + +bool setupRenderer(void) +{ + uint32_t rendererFlags; + + rendererFlags = SDL_RENDERER_ACCELERATED; + if (video.vsync60HzPresent) + rendererFlags |= SDL_RENDERER_PRESENTVSYNC; + + video.renderer = SDL_CreateRenderer(video.window, -1, rendererFlags); + if (video.renderer == NULL) + { + if (video.vsync60HzPresent) + { + // try again without vsync flag + video.vsync60HzPresent = false; + + rendererFlags &= ~SDL_RENDERER_PRESENTVSYNC; + video.renderer = SDL_CreateRenderer(video.window, -1, rendererFlags); + } + + if (video.renderer == NULL) + { + showErrorMsgBox("Couldn't create SDL renderer:\n\"%s\"\n\nIs your GPU (+ driver) too old?", + SDL_GetError()); + return false; + } + } + + SDL_RenderSetLogicalSize(video.renderer, SCREEN_W, SCREEN_H); + +#if SDL_PATCHLEVEL >= 5 + SDL_RenderSetIntegerScale(video.renderer, SDL_TRUE); +#endif + + SDL_SetRenderDrawBlendMode(video.renderer, SDL_BLENDMODE_NONE); + + if (!recreateTexture()) + { + showErrorMsgBox("Couldn't create a %dx%d GPU texture:\n\"%s\"\n\nIs your GPU (+ driver) too old?", + SCREEN_W, SCREEN_H, SDL_GetError()); + return false; + } + + // framebuffer used by SDL (for texture) + video.frameBufferUnaligned = (uint32_t *)MALLOC_PAD(SCREEN_W * SCREEN_H * sizeof (int32_t), 256); + if (video.frameBufferUnaligned == NULL) + { + showErrorMsgBox("Not enough memory!"); + return false; + } + + // we want an aligned pointer + video.frameBuffer = (uint32_t *)ALIGN_PTR(video.frameBufferUnaligned, 256); + + if (!setupSprites()) + return false; + + updateRenderSizeVars(); + updateMouseScaling(); + + if (config.specialFlags2 & HARDWARE_MOUSE) + SDL_ShowCursor(SDL_TRUE); + else + SDL_ShowCursor(SDL_FALSE); + + return true; +} + +void handleRedrawing(void) +{ + textBox_t *txt; + + if (!editor.ui.configScreenShown && !editor.ui.helpScreenShown) + { + if (editor.ui.aboutScreenShown) + { + aboutFrame(); + } + else if (editor.ui.nibblesShown) + { + if (editor.NI_Play) + moveNibblePlayers(); + } + else + { + if (editor.ui.updatePosSections) + { + editor.ui.updatePosSections = false; + + if (!editor.ui.diskOpShown) + { + drawSongRepS(); + drawSongLength(); + drawPosEdNums(editor.songPos); + drawEditPattern(editor.editPattern); + drawPatternLength(editor.editPattern); + drawSongBPM(editor.speed); + drawSongSpeed(editor.tempo); + drawGlobalVol(editor.globalVol); + + if (!songPlaying || editor.wavIsRendering) + setScrollBarPos(SB_POS_ED, editor.songPos, false); + + // draw current mode text (not while in extended pattern editor mode) + if (!editor.ui.extended) + { + fillRect(115, 80, 74, 10, PAL_DESKTOP); + + if (playMode == PLAYMODE_PATT) textOut(115, 80, PAL_FORGRND, "> Play ptn. <"); + else if (playMode == PLAYMODE_EDIT) textOut(121, 80, PAL_FORGRND, "> Editing <"); + else if (playMode == PLAYMODE_RECSONG) textOut(114, 80, PAL_FORGRND, "> Rec. sng. <"); + else if (playMode == PLAYMODE_RECPATT) textOut(115, 80, PAL_FORGRND, "> Rec. ptn. <"); + } + } + } + + if (editor.ui.updatePosEdScrollBar) + { + editor.ui.updatePosEdScrollBar = false; + setScrollBarPos(SB_POS_ED, song.songPos, false); + setScrollBarEnd(SB_POS_ED, (song.len - 1) + 5); + } + + if (!editor.ui.extended) + { + if (!editor.ui.diskOpShown) + drawPlaybackTime(); + + if (editor.ui.sampleEditorExtShown) + handleSampleEditorExtRedrawing(); + else if (editor.ui.scopesShown) + drawScopes(); + } + } + } + + drawReplayerData(); + + if (editor.ui.instEditorShown) + handleInstEditorRedrawing(); + else if (editor.ui.sampleEditorShown) + handleSamplerRedrawing(); + + // blink text edit cursor + if (editor.editTextFlag && mouse.lastEditBox != -1) + { + assert(mouse.lastEditBox >= 0 && mouse.lastEditBox < NUM_TEXTBOXES); + + txt = &textBoxes[mouse.lastEditBox]; + if (editor.textCursorBlinkCounter < 256/2 && !textIsMarked() && !(mouse.leftButtonPressed | mouse.rightButtonPressed)) + setSpritePos(SPRITE_TEXT_CURSOR, getTextCursorX(txt), getTextCursorY(txt) - 1); // show text cursor + else + hideSprite(SPRITE_TEXT_CURSOR); // hide text cursor + + editor.textCursorBlinkCounter += TEXT_CURSOR_BLINK_RATE; + } + + if (editor.busy) + animateBusyMouse(); + + renderLoopPins(); +} + +static void drawReplayerData(void) +{ + bool drawPosText; + + if (songPlaying) + { + if (editor.ui.drawReplayerPianoFlag) + { + editor.ui.drawReplayerPianoFlag = false; + if (editor.ui.instEditorShown) + { + if (chSyncEntry != NULL) + drawPianoReplayer(chSyncEntry); + } + } + + drawPosText = true; + if (editor.ui.configScreenShown || editor.ui.nibblesShown || + editor.ui.helpScreenShown || editor.ui.aboutScreenShown || + editor.ui.diskOpShown) + { + drawPosText = false; + } + + if (drawPosText) + { + if (editor.ui.drawBPMFlag) + { + editor.ui.drawBPMFlag = false; + drawSongBPM(editor.speed); + } + + if (editor.ui.drawSpeedFlag) + { + editor.ui.drawSpeedFlag = false; + drawSongSpeed(editor.tempo); + } + + if (editor.ui.drawGlobVolFlag) + { + editor.ui.drawGlobVolFlag = false; + drawGlobalVol(editor.globalVol); + } + + if (editor.ui.drawPosEdFlag) + { + editor.ui.drawPosEdFlag = false; + drawPosEdNums(editor.songPos); + setScrollBarPos(SB_POS_ED, editor.songPos, false); + } + + if (editor.ui.drawPattNumLenFlag) + { + editor.ui.drawPattNumLenFlag = false; + drawEditPattern(editor.editPattern); + drawPatternLength(editor.editPattern); + } + } + } + else if (editor.ui.instEditorShown) + { + drawPiano(); + } + + // handle pattern data updates + if (editor.ui.updatePatternEditor) + { + editor.ui.updatePatternEditor = false; + if (editor.ui.patternEditorShown) + writePattern(editor.pattPos, editor.editPattern); + } +} diff --git a/src/ft2_video.h b/src/ft2_video.h index 07135fd..bae52e3 100644 --- a/src/ft2_video.h +++ b/src/ft2_video.h @@ -1,74 +1,75 @@ -#pragma once - -#include -#include -#include "ft2_header.h" -#include "ft2_palette.h" -#include "ft2_audio.h" - -enum -{ - SPRITE_LEFT_LOOP_PIN = 0, - SPRITE_RIGHT_LOOP_PIN = 1, - SPRITE_TEXT_CURSOR = 2, - SPRITE_MOUSE_POINTER = 3, // priority above all other sprites - - SPRITE_NUM -}; - -struct video_t -{ - uint8_t upscaleFactor; - bool fullscreen, vsync60HzPresent, showFPSCounter; - int32_t renderX, renderY, renderW, renderH, displayW, displayH; - uint32_t *frameBuffer, palette[PAL_NUM], vblankTimeLen, vblankTimeLenFrac; - uint32_t xScaleMul, yScaleMul; - double dMonitorRefreshRate; -#ifdef _WIN32 - HWND hWnd; -#endif - SDL_Window *window; - SDL_Renderer *renderer; - SDL_Texture *texture; - SDL_Surface *iconSurface; -} video; - -typedef struct -{ - uint32_t *refreshBuffer; - const uint8_t *data; - bool visible; - int16_t newX, newY, x, y; - uint16_t w, h; -} sprite_t; - -void resetFPSCounter(void); -void beginFPSCounter(void); -void endFPSCounter(void); -void flipFrame(void); -void showErrorMsgBox(const char *fmt, ...); -void updateWindowTitle(bool forceUpdate); -void setPalettePreset(int16_t palettePreset); -void handleScopesFromChQueue(chSyncData_t *chSyncData, uint8_t *scopeUpdateStatus); -bool setupWindow(void); -bool setupRenderer(void); -void closeVideo(void); -void setLeftLoopPinState(bool clicked); -void setRightLoopPinState(bool clicked); -int32_t getSpritePosX(uint8_t sprite); -void eraseSprites(void); -void renderLoopPins(void); -void renderSprites(void); -bool setupSprites(void); -void freeSprites(void); -void setSpritePos(uint8_t sprite, int16_t x, int16_t y); -void changeSpriteData(uint8_t sprite, const uint8_t *data); -void hideSprite(uint8_t sprite); -void handleRedrawing(void); -void enterFullscreen(void); -void leaveFullScreen(void); -void toggleFullScreen(void); -void setWindowSizeFromConfig(bool updateRenderer); -bool recreateTexture(void); -void setupWaitVBL(void); -void waitVBL(void); +#pragma once + +#include +#include +#include "ft2_header.h" +#include "ft2_palette.h" +#include "ft2_audio.h" + +enum +{ + SPRITE_LEFT_LOOP_PIN = 0, + SPRITE_RIGHT_LOOP_PIN = 1, + SPRITE_TEXT_CURSOR = 2, + SPRITE_MOUSE_POINTER = 3, // priority above all other sprites + + SPRITE_NUM +}; + +struct video_t +{ + bool fullscreen, showFPSCounter; + uint32_t xScale, yScale; + uint32_t *frameBuffer, palette[PAL_NUM], vblankTimeLen, vblankTimeLenFrac; +#ifdef _WIN32 + HWND hWnd; +#endif + SDL_Window *window; + double dMonitorRefreshRate, dMouseXMul, dMouseYMul; + uint8_t upscaleFactor; + bool vsync60HzPresent; + int32_t renderX, renderY, renderW, renderH, displayW, displayH; + uint32_t *frameBufferUnaligned; + SDL_Renderer *renderer; + SDL_Texture *texture; + SDL_Surface *iconSurface; +} video; + +typedef struct +{ + uint32_t *refreshBuffer; + const uint8_t *data; + bool visible; + int16_t newX, newY, x, y; + uint16_t w, h; +} sprite_t; + +void resetFPSCounter(void); +void beginFPSCounter(void); +void endFPSCounter(void); +void flipFrame(void); +void showErrorMsgBox(const char *fmt, ...); +void updateWindowTitle(bool forceUpdate); +void handleScopesFromChQueue(chSyncData_t *chSyncData, uint8_t *scopeUpdateStatus); +bool setupWindow(void); +bool setupRenderer(void); +void closeVideo(void); +void setLeftLoopPinState(bool clicked); +void setRightLoopPinState(bool clicked); +int32_t getSpritePosX(uint8_t sprite); +void eraseSprites(void); +void renderLoopPins(void); +void renderSprites(void); +bool setupSprites(void); +void freeSprites(void); +void setSpritePos(uint8_t sprite, int16_t x, int16_t y); +void changeSpriteData(uint8_t sprite, const uint8_t *data); +void hideSprite(uint8_t sprite); +void handleRedrawing(void); +void enterFullscreen(void); +void leaveFullScreen(void); +void setWindowSizeFromConfig(bool updateRenderer); +bool recreateTexture(void); +void toggleFullScreen(void); +void setupWaitVBL(void); +void waitVBL(void); diff --git a/src/ft2_wav_renderer.c b/src/ft2_wav_renderer.c index c47d4c0..5650db2 100644 --- a/src/ft2_wav_renderer.c +++ b/src/ft2_wav_renderer.c @@ -1,542 +1,532 @@ -// for finding memory leaks in debug mode with Visual Studio -#if defined _DEBUG && defined _MSC_VER -#include -#endif - -#include -#include -#include -#include "ft2_header.h" -#include "ft2_gui.h" -#include "ft2_pattern_ed.h" -#include "ft2_diskop.h" -#include "ft2_scopes.h" -#include "ft2_config.h" -#include "ft2_mouse.h" -#include "ft2_sample_ed.h" -#include "ft2_inst_ed.h" -#include "ft2_audio.h" -#include "ft2_wav_renderer.h" - -#define TICKS_PER_RENDER_CHUNK 32 - -enum -{ - WAV_FORMAT_PCM = 0x0001, - WAV_FORMAT_IEEE_FLOAT = 0x0003 -}; - -typedef struct wavHeader_t -{ - uint32_t chunkID, chunkSize, format, subchunk1ID, subchunk1Size; - uint16_t audioFormat, numChannels; - uint32_t sampleRate, byteRate; - uint16_t blockAlign, bitsPerSample; - uint32_t subchunk2ID, subchunk2Size; -} wavHeader_t; - -static char WAV_SysReqText[192]; -static uint8_t WDBitDepth = 16, WDStartPos, WDStopPos, *wavRenderBuffer; -static int16_t WDAmp; -static uint32_t WDFrequency = 44100; -static SDL_Thread *thread; - -static void updateWavRenderer(void) -{ - char str[10]; - - fillRect(209, 116, 41, 51, PAL_DESKTOP); - - sprintf(str, "%06d", WDFrequency); - textOut(209, 116, PAL_FORGRND, str); - - sprintf(str, "%02d", WDAmp); - textOut(237, 130, PAL_FORGRND, str); - - hexOut(237, 144, PAL_FORGRND, WDStartPos, 2); - hexOut(237, 158, PAL_FORGRND, WDStopPos, 2); -} - -void updateWavRendererSettings(void) // called when changing config.boostLevel -{ - WDAmp = config.boostLevel; -} - -void drawWavRenderer(void) -{ - drawFramework(0, 92, 291, 17, FRAMEWORK_TYPE1); - drawFramework(0, 109, 79, 64, FRAMEWORK_TYPE1); - drawFramework(79, 109, 212, 64, FRAMEWORK_TYPE1); - - textOutShadow(4, 96, PAL_FORGRND, PAL_DSKTOP2, "Harddisk recording:"); - textOutShadow(156, 96, PAL_FORGRND, PAL_DSKTOP2, "16-bit"); - textOutShadow(221, 96, PAL_FORGRND, PAL_DSKTOP2, "24-bit float"); - - textOutShadow(85, 116, PAL_FORGRND, PAL_DSKTOP2, "Frequency"); - textOutShadow(85, 130, PAL_FORGRND, PAL_DSKTOP2, "Amplification"); - textOutShadow(85, 144, PAL_FORGRND, PAL_DSKTOP2, "Start song position"); - textOutShadow(85, 158, PAL_FORGRND, PAL_DSKTOP2, "Stop song position"); - - showPushButton(PB_WAV_RENDER); - showPushButton(PB_WAV_EXIT); - showPushButton(PB_WAV_FREQ_UP); - showPushButton(PB_WAV_FREQ_DOWN); - showPushButton(PB_WAV_AMP_UP); - showPushButton(PB_WAV_AMP_DOWN); - showPushButton(PB_WAV_START_UP); - showPushButton(PB_WAV_START_DOWN); - showPushButton(PB_WAV_END_UP); - showPushButton(PB_WAV_END_DOWN); - - // bitdepth radiobuttons - - radioButtons[RB_WAV_RENDER_BITDEPTH16].state = RADIOBUTTON_UNCHECKED; - radioButtons[RB_WAV_RENDER_BITDEPTH32].state = RADIOBUTTON_UNCHECKED; - - if (WDBitDepth == 16) - radioButtons[RB_WAV_RENDER_BITDEPTH16].state = RADIOBUTTON_CHECKED; - else - radioButtons[RB_WAV_RENDER_BITDEPTH32].state = RADIOBUTTON_CHECKED; - - showRadioButtonGroup(RB_GROUP_WAV_RENDER_BITDEPTH); - - updateWavRenderer(); -} - -void resetWavRenderer(void) -{ - WDStartPos = 0; - WDStopPos = (uint8_t)song.len - 1; - - if (editor.ui.wavRendererShown) - updateWavRenderer(); -} - -void showWavRenderer(void) -{ - if (editor.ui.extended) - exitPatternEditorExtended(); - - hideTopScreen(); - showTopScreen(false); - - editor.ui.wavRendererShown = true; - editor.ui.scopesShown = false; - - WDStartPos = 0; - WDStopPos = (uint8_t)song.len - 1; - - drawWavRenderer(); -} - -void hideWavRenderer(void) -{ - editor.ui.wavRendererShown = false; - - hidePushButton(PB_WAV_RENDER); - hidePushButton(PB_WAV_EXIT); - hidePushButton(PB_WAV_FREQ_UP); - hidePushButton(PB_WAV_FREQ_DOWN); - hidePushButton(PB_WAV_AMP_UP); - hidePushButton(PB_WAV_AMP_DOWN); - hidePushButton(PB_WAV_START_UP); - hidePushButton(PB_WAV_START_DOWN); - hidePushButton(PB_WAV_END_UP); - hidePushButton(PB_WAV_END_DOWN); - hideRadioButtonGroup(RB_GROUP_WAV_RENDER_BITDEPTH); - - editor.ui.scopesShown = true; - drawScopeFramework(); -} - -void exitWavRenderer(void) -{ - hideWavRenderer(); -} - -static bool dump_Init(uint32_t frq, int16_t amp, int16_t songPos) -{ - uint8_t i, oldMuteFlags[MAX_VOICES]; - uint32_t maxSamplesPerTick, sampleSize; - - maxSamplesPerTick = ((frq * 5) / 2) / MIN_BPM; // absolute max samples per tidck - sampleSize = (WDBitDepth / 8) * 2; // 2 channels - - // *2 for stereo - wavRenderBuffer = (uint8_t *)malloc((TICKS_PER_RENDER_CHUNK * maxSamplesPerTick) * sampleSize); - if (wavRenderBuffer == NULL) - return false; - - editor.wavIsRendering = true; - - setPos(songPos, 0); - playMode = PLAYMODE_SONG; - songPlaying = true; - - // store mute states - for (i = 0; i < MAX_VOICES; i++) - oldMuteFlags[i] = stm[i].stOff; - - resetChannels(); - - // restore mute states - for (i = 0; i < MAX_VOICES; i++) - stm[i].stOff = oldMuteFlags[i]; - - setNewAudioFreq(frq); - setAudioAmp(amp, config.masterVol, (WDBitDepth == 32)); - - stopVoices(); - song.globVol = 64; - setSpeed(song.speed); - - song.musicTime = 0; - return true; -} - -static void dump_Close(FILE *f, uint32_t totalSamples) -{ - uint32_t tmpLen, totalBytes; - wavHeader_t wavHeader; - - if (wavRenderBuffer != NULL) - { - free(wavRenderBuffer); - wavRenderBuffer = NULL; - } - - if (WDBitDepth == 16) - totalBytes = totalSamples * sizeof (int16_t); - else - totalBytes = totalSamples * sizeof (float); - - if (totalBytes & 1) - fputc(0, f); // write pad byte - - tmpLen = ftell(f) - 8; - - // go back and fill in WAV header - fseek(f, 0, SEEK_SET); - - wavHeader.chunkID = 0x46464952; // "RIFF" - wavHeader.chunkSize = tmpLen; - wavHeader.format = 0x45564157; // "WAVE" - wavHeader.subchunk1ID = 0x20746D66; // "fmt " - wavHeader.subchunk1Size = 16; - - if (WDBitDepth == 16) - wavHeader.audioFormat = WAV_FORMAT_PCM; - else - wavHeader.audioFormat = WAV_FORMAT_IEEE_FLOAT; - - wavHeader.numChannels = 2; - wavHeader.sampleRate = WDFrequency; - wavHeader.byteRate = (wavHeader.sampleRate * wavHeader.numChannels * WDBitDepth) / 8; - wavHeader.blockAlign = (wavHeader.numChannels * WDBitDepth) / 8; - wavHeader.bitsPerSample = WDBitDepth; - wavHeader.subchunk2ID = 0x61746164; // "data" - wavHeader.subchunk2Size = totalBytes; - - // write main header - fwrite(&wavHeader, 1, sizeof (wavHeader_t), f); - fclose(f); - - stopPlaying(); - - // kludge: set speed to 6 if speed was set to 0 - if (song.tempo == 0) - song.tempo = 6; - - setBackOldAudioFreq(); - setSpeed(song.speed); - setAudioAmp(config.boostLevel, config.masterVol, config.specialFlags & BITDEPTH_24); - editor.wavIsRendering = false; - - setMouseBusy(false); -} - -static bool dump_EndOfTune(int16_t endSongPos) // exactly the same as in real FT2 -{ - bool returnValue = (editor.wavReachedEndFlag && song.pattPos == 0 && song.timer == 1) || (song.tempo == 0); - - if (song.songPos == endSongPos && song.pattPos == 0 && song.timer == 1) - editor.wavReachedEndFlag = true; - - return returnValue; -} - -uint32_t dump_RenderTick(uint8_t *buffer) // returns bytes mixed -{ - replayerBusy = true; - - if (audio.volumeRampingFlag) - mix_SaveIPVolumes(); - - mainPlayer(); - mix_UpdateChannelVolPanFrq(); - - replayerBusy = false; - - return mixReplayerTickToBuffer(buffer, WDBitDepth); -} - -static void updateVisuals(void) -{ - editor.editPattern = (uint8_t)song.pattNr; - editor.pattPos = song.pattPos; - editor.songPos = song.songPos; - editor.speed = song.speed; - editor.tempo = song.tempo; - editor.globalVol = song.globVol; - - editor.ui.drawPosEdFlag = true; - editor.ui.drawPattNumLenFlag = true; - editor.ui.drawReplayerPianoFlag = true; - editor.ui.drawBPMFlag = true; - editor.ui.drawSpeedFlag = true; - editor.ui.drawGlobVolFlag = true; - editor.ui.updatePatternEditor = true; -} - -static int32_t SDLCALL renderWavThread(void *ptr) -{ - bool renderDone; - uint8_t *ptr8, loopCounter; - uint32_t samplesInChunk, tickSamples, sampleCounter; - FILE *f; - - (void)ptr; - - f = (FILE *)editor.wavRendererFileHandle; - fseek(f, sizeof (wavHeader_t), SEEK_SET); - - pauseAudio(); - - if (!dump_Init(WDFrequency, WDAmp, WDStartPos)) - { - resumeAudio(); - okBoxThreadSafe(0, "System message", "Not enough memory!"); - return true; - } - - sampleCounter = 0; - renderDone = false; - loopCounter = 0; - - editor.wavReachedEndFlag = false; - while (!renderDone && editor.wavIsRendering) - { - samplesInChunk = 0; - - // render several ticks at once to prevent frequent disk I/O (speeds up the process) - ptr8 = wavRenderBuffer; - for (uint32_t i = 0; i < TICKS_PER_RENDER_CHUNK; i++) - { - if (!editor.wavIsRendering || dump_EndOfTune(WDStopPos)) - { - renderDone = true; - break; - } - - tickSamples = dump_RenderTick(ptr8) * 2; // *2 for stereo - - samplesInChunk += tickSamples; - sampleCounter += tickSamples; - - // increase buffer pointer - if (WDBitDepth == 16) - ptr8 += (tickSamples * sizeof (int16_t)); - else - ptr8 += (tickSamples * sizeof (float)); - - if (++loopCounter > 16) - { - loopCounter = 0; - updateVisuals(); - } - } - - // write buffer to disk - if (samplesInChunk > 0) - { - if (WDBitDepth == 16) - fwrite(wavRenderBuffer, sizeof (int16_t), samplesInChunk, f); - else - fwrite(wavRenderBuffer, sizeof (float), samplesInChunk, f); - } - } - - updateVisuals(); - dump_Close(f, sampleCounter); - - resumeAudio(); - - editor.diskOpReadOnOpen = true; - return true; -} - -static void createOverwriteText(char *name) -{ - char nameTmp[128]; - uint32_t nameLen; - - // read entry name to a small buffer - nameLen = (uint32_t)strlen(name); - memcpy(nameTmp, name, (nameLen >= sizeof (nameTmp)) ? sizeof (nameTmp) : (nameLen + 1)); - nameTmp[sizeof (nameTmp) - 1] = '\0'; - - trimEntryName(nameTmp, false); - - sprintf(WAV_SysReqText, "Overwrite file \"%s\"?", nameTmp); -} - -static void wavRender(bool checkOverwrite) -{ - char *filename; - - WDStartPos = (uint8_t)(MAX(0, MIN(WDStartPos, song.len - 1))); - WDStopPos = (uint8_t)(MAX(0, MIN(MAX(WDStartPos, WDStopPos), song.len - 1))); - - updateWavRenderer(); - - diskOpChangeFilenameExt(".wav"); - - filename = getDiskOpFilename(); - if (checkOverwrite && fileExistsAnsi(filename)) - { - createOverwriteText(filename); - if (okBox(2, "System request", WAV_SysReqText) != 1) - return; - } - - editor.wavRendererFileHandle = fopen(filename, "wb"); - if (editor.wavRendererFileHandle == NULL) - { - okBox(0, "System message", "General I/O error while writing to WAV (is the file in use)?"); - return; - } - - mouseAnimOn(); - thread = SDL_CreateThread(renderWavThread, NULL, NULL); - if (thread == NULL) - { - fclose((FILE *)editor.wavRendererFileHandle); - okBox(0, "System message", "Couldn't create thread!"); - return; - } - - SDL_DetachThread(thread); -} - -void pbWavRender(void) -{ - wavRender(config.cfg_OverwriteWarning ? true : false); -} - -void pbWavExit(void) -{ - exitWavRenderer(); -} - -void pbWavFreqUp(void) -{ - if (WDFrequency < MAX_WAV_RENDER_FREQ) - { - if (WDFrequency == 8000) WDFrequency = 11025; - else if (WDFrequency == 11025) WDFrequency = 16000; - else if (WDFrequency == 16000) WDFrequency = 22050; - else if (WDFrequency == 22050) WDFrequency = 32000; - else if (WDFrequency == 32000) WDFrequency = 44100; - else if (WDFrequency == 44100) WDFrequency = 48000; - else if (WDFrequency == 48000) WDFrequency = 96000; - else if (WDFrequency == 96000) WDFrequency = 192000; - - updateWavRenderer(); - } -} - -void pbWavFreqDown(void) -{ - if (WDFrequency > MIN_WAV_RENDER_FREQ) - { - if (WDFrequency == 192000) WDFrequency = 96000; - else if (WDFrequency == 96000) WDFrequency = 48000; - else if (WDFrequency == 48000) WDFrequency = 44100; - else if (WDFrequency == 44100) WDFrequency = 32000; - else if (WDFrequency == 32000) WDFrequency = 22050; - else if (WDFrequency == 22050) WDFrequency = 16000; - else if (WDFrequency == 16000) WDFrequency = 11025; - else if (WDFrequency == 11025) WDFrequency = 8000; - - updateWavRenderer(); - } -} - -void pbWavAmpUp(void) -{ - if (WDAmp >= 32) - return; - - WDAmp++; - updateWavRenderer(); -} - -void pbWavAmpDown(void) -{ - if (WDAmp <= 1) - return; - - WDAmp--; - updateWavRenderer(); -} - -void pbWavSongStartUp(void) -{ - if (WDStartPos >= song.len-1) - return; - - WDStartPos++; - WDStopPos = (uint8_t)(MIN(MAX(WDStartPos, WDStopPos), song.len - 1)); - updateWavRenderer(); -} - -void pbWavSongStartDown(void) -{ - if (WDStartPos == 0) - return; - - WDStartPos--; - updateWavRenderer(); -} - -void pbWavSongEndUp(void) -{ - if (WDStopPos >= 255) - return; - - WDStopPos++; - WDStopPos = (uint8_t)(MIN(MAX(WDStartPos, WDStopPos), song.len - 1)); - updateWavRenderer(); -} - -void pbWavSongEndDown(void) -{ - if (WDStopPos == 0) - return; - - WDStopPos--; - WDStopPos = (uint8_t)(MIN(MAX(WDStartPos, WDStopPos), song.len - 1)); - updateWavRenderer(); -} - -void rbWavRenderBitDepth16(void) -{ - checkRadioButton(RB_WAV_RENDER_BITDEPTH16); - WDBitDepth = 16; -} - -void rbWavRenderBitDepth32(void) -{ - checkRadioButton(RB_WAV_RENDER_BITDEPTH32); - WDBitDepth = 32; -} +// for finding memory leaks in debug mode with Visual Studio +#if defined _DEBUG && defined _MSC_VER +#include +#endif + +#include +#include +#include +#include "ft2_header.h" +#include "ft2_gui.h" +#include "ft2_pattern_ed.h" +#include "ft2_diskop.h" +#include "ft2_scopes.h" +#include "ft2_config.h" +#include "ft2_mouse.h" +#include "ft2_sample_ed.h" +#include "ft2_inst_ed.h" +#include "ft2_audio.h" +#include "ft2_wav_renderer.h" + +#define TICKS_PER_RENDER_CHUNK 64 + +enum +{ + WAV_FORMAT_PCM = 0x0001, + WAV_FORMAT_IEEE_FLOAT = 0x0003 +}; + +typedef struct wavHeader_t +{ + uint32_t chunkID, chunkSize, format, subchunk1ID, subchunk1Size; + uint16_t audioFormat, numChannels; + uint32_t sampleRate, byteRate; + uint16_t blockAlign, bitsPerSample; + uint32_t subchunk2ID, subchunk2Size; +} wavHeader_t; + +static char WAV_SysReqText[192]; +static uint8_t WDBitDepth = 16, WDStartPos, WDStopPos, *wavRenderBuffer; +static int16_t WDAmp; +static uint32_t WDFrequency = 48000; +static SDL_Thread *thread; + +static void updateWavRenderer(void) +{ + char str[10]; + + fillRect(209, 116, 41, 51, PAL_DESKTOP); + + sprintf(str, "%06d", WDFrequency); + textOut(209, 116, PAL_FORGRND, str); + + sprintf(str, "%02d", WDAmp); + textOut(237, 130, PAL_FORGRND, str); + + hexOut(237, 144, PAL_FORGRND, WDStartPos, 2); + hexOut(237, 158, PAL_FORGRND, WDStopPos, 2); +} + +void updateWavRendererSettings(void) // called when changing config.boostLevel +{ + WDAmp = config.boostLevel; +} + +void drawWavRenderer(void) +{ + drawFramework(0, 92, 291, 17, FRAMEWORK_TYPE1); + drawFramework(0, 109, 79, 64, FRAMEWORK_TYPE1); + drawFramework(79, 109, 212, 64, FRAMEWORK_TYPE1); + + textOutShadow(4, 96, PAL_FORGRND, PAL_DSKTOP2, "Harddisk recording:"); + textOutShadow(156, 96, PAL_FORGRND, PAL_DSKTOP2, "16-bit"); + textOutShadow(221, 96, PAL_FORGRND, PAL_DSKTOP2, "24-bit float"); + + textOutShadow(85, 116, PAL_FORGRND, PAL_DSKTOP2, "Frequency"); + textOutShadow(85, 130, PAL_FORGRND, PAL_DSKTOP2, "Amplification"); + textOutShadow(85, 144, PAL_FORGRND, PAL_DSKTOP2, "Start song position"); + textOutShadow(85, 158, PAL_FORGRND, PAL_DSKTOP2, "Stop song position"); + + showPushButton(PB_WAV_RENDER); + showPushButton(PB_WAV_EXIT); + showPushButton(PB_WAV_FREQ_UP); + showPushButton(PB_WAV_FREQ_DOWN); + showPushButton(PB_WAV_AMP_UP); + showPushButton(PB_WAV_AMP_DOWN); + showPushButton(PB_WAV_START_UP); + showPushButton(PB_WAV_START_DOWN); + showPushButton(PB_WAV_END_UP); + showPushButton(PB_WAV_END_DOWN); + + // bitdepth radiobuttons + + radioButtons[RB_WAV_RENDER_BITDEPTH16].state = RADIOBUTTON_UNCHECKED; + radioButtons[RB_WAV_RENDER_BITDEPTH32].state = RADIOBUTTON_UNCHECKED; + + if (WDBitDepth == 16) + radioButtons[RB_WAV_RENDER_BITDEPTH16].state = RADIOBUTTON_CHECKED; + else + radioButtons[RB_WAV_RENDER_BITDEPTH32].state = RADIOBUTTON_CHECKED; + + showRadioButtonGroup(RB_GROUP_WAV_RENDER_BITDEPTH); + + updateWavRenderer(); +} + +void resetWavRenderer(void) +{ + WDStartPos = 0; + WDStopPos = (uint8_t)song.len - 1; + + if (editor.ui.wavRendererShown) + updateWavRenderer(); +} + +void showWavRenderer(void) +{ + if (editor.ui.extended) + exitPatternEditorExtended(); + + hideTopScreen(); + showTopScreen(false); + + editor.ui.wavRendererShown = true; + editor.ui.scopesShown = false; + + WDStartPos = 0; + WDStopPos = (uint8_t)song.len - 1; + + drawWavRenderer(); +} + +void hideWavRenderer(void) +{ + editor.ui.wavRendererShown = false; + + hidePushButton(PB_WAV_RENDER); + hidePushButton(PB_WAV_EXIT); + hidePushButton(PB_WAV_FREQ_UP); + hidePushButton(PB_WAV_FREQ_DOWN); + hidePushButton(PB_WAV_AMP_UP); + hidePushButton(PB_WAV_AMP_DOWN); + hidePushButton(PB_WAV_START_UP); + hidePushButton(PB_WAV_START_DOWN); + hidePushButton(PB_WAV_END_UP); + hidePushButton(PB_WAV_END_DOWN); + hideRadioButtonGroup(RB_GROUP_WAV_RENDER_BITDEPTH); + + editor.ui.scopesShown = true; + drawScopeFramework(); +} + +void exitWavRenderer(void) +{ + hideWavRenderer(); +} + +static bool dump_Init(uint32_t frq, int16_t amp, int16_t songPos) +{ + uint32_t maxSamplesPerTick, sampleSize; + + maxSamplesPerTick = ((frq * 5) / 2) / MIN_BPM; // absolute max samples per tidck + sampleSize = (WDBitDepth / 8) * 2; // 2 channels + + // *2 for stereo + wavRenderBuffer = (uint8_t *)malloc((TICKS_PER_RENDER_CHUNK * maxSamplesPerTick) * sampleSize); + if (wavRenderBuffer == NULL) + return false; + + editor.wavIsRendering = true; + + setPos(songPos, 0, true); + playMode = PLAYMODE_SONG; + songPlaying = true; + + resetChannels(); + setNewAudioFreq(frq); + setAudioAmp(amp, config.masterVol, (WDBitDepth == 32)); + + stopVoices(); + song.globVol = 64; + setSpeed(song.speed); + + song.musicTime = 0; + return true; +} + +static void dump_Close(FILE *f, uint32_t totalSamples) +{ + uint32_t tmpLen, totalBytes; + wavHeader_t wavHeader; + + if (wavRenderBuffer != NULL) + { + free(wavRenderBuffer); + wavRenderBuffer = NULL; + } + + if (WDBitDepth == 16) + totalBytes = totalSamples * sizeof (int16_t); + else + totalBytes = totalSamples * sizeof (float); + + if (totalBytes & 1) + fputc(0, f); // write pad byte + + tmpLen = ftell(f) - 8; + + // go back and fill in WAV header + fseek(f, 0, SEEK_SET); + + wavHeader.chunkID = 0x46464952; // "RIFF" + wavHeader.chunkSize = tmpLen; + wavHeader.format = 0x45564157; // "WAVE" + wavHeader.subchunk1ID = 0x20746D66; // "fmt " + wavHeader.subchunk1Size = 16; + + if (WDBitDepth == 16) + wavHeader.audioFormat = WAV_FORMAT_PCM; + else + wavHeader.audioFormat = WAV_FORMAT_IEEE_FLOAT; + + wavHeader.numChannels = 2; + wavHeader.sampleRate = WDFrequency; + wavHeader.byteRate = (wavHeader.sampleRate * wavHeader.numChannels * WDBitDepth) / 8; + wavHeader.blockAlign = (wavHeader.numChannels * WDBitDepth) / 8; + wavHeader.bitsPerSample = WDBitDepth; + wavHeader.subchunk2ID = 0x61746164; // "data" + wavHeader.subchunk2Size = totalBytes; + + // write main header + fwrite(&wavHeader, 1, sizeof (wavHeader_t), f); + fclose(f); + + stopPlaying(); + + // kludge: set speed to 6 if speed was set to 0 + if (song.tempo == 0) + song.tempo = 6; + + setBackOldAudioFreq(); + setSpeed(song.speed); + setAudioAmp(config.boostLevel, config.masterVol, config.specialFlags & BITDEPTH_24); + editor.wavIsRendering = false; + + setMouseBusy(false); +} + +static bool dump_EndOfTune(int16_t endSongPos) // exactly the same as in real FT2 +{ + bool returnValue = (editor.wavReachedEndFlag && song.pattPos == 0 && song.timer == 1) || (song.tempo == 0); + + if (song.songPos == endSongPos && song.pattPos == 0 && song.timer == 1) + editor.wavReachedEndFlag = true; + + return returnValue; +} + +uint32_t dump_RenderTick(uint8_t *buffer) // returns bytes mixed +{ + replayerBusy = true; + + if (audio.volumeRampingFlag) + mix_SaveIPVolumes(); + + mainPlayer(); + mix_UpdateChannelVolPanFrq(); + + replayerBusy = false; + + return mixReplayerTickToBuffer(buffer, WDBitDepth); +} + +static void updateVisuals(void) +{ + editor.editPattern = (uint8_t)song.pattNr; + editor.pattPos = song.pattPos; + editor.songPos = song.songPos; + editor.speed = song.speed; + editor.tempo = song.tempo; + editor.globalVol = song.globVol; + + editor.ui.drawPosEdFlag = true; + editor.ui.drawPattNumLenFlag = true; + editor.ui.drawReplayerPianoFlag = true; + editor.ui.drawBPMFlag = true; + editor.ui.drawSpeedFlag = true; + editor.ui.drawGlobVolFlag = true; + editor.ui.updatePatternEditor = true; +} + +static int32_t SDLCALL renderWavThread(void *ptr) +{ + bool renderDone; + uint8_t *ptr8, loopCounter; + uint32_t samplesInChunk, tickSamples, sampleCounter; + FILE *f; + + (void)ptr; + + f = (FILE *)editor.wavRendererFileHandle; + fseek(f, sizeof (wavHeader_t), SEEK_SET); + + pauseAudio(); + + if (!dump_Init(WDFrequency, WDAmp, WDStartPos)) + { + resumeAudio(); + okBoxThreadSafe(0, "System message", "Not enough memory!"); + return true; + } + + sampleCounter = 0; + renderDone = false; + loopCounter = 0; + + editor.wavReachedEndFlag = false; + while (!renderDone && editor.wavIsRendering) + { + samplesInChunk = 0; + + // render several ticks at once to prevent frequent disk I/O (speeds up the process) + ptr8 = wavRenderBuffer; + for (uint32_t i = 0; i < TICKS_PER_RENDER_CHUNK; i++) + { + if (!editor.wavIsRendering || dump_EndOfTune(WDStopPos)) + { + renderDone = true; + break; + } + + tickSamples = dump_RenderTick(ptr8) * 2; // *2 for stereo + + samplesInChunk += tickSamples; + sampleCounter += tickSamples; + + // increase buffer pointer + if (WDBitDepth == 16) + ptr8 += (tickSamples * sizeof (int16_t)); + else + ptr8 += (tickSamples * sizeof (float)); + + if (++loopCounter > 16) + { + loopCounter = 0; + updateVisuals(); + } + } + + // write buffer to disk + if (samplesInChunk > 0) + { + if (WDBitDepth == 16) + fwrite(wavRenderBuffer, sizeof (int16_t), samplesInChunk, f); + else + fwrite(wavRenderBuffer, sizeof (float), samplesInChunk, f); + } + } + + updateVisuals(); + dump_Close(f, sampleCounter); + + resumeAudio(); + + editor.diskOpReadOnOpen = true; + return true; +} + +static void createOverwriteText(char *name) +{ + char nameTmp[128]; + uint32_t nameLen; + + // read entry name to a small buffer + nameLen = (uint32_t)strlen(name); + memcpy(nameTmp, name, (nameLen >= sizeof (nameTmp)) ? sizeof (nameTmp) : (nameLen + 1)); + nameTmp[sizeof (nameTmp) - 1] = '\0'; + + trimEntryName(nameTmp, false); + + sprintf(WAV_SysReqText, "Overwrite file \"%s\"?", nameTmp); +} + +static void wavRender(bool checkOverwrite) +{ + char *filename; + + WDStartPos = (uint8_t)(MAX(0, MIN(WDStartPos, song.len - 1))); + WDStopPos = (uint8_t)(MAX(0, MIN(MAX(WDStartPos, WDStopPos), song.len - 1))); + + updateWavRenderer(); + + diskOpChangeFilenameExt(".wav"); + + filename = getDiskOpFilename(); + if (checkOverwrite && fileExistsAnsi(filename)) + { + createOverwriteText(filename); + if (okBox(2, "System request", WAV_SysReqText) != 1) + return; + } + + editor.wavRendererFileHandle = fopen(filename, "wb"); + if (editor.wavRendererFileHandle == NULL) + { + okBox(0, "System message", "General I/O error while writing to WAV (is the file in use)?"); + return; + } + + mouseAnimOn(); + thread = SDL_CreateThread(renderWavThread, NULL, NULL); + if (thread == NULL) + { + fclose((FILE *)editor.wavRendererFileHandle); + okBox(0, "System message", "Couldn't create thread!"); + return; + } + + SDL_DetachThread(thread); +} + +void pbWavRender(void) +{ + wavRender(config.cfg_OverwriteWarning ? true : false); +} + +void pbWavExit(void) +{ + exitWavRenderer(); +} + +void pbWavFreqUp(void) +{ + if (WDFrequency < MAX_WAV_RENDER_FREQ) + { + if (WDFrequency == 8000) WDFrequency = 11025; + else if (WDFrequency == 11025) WDFrequency = 16000; + else if (WDFrequency == 16000) WDFrequency = 22050; + else if (WDFrequency == 22050) WDFrequency = 32000; + else if (WDFrequency == 32000) WDFrequency = 44100; + else if (WDFrequency == 44100) WDFrequency = 48000; + else if (WDFrequency == 48000) WDFrequency = 96000; + else if (WDFrequency == 96000) WDFrequency = 192000; + + updateWavRenderer(); + } +} + +void pbWavFreqDown(void) +{ + if (WDFrequency > MIN_WAV_RENDER_FREQ) + { + if (WDFrequency == 192000) WDFrequency = 96000; + else if (WDFrequency == 96000) WDFrequency = 48000; + else if (WDFrequency == 48000) WDFrequency = 44100; + else if (WDFrequency == 44100) WDFrequency = 32000; + else if (WDFrequency == 32000) WDFrequency = 22050; + else if (WDFrequency == 22050) WDFrequency = 16000; + else if (WDFrequency == 16000) WDFrequency = 11025; + else if (WDFrequency == 11025) WDFrequency = 8000; + + updateWavRenderer(); + } +} + +void pbWavAmpUp(void) +{ + if (WDAmp >= 32) + return; + + WDAmp++; + updateWavRenderer(); +} + +void pbWavAmpDown(void) +{ + if (WDAmp <= 1) + return; + + WDAmp--; + updateWavRenderer(); +} + +void pbWavSongStartUp(void) +{ + if (WDStartPos >= song.len-1) + return; + + WDStartPos++; + WDStopPos = (uint8_t)(MIN(MAX(WDStartPos, WDStopPos), song.len - 1)); + updateWavRenderer(); +} + +void pbWavSongStartDown(void) +{ + if (WDStartPos == 0) + return; + + WDStartPos--; + updateWavRenderer(); +} + +void pbWavSongEndUp(void) +{ + if (WDStopPos >= 255) + return; + + WDStopPos++; + WDStopPos = (uint8_t)(MIN(MAX(WDStartPos, WDStopPos), song.len - 1)); + updateWavRenderer(); +} + +void pbWavSongEndDown(void) +{ + if (WDStopPos == 0) + return; + + WDStopPos--; + WDStopPos = (uint8_t)(MIN(MAX(WDStartPos, WDStopPos), song.len - 1)); + updateWavRenderer(); +} + +void rbWavRenderBitDepth16(void) +{ + checkRadioButton(RB_WAV_RENDER_BITDEPTH16); + WDBitDepth = 16; +} + +void rbWavRenderBitDepth32(void) +{ + checkRadioButton(RB_WAV_RENDER_BITDEPTH32); + WDBitDepth = 32; +} diff --git a/src/ft2_wav_renderer.h b/src/ft2_wav_renderer.h index ab33a46..df85c39 100644 --- a/src/ft2_wav_renderer.h +++ b/src/ft2_wav_renderer.h @@ -1,28 +1,28 @@ -#pragma once - -#include -#include "ft2_header.h" - -#define MIN_WAV_RENDER_FREQ 8000 -#define MAX_WAV_RENDER_FREQ 192000 -#define MAX_WAV_RENDER_SAMPLES_PER_TICK (((MAX_WAV_RENDER_FREQ * 5) / 2) / MIN_BPM) - -void updateWavRendererSettings(void); -void drawWavRenderer(void); -void showWavRenderer(void); -void hideWavRenderer(void); -void exitWavRenderer(void); -uint32_t dump_RenderTick(uint8_t *buffer); -void pbWavRender(void); -void pbWavExit(void); -void pbWavFreqUp(void); -void pbWavFreqDown(void); -void pbWavAmpUp(void); -void pbWavAmpDown(void); -void pbWavSongStartUp(void); -void pbWavSongStartDown(void); -void pbWavSongEndUp(void); -void pbWavSongEndDown(void); -void resetWavRenderer(void); -void rbWavRenderBitDepth16(void); -void rbWavRenderBitDepth32(void); +#pragma once + +#include +#include "ft2_header.h" + +#define MIN_WAV_RENDER_FREQ 8000 +#define MAX_WAV_RENDER_FREQ 192000 +#define MAX_WAV_RENDER_SAMPLES_PER_TICK (((MAX_WAV_RENDER_FREQ * 5) / 2) / MIN_BPM) + +void updateWavRendererSettings(void); +void drawWavRenderer(void); +void showWavRenderer(void); +void hideWavRenderer(void); +void exitWavRenderer(void); +uint32_t dump_RenderTick(uint8_t *buffer); +void pbWavRender(void); +void pbWavExit(void); +void pbWavFreqUp(void); +void pbWavFreqDown(void); +void pbWavAmpUp(void); +void pbWavAmpDown(void); +void pbWavSongStartUp(void); +void pbWavSongStartDown(void); +void pbWavSongEndUp(void); +void pbWavSongEndDown(void); +void resetWavRenderer(void); +void rbWavRenderBitDepth16(void); +void rbWavRenderBitDepth32(void); diff --git a/src/gfxdata/bmp/LICENSE.txt b/src/gfxdata/bmp/LICENSE.txt index 8929b77..7d3ff85 100644 --- a/src/gfxdata/bmp/LICENSE.txt +++ b/src/gfxdata/bmp/LICENSE.txt @@ -1,443 +1,443 @@ -These graphics (except "ft2-clone.ico", "logo.bmp" and "midilogo.bmp") -are copyrighted Magnus "Vogue" Högdahl and can ONLY be used for non-commercial -purposes! -The rest of the graphics uses the same BSD 3-clause license as the source code. - -License (CC BY-NC-SA 4.0): -Attribution-NonCommercial-ShareAlike 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International -Public License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution-NonCommercial-ShareAlike 4.0 International Public License -("Public License"). To the extent this Public License may be -interpreted as a contract, You are granted the Licensed Rights in -consideration of Your acceptance of these terms and conditions, and the -Licensor grants You such rights in consideration of benefits the -Licensor receives from making the Licensed Material available under -these terms and conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. BY-NC-SA Compatible License means a license listed at - creativecommons.org/compatiblelicenses, approved by Creative - Commons as essentially the equivalent of this Public License. - - d. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - e. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - f. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - g. License Elements means the license attributes listed in the name - of a Creative Commons Public License. The License Elements of this - Public License are Attribution, NonCommercial, and ShareAlike. - - h. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - i. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - j. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - k. NonCommercial means not primarily intended for or directed towards - commercial advantage or monetary compensation. For purposes of - this Public License, the exchange of the Licensed Material for - other material subject to Copyright and Similar Rights by digital - file-sharing or similar means is NonCommercial provided there is - no payment of monetary compensation in connection with the - exchange. - - l. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - m. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - n. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part, for NonCommercial purposes only; and - - b. produce, reproduce, and Share Adapted Material for - NonCommercial purposes only. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. Additional offer from the Licensor -- Adapted Material. - Every recipient of Adapted Material from You - automatically receives an offer from the Licensor to - exercise the Licensed Rights in the Adapted Material - under the conditions of the Adapter's License You apply. - - c. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties, including when - the Licensed Material is used other than for NonCommercial - purposes. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - b. ShareAlike. - - In addition to the conditions in Section 3(a), if You Share - Adapted Material You produce, the following conditions also apply. - - 1. The Adapter's License You apply must be a Creative Commons - license with the same License Elements, this version or - later, or a BY-NC-SA Compatible License. - - 2. You must include the text of, or the URI or hyperlink to, the - Adapter's License You apply. You may satisfy this condition - in any reasonable manner based on the medium, means, and - context in which You Share Adapted Material. - - 3. You may not offer or impose any additional or different terms - or conditions on, or apply any Effective Technological - Measures to, Adapted Material that restrict exercise of the - rights granted under the Adapter's License You apply. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database for NonCommercial purposes - only; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material, - including for purposes of Section 3(b); and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - -======================================================================= - -Creative Commons is not a party to its public -licenses. Notwithstanding, Creative Commons may elect to apply one of -its public licenses to material it publishes and in those instances -will be considered the “Licensor.” The text of the Creative Commons -public licenses is dedicated to the public domain under the CC0 Public -Domain Dedication. Except for the limited purpose of indicating that -material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the -public licenses. - -Creative Commons may be contacted at creativecommons.org. +These graphics (except "ft2-clone.ico", "logo.bmp" and "midilogo.bmp") +are copyrighted Magnus "Vogue" Högdahl and can ONLY be used for non-commercial +purposes! Some of the graphics have been slightly altered by me (8bitbubsy). +The rest of the graphics uses the same BSD 3-clause license as the source code. + +License (CC BY-NC-SA 4.0): +Attribution-NonCommercial-ShareAlike 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International +Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-NonCommercial-ShareAlike 4.0 International Public License +("Public License"). To the extent this Public License may be +interpreted as a contract, You are granted the Licensed Rights in +consideration of Your acceptance of these terms and conditions, and the +Licensor grants You such rights in consideration of benefits the +Licensor receives from making the Licensed Material available under +these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. BY-NC-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution, NonCommercial, and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + k. NonCommercial means not primarily intended for or directed towards + commercial advantage or monetary compensation. For purposes of + this Public License, the exchange of the Licensed Material for + other material subject to Copyright and Similar Rights by digital + file-sharing or similar means is NonCommercial provided there is + no payment of monetary compensation in connection with the + exchange. + + l. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + m. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + n. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part, for NonCommercial purposes only; and + + b. produce, reproduce, and Share Adapted Material for + NonCommercial purposes only. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. + + c. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties, including when + the Licensed Material is used other than for NonCommercial + purposes. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + b. ShareAlike. + + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-NC-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database for NonCommercial purposes + only; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, + including for purposes of Section 3(b); and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/src/gfxdata/bmp/patternfonts.bmp b/src/gfxdata/bmp/patternfonts.bmp new file mode 100644 index 0000000000000000000000000000000000000000..67e606a0943e84fa95609cccb8cabdd8658fd1a3 GIT binary patch literal 149816 zcmeI4!LnpYPDG2@vSY<3@C6uab}TUCQ~3W4s9W?IM;=nf&AjkH7u+|NKk*=fC6lU-3Wx;m1G6_s5UFMg5=t@yDP4`O`R`^8)7u z&I_CuI4^Ks;I0?=pN+qmwZZ-$k}X&H=-O#vpH6rPq?g7AmH(xHm@?F&vy3w7_2nW<*0X1h$%e%#}hL3hQna-9+*L!?@J=fj)IGIkz-{tGv zE^~)@rMJshKebMAC#&D<`_7w=F0WVc_W2PCudt5jd~Lsr(acWo%+lVDf49H0!w%E! zslBQ@{=0nLP4!*-Xr}5eUm4XMf0w^AOPNkz+NXmfd?+nPJKs6k-c{Z2_^ZArhr?aG zdNqIM8B|0!SFu-^xmT;c|IQAYkeaSi^85gRJ5fSt>HIF|3ExM!qp?~|-yL`@rS=x} zX$;ZzDzn5k8#Bk@a2TC(TUwfw5#J^_dOvTMlY*w z!n>H^uKKh4{toHfb+4=WSNV7B*=2USso(W3{iT^{LrKS>JO233y(bSFqI<&~rt5v( z_k?uVssQOP&EbxPk0bd@ag|?&r0G%aXuDR`UuuO@cSF6s>s7L2KF!yiRd;(T^H2{V zUFrDws^9ev-EVqzAI<4{mFaZXdzZg6*BPCjRd?J^=J)jV4fU<`O?H^B_jmL4tuASQ zaCb6LpLA!0@|`X@o0#vj)7UZUvyYmoyP=)$37QjK9Z>wY=4bf+h^P5-sqXk?`P~BU z?>|oVas`iCI$i!%e;FPo`ye_p{i}0lo}oqPtWx5rjB0=o>FbxOnw`D`M+p3Kv`>Ne z($ax{Q$APl={frM@%^Uh=udF;d4cl+=LOCSoEJDR@Qb}b_b&kI4_BTstp3m>7lFB5tEqQ3R8kYP z*L`=C@3eQh)Ac^>>xfQkxH9Rx13#34nX3=O9ne74?4v>f*N|RXI{V8+`*Y!RbwU?| zQM1!a7!#rGX}SX(!mIAQ!fS8p@6F%YM>kaM`)k#;&k9GeB`}-buFg`IKxIm4d2~LV zguALT8hbCVX+<+seN2Q`)fqGiAqI?+@~QzssE?k3p{ga-B&YCFI$f1^ZBz|_(CVNs z@xUR5OiIe9&XW4>C`ptGZFl%;btl0y)tPrwvYRz0c-0-BqRv%bdtG~)JKE({cV<4S z+A`?OQJ_l>hEm4^6fyH&RmXJ+kE1i{%)D3Kc`spso2UrcklcK6-M9QV`ds-5pS9hv@4RmtagPY6d>?X)&3qyAFQ@LbKn z9cDTDm=9mz>f3%A|L}qeTwPv!-=wdubd`V8+8O%=%Um6C_=R z95nn-njcroE9f2dQeE{|;`J`B{WXqrUf{gId4cl+=LOCS{4y`#|LAw8T-E`1vc>(* zVMGV04?K%yi<+I**p5+O`Jx|U3UpdCJ4XGheDr3Eh79^@{#BlRqH$P5OFAO;Ty;kI zq6t?Y6S1tS*=Z6&bd37&OEarl3Qfy$gjQ8+Nc!oho}D=@syd?6geZVH3vC&6hA1${ zIOCRb0!>*S~{NTY1-(#R*NR8_`{KwcZ*9qDC~>P)#UGDcG7lc z=`Eah=U!gZ&vPzr&G@Txn&A-w9&uf*$JT+erR-W^YHN4w@~kS_w>?oOE!fNq$2 z+2vS?(q7e>);Z~S)p--Ix}*87-_83(bskQC5g6LFq*~Vt?WJ@Q^Xjr?fV0$nJ>Q+K z_eEc?nNjYjuhn76p%iIzwHuede|OTnOP#9;uk&-lTwQLiX6QL#u9m1}+MM83cXWzZ z-BI54%zIUxSznz6KgUu{o?{3S5OX!KhX7Ga;qB_UUWQy+Lo+ii9o4g=J9KH9u+M8+ z(S)dviSVjBz@5;RPVe+C84YxxtGe$_rn#R^S9M<#w3lriSUQ(@;3vd#dNDOtOX<4< zKa_%*s}IAOqGBhr?B&^fwf$GGoZ?r4`+)fqG)1EVGQ zK`i;DNr+e70S>XOsyXP)82~MHLzPi|m5*LpG^f+RDil_~XvGGdT?3#c9ie`wl^?XW z`#z;n;m}&ulKQTd95jssqb2wd>USDm0ZhcQs%EE`2^}0he24+l5-ntlXqs2unR%`5 z=sABU;T7iI>G!7Pz21@e^)L2mx7dFH-F(pdf!|B&6~1?q-)(xnyx!WKtX}<%l<&08 zEm~Vj$@fuMwKl5XX?O)N5nfei*2|EgCHVm;rAzt1Axchn)Ruj%Y5QGwk+)CRK=doy z5)$HxoZH)<3w*BYiTj?G`324oF~85Lo)9@A=)WU%y1Yz>sh=(C z%$gB1mQ~u znuca54uVn$OoUh60S@6+cYY;a?~;1H?^WK@+|kUr8sv+Bx4XkW%hJ-M#l_5f)t$^# zKehWi(>2F=ckbmq%^lrgt_Jxc@M3#eAkw|}O4y#P251ucWnki^{4 z_WkNWYN^xR(2ft^_aES^Jo{)S<{)O?tLnJ+LC&Z%^I271^;}glwa*Giu_Z8@-mcD4 zmq2AoX?ZOCe2jzw;AD7LP2U%od94;rl=_$muc|X>5<(0ZCFNBEgis$n14C6ys!2{! zO7l^Bl~k>ak5IB`8jHU?0*6=v#Z*3Z0_wY?WC`4XHQb}Ty3cs8uIJUx@h*3?*Q@Fb znvj9f68s>R{L&=EtL^}Y@Txms$?L4t_wI8w|K0q2yO{nE@D0`Rc6XA$>gyEMnv>e| zJ3mM*aa1$4I^A@it7KRG-hAJ%IP-b|&p=mo-<|ozx@za|=VwBfqgB`46ekBqLprVP z%Ba88Gdx!#P=U}sLV=y?_wqX%IoGD>+3@2WpLU+y?xC*T=aR+nZM)xq8ScR8K^M1GE5 ze&@7hOJ`=3R^7?!)uGCFTIUw6Ev4l9D6Co=)$cUC0+s{d*ETw%H7a@#b2C0_61nnyU|yuf*Z^8)7u&I_Cu`1M|( z{G&fFSj;>|sq?+$4@K{C1Uwi+y@V5@}ZAtta_*SFkk-y`WvavO=d@{oz@$5 z%#MH8K0CAC&Ajp^KjS-e_wD?h_rLlMGtVYDI*#2AkOQN=%DWCSbF@@;(9-8?y}Rn% ze0H?jX?+1@)L-g^y%fHi?&vJlN$xl$vzuFdO;%mf&hbNDKz}3Ex!#WB7x6AnQ)Wjq zMd2{@s2YA?l;6=;GdsTX_jgcI(^6}7M{5GSiU9P8R=?81BXyEV|TuqkRjQXKAAgFFeP(&1b&BLVuY*CSv!tznb6**B3c4QpLBgoU4B=@wDri~eB&p1@7a-^A5v}=mX$>!{W@))CrnX9419&DQx!yAS%tAcJ)2_mo$!d;JGITMuSG9I! zi&xbdH0{ag5r@Un$>~YzCSb+H*Y;$VAy4qxl9}JASs-`F+x=EweF1$0_4Ps2?|6LR zNKmbTZ_VC<|;|^b<=A5W5`C`VgEKrUe@A(S`cMu90@5*9t#iST@U$e84_3n8!VxQ}XZ1Ar?XM@*-3V&k?a~FV$d*vpj}b=BAUd>VhqISTdNi zV3uOJMmPwqez-0>m!n_Gf#n4|tn)pjBg1#tozlKMYE%K1fo_JQA$e5iVeB&Vm|yk+ zkj;*?`I zy~8@+bCzV9@pXQ7G!2c2-qiZlKqb|u5fd_mSHV>1(7UweA3eMPzgIHl7-r}2OKCW! zb`>*@#A-B=N7T znUwHDupVY{I3kkdsKNuY8ej6Y-F;8MSw>|-$$?Z~N!7ksamrCMONpcA?`RrB1fMNw zmZJkWNosFbf<)-7VtNQ8AX8+B^RvI~C8YG`@zPxKLwGFtDw0&^MSV4pRb%eg=oc?| zV|&~;ubi3Xm=B^r8SQ+@DF8>rW?+Yv9FB;xPaLzPU(60pU%y?x#)hV4_5)LZV`=Y> z_=rr4BVy2WDHDz5m`=jPBEH7YDSXTH@QcF{vAL&4ZT1dZQBskyd?}T2_&b8MLG0u_ z&6MTKF=E}(SzQ$$kzM7eQAO{Q(U@?23F+F4&k>Oc^N}fx#-TBUSHV+gX{9)n)l|%**DjmsfB;F?>YvmuYI2MlCIM@Jm0kH{)Vgm#5aU%%SuzPEfYU+%>bq3f}HntFVW&n~{i{#JtPmp9BuC}x42!SOYnNxzMF}TG=SMY41x_p7i6UWub0{RovP>Kc1CTzAek`N| z;n0q7j2vZDXUp;nhA3G2`W=8QDeSS~XhH{KK@LKzAFj*J<*2vgBF;FrWE>;Y#gO3eL#L$WF}^h7ASk6!SWCsvc7Srk zKjK4Pp!`7P7)!d-nR=sT*U$)$$h2~FvjFADO8AHpwds4{GAGmcc3s*F93uQYc8#S9 zh5$&x7a#=8(u}Gy1?Gsz5RQoFd|xR8D#pSu#Xfpd7n>3YJIz(vAp5 zwI4GCCWJEhjwN}opJ}=Pj*7CC^8ko!=cuBzYbkVTTppKZ=I~7hG6dn64kzPZP4lQy z-2q^HR_ExHU=mBS95Y-2dY#k+S`sVYLYAlk$MF)caBBT7X9dvtl-PFE&~!sw;RGG*46 z`DH8CSc(qjj?1puESbyWobY0`EMJZh?hX@oN`)y$qFn5gEEz4DlL`8T1Y?R~n2zBf z3Owh~rNUcYcQpU#;RTjIA3Q%qas1fjZ2BIEvlPT4661&{{xU7h!gpBbZ?-S7H2LO; zCD~0M{2^y34S^q3`q{4#`^S6cmxukSFIARb9`(LUAm3z(bv&=viPG3%_&Oc)M$zSW z{*9wg)LUO5|4!puW~HwtWGOBEB@<}{R?JJ6cvfBJP%T0iD5ag_emh&uv2);Djbs3X zj~hx3f2Q*bT;Vex_LZ&jN8wwd{3nAfrKP`Q%7}A3FK}Mqyuf*Z^8)7u&I_Cu_^DrD z`R{>oqvFSLX{PU`<(p(?mP$T+=W7>mh>l8dJou5&Ok*R_NWmE^u zvA}U8s+7{Fu^bBwhFJ1tmNEpY39mv)#v!~NzA!<$gGrZ;&Z;^kfg>VejtC9O*evO{ zFq_BM6E+9E3Df;UGo|=ha+8))B1c6s>by_S`>=K{aMxlbrySpR*^~U-3zQ$I93ykb zam>4NJ$%HbpV-4e#3DBH-^6!ocRp(%%Kpn^m>s|AKfTW@`P!>muhaQg-$D7vEcZ<( zXQ?ijhEN*J!uXL{TFN!TL1^{Eb=kQbmzQ$Ju_fc!@Hj)l&_$`VFOOk%JU&8U%n-$2 z4pRQ;k9vWJzgGcr`K77%>VSuS0m{**7oZ$j2_I3SHhmAAb2`5BSp!k>mq*eNv?HR_ zX}SudNAC?sfeZmlq2B^zuYNPov2>O`<6w%TM>Hb3QkQR;rFQ$)6S4j2GV3j7eXyHG4iZ-2tiSi&`vQkq&C9HJ1V5kEwfI4YJUpVIkCl9|b+ zC68`8tfXq6Rh)7xvr09On!lqpB=~G0N{?awS^xY0^3pr|gd|qJI*U?C#t(6c?{YMx zFmcRr?o(o)!W5sJ5cJZr6iF^i&zV;PSvAIejehQ4@92vA=9M$N9P>dG&>bA6N(oW& z)7P&8?vt!o=sBM*FvN2?9ysT8{8hhOo17xx5dm~sdy^?&dP#7RA@BBeRkl)-1zy}o z!#6X_MBQqsGnOw*8Hc|kNE^gX&eKd;z8oXg9cJy63R8|mx!5OJGFr&#+KbN-kqPsW zDU8O+#`2}Q6a~KJxEyp$e}Q~${N*vs8Hnn#ao_Lq@rz&_A_0zwFYtAiYTbF$2Sb$o zmq#5`fG(%_B%~kTa5_y%MJ5o7c#~gZ^BCWE&+YPAz<1D6(UF$C`elTcK3|vRm&d$y z-en0y>8k(mWlG=@a$jwneSj9eRXKg_57WE%3XXJLLhZLc&fRE`wpbj@%Tig6JKq_#D6!R z6LSY7#o-vDFdRc9rcRpaXh@fXk68AW zsB=6oa9-fNz7s`j$qr>iGi*~u=U4xTRge*n2$9Gvh z=6Qkh0_O$J3;doh;Qw%mcfjOL+{u#rgF^}7v$Rx3P(lpr!8{?Ng=805of+?1I=Nf- zUA7$ayuf*Z^8)7uKJx|g5A)a!Q8a5Skfu7R`O>9n@Q5yFr(Hvs8=_=_DU+BwOw5uV z6B`^Rh9G&V3DK5fJ}fQyW1bf{FK}MqyukOq0RON+#6GHZJ@;`sflsVDgkvIx(!h9^ zJG6Hqe7aoBRp$pM7wEo2<0+jNI4^Ks;Jm=6y+Hn99$OU=M^-H*hiAuga1hUp@OF1D zB}cnnoHP{=0fmn~FK}Mqyuf*Z-{%GLpE&xDiFEV@I)*M(!4Hvt1&~bn<`L#E{Qv!5l3_}3z&Of;=1AZX z=LOCSoEJDR@HsD#e@gRbwF_3I6prh3@QdI`uk!mkm)S{UP_}UNS(@opca&G{TQL*? zqat)3_1h(9Kv>vZso;7E@0u5|&es;^p^ z)C@|Dfs zV>+*Y%g|xE&H_VZHPck51I7`daOgZDz>YXCa9-fNz1M`%n#2{a18m#y3L{&tk literal 0 HcmV?d00001 diff --git a/src/gfxdata/bmp/readme.txt b/src/gfxdata/bmp/readme.txt index b880060..610b211 100644 --- a/src/gfxdata/bmp/readme.txt +++ b/src/gfxdata/bmp/readme.txt @@ -1,4 +1,20 @@ -These are not used for compilation, but are here just -for re-use or modification. Some files are missing! - +These are not directly used when compiling the binary, but are here for re-use +or modification. Some files are missing! + +This is how they are converted for binary use: +- Every 32-bit RGB pixel is converted to an 8-bit palette index value. + This is not a fully automated process, as you need to use your eyes + (and brain) to find out what RGB values are converted to what value. This is + because the palette is not the same for all BMP files, to make it easier on + the contrast and stuff like that. Some palette entries share the same color. +- These palette index bytes are given appropriate constant names + (found in ft2_palette.h) and the array is converted to a .h file for + inclusion in the code, and is then directly read by GUI functions. + +This makes modification all but a smooth process, and I'm sorry for that. +I ought to have every single graphics file stored as BMP, then have a custom +program that is run on compile time to convert every BMPs to .h files +accordingly. Maybe one day, though this means that the custom program would +interfere with portability. + Please read LICENSE.txt if you plan on using these... \ No newline at end of file diff --git a/src/gfxdata/ft2_gfx_fonts.c b/src/gfxdata/ft2_gfx_fonts.c index 6d08403..63c6af2 100644 --- a/src/gfxdata/ft2_gfx_fonts.c +++ b/src/gfxdata/ft2_gfx_fonts.c @@ -1,2459 +1,2459 @@ -#include - -const uint8_t prop8Width[128] = // normal font -{ - 8,8,4,6,7,6,7,6,6,6,6,6,6,6,8,8, - 6,6,6,7,7,7,7,7,7,8,7,8,8,8,8,8, - 4,3,8,8,8,8,8,4,5,5,8,7,4,7,3,8, - 7,7,7,7,7,7,7,7,7,7,3,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,3,8,8,8,9,9,8, - 8,8,8,8,9,8,8,9,9,9,8,8,8,8,4,8, - 8,7,7,7,7,7,5,7,7,3,5,7,3,9,7,7, - 7,7,5,7,5,7,8,9,8,7,7,8,2,6,7,1 -}; - -const uint8_t prop16Width[128] = // big font -{ - 16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16, - 16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16, - 10, 8,16,16,16,16,16,10,12,12,16,16,10,14, 8,16, - 16,16,16,16,16,16,16,16,16,16, 8,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16, 6,14,16,15,16,16,16, - 16,17,16,16,16,16,16,16,16,16,17,16,16,16,16,16, - 16,14,14,14,14,14,12,14,14, 6,10,14, 6,17,14,14, - 14,14,13,14,12,14,14,17,16,14,16,16,16,16,16,16 -}; - -const uint8_t smallHexBitmap[560] = -{ - 0,1,1,1,0,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,1,1,0,1,1,1,1,1, - 1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,0,1,1,1,0,1, - 1,1,1,0,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1, - 1,1,1,1,0,0,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0,0,1,1, - 0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1, - 1,1,0,1,1,1,1,0,1,1,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1, - 0,0,0,0,0,1,1,0,0,0,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,0,0, - 0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0, - 0,1,1,0,1,1,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,0,0, - 1,1,0,0,0,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,0,1,1,0,0,1,1,0, - 0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0, - 1,1,1,1,1,1,0,1,1,1,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,0,0, - 0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,1,0,1,1,0,1,1,0,0,1,1,0,1, - 1,0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0,0,1,1,0,1,1,1,1, - 0,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,1,1, - 0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0, - 1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0,0,1, - 1,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,0,1,1,1,0,0,0,0,1, - 1,0,1,1,1,0,0,1,1,1,0,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,1,1, - 0,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0 -}; - -const uint8_t font1Data[10240] = -{ - 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0, - 0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, - 0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0, - 0,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0, - 1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1, - 1,1,0,0,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1, - 1,1,1,1,1,1,1,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0, - 1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0, - 0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0, - 0,0,0,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 1,1,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0, - 0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0, - 1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0, - 1,0,0,0,0,0,1,0,0,0,1,1,1,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0, - 1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1, - 1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0, - 0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0, - 0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,0, - 1,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0, - 0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0, - 0,1,1,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0, - 0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0, - 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,1,0,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0, - 1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0, - 0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0, - 0,1,1,1,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0, - 1,1,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0, - 0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0, - 0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0, - 0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0, - 1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0, - 0,0,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,0,1,1,0, - 1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,1,1,0, - 1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,1,1, - 1,1,0,1,1,0,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0, - 0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0, - 1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0, - 0,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1, - 1,1,0,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0, - 0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,0,0,0,1,1,0,1,1,1,0,0, - 1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,1,0,1,1,0,0, - 1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0, - 0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0, - 1,0,1,0,0,0,1,0,1,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,1,0,0,0, - 1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,1,1, - 0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0, - 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0, - 0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0, - 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0, - 1,1,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0, - 1,0,1,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,0, - 0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0, - 1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,1,0,0,1,1,0, - 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0, - 1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0, - 0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0, - 1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,1,0,0, - 0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,1,1,0,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,0, - 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0, - 0,1,1,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0, - 1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0, - 1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,1,1, - 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0, - 1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,1,1,0,0,1,1,0,0, - 0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0, - 1,1,0,0,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0, - 0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0, - 0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0, - 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0, - 0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0, - 0,1,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0, - 1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0, - 0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1, - 1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0, - 1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0, - 1,1,0,0,0,0,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,1,0,0,0,1,1,0,1,1,0,1,1, - 0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0, - 0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0, - 0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0, - 0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0, - 0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0, - 0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0, - 1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, - 1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0, - 1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,1,1, - 1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0, - 1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0, - 0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,1,1,0,0,0,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0, - 0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -}; - -const uint8_t font2Data[40960] = // big font -{ - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,1,1,0,0,0,0, - 0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, - 0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0, - 0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0, - 0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, - 0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, - 1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,0, - 0,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,0,0,1,1,1,1,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0, - 0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0, - 0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, - 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, - 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1, - 1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,0,1,1,1,1,1,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0, - 1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0, - 0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, - 0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, - 0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1, - 0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0, - 0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0, - 0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, - 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0, - 0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, - 0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,1,1,1,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0, - 1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, - 0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0, - 1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1, - 0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, - 0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, - 1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, - 1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0, - 1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, - 0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -}; - -const uint8_t font3Data[1376] = -{ - 0,1,0,0,0,1,0,0,0,1,0,0,1,1,0,0,1,0,1,0,1,1,1,0,0,1,1,0,1,1,1,0, - 0,1,0,0,0,1,1,0,0,1,0,0,1,1,0,0,0,1,0,0,1,1,0,0,1,1,1,0,1,1,1,0, - 0,1,1,0,1,0,1,0,1,1,1,0,0,1,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,1,0,0, - 0,1,0,0,1,1,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,1,1,0,1,0,1,0,1,0,1,0, - 1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,0,1,0,1,0,0,0,1,0,1,0,1,0, - 1,0,0,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0, - 1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,0, - 1,0,0,0,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0, - 0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0, - 0,0,1,0,0,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0, - 1,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0, - 0,1,0,0,0,0,1,0,1,0,1,0,1,0,0,0,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0, - 1,0,1,0,1,0,1,0,1,0,0,0,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,0, - 1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,1,0,1,1,0,0, - 0,0,0,0,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,1,1,0,1,1,0,0,1,1,0,0, - 0,0,1,0,0,1,0,0,0,1,1,0,1,1,1,0,1,1,0,0,1,0,0,0,1,0,1,0,1,1,0,0, - 1,1,0,0,1,0,1,0,1,1,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,0,0,0,1,0,1,0, - 1,0,1,0,1,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0, - 1,0,1,0,1,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,0,1,0,1,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0, - 0,0,1,0,0,0,1,0,1,0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0, - 1,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0, - 1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0, - 0,0,1,0,0,1,0,0,1,0,1,0,1,0,1,0,1,1,1,0,1,0,1,0,0,1,1,0,1,0,0,0, - 0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,0,1,0, - 0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,1,0,0,1,0,0,1,0,1,0, - 0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,1,0, - 1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, - 1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,1,1,1,0, - 1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, - 1,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,0,0,0,1,0,1,1,0,0, - 0,1,0,0,0,1,0,0,0,1,0,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,0,0,1,1,0,0, - 1,1,1,0,1,0,0,0,0,1,0,0,1,0,1,0,1,1,1,0,1,1,0,0,1,0,1,0,1,1,1,0, - 1,0,1,0,1,0,1,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0,1,0,1,1,0,0,0,1,0,0, - 0,1,0,0,0,1,0,0,1,0,1,0,1,0,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -}; - -const uint8_t font4Data[18688] = // medium pattern fonts -{ - 0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, - 0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, - 1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0, - 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,0, - 1,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 0,0,1,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,1,0,0,0,0, - 0,0,0,1,0,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0, - 0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0, - 1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0, - 0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, - 0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1, - 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,0, - 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,1,1,0, - 1,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,0, - 1,1,0,0,0,0,0,0,1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,0,1,1,0, - 0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,1,0,0, - 0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0, - 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, - 1,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0, - 0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0, - 0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, - 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0, - 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0, - 1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0, - 1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,1,1,1,0, - 1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,0, - 0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0, - 1,1,1,1,1,1,1,0,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0, - 0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0, - 0,1,1,0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0, - 1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0, - 1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0, - 0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0, - 0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, - 1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0, - 0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, - 1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0, - 0,1,1,1,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0, - 0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0, - 0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0, - 1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0, - 0,0,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 0,0,1,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, - 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0, - 0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, - 0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, - 0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1, - 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,0,0,0,0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0, - 0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,0, - 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0, - 0,1,1,0,0,0,0,0,1,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,0,1,1,0, - 0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,0,0, - 0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0, - 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, - 1,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0, - 0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0, - 0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, - 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0, - 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0, - 1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0, - 0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0, - 1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0, - 1,1,0,1,0,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0, - 0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, - 0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0, - 1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0, - 1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, - 0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, - 1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0, - 0,0,1,1,1,0,0,0,1,1,0,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0, - 0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0, - 0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, - 1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0, - 0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, - 0,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, - 1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,1,0,0,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0, - 0,1,1,1,1,1,1,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0, - 0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, - 0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, - 1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0, - 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0, - 0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0, - 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0, - 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0, - 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, - 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0, - 0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0, - 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,1,1,1,1,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,1,1,0,1,1,0,0,0,1,1,0, - 0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0, - 1,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0, - 0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, - 0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1, - 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 1,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,0, - 1,1,0,0,0,0,0,0,1,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,0,1,1,0, - 0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0, - 0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0, - 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, - 1,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0, - 0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0, - 0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, - 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0, - 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0, - 1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0, - 1,1,1,1,1,1,1,0,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0, - 0,1,1,0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0, - 1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0, - 0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0, - 0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, - 0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0, - 0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0, - 1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, - 1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0, - 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0, - 0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, - 1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0, - 0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, - 0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,1,1,0, - 0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, - 1,1,1,0,1,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0, - 0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0, - 0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0, - 1,1,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0, - 0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,1,0,0,0,0, - 0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0, - 0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0, - 1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0, - 0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0,0,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, - 0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1, - 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0, - 1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0, - 0,0,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,0, - 0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0, - 1,1,1,0,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,0,1,1,1,0, - 1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,1,0,0, - 1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0, - 0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0, - 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, - 1,0,1,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,0,0, - 0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, - 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0, - 0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, - 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0, - 1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0, - 0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,0, - 1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,0,1,1,0,1,1,0,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0, - 1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0, - 0,1,1,0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0, - 1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0, - 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0, - 0,0,1,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0, - 1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0, - 0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0, - 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0, - 0,0,0,1,0,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0, - 1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,0,0, - 0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, - 1,1,1,0,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0, - 1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0, - 1,1,1,0,1,1,1,0,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0, - 0,1,1,1,1,1,1,0,1,1,1,0,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0, - 0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,1,1,0,1,1,1,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0, - 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -}; - -const uint8_t font5Data[19968] = -{ - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, - 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0, - 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0, - 0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0, - 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0, - 0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0, - 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, - 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0, - 0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0, - 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, - 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0, - 0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0, - 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, - 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -}; - -const uint8_t font6Data[896] = // hexadecimal font -{ - 0,1,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,1,1,0,0, - 1,1,0,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0, - 1,1,1,1,0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,1,1,1,1,1, - 0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,0,0,1,1,0,0,1,1,1,0,0,0,1,1, - 0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,1,1, - 0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0, - 0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0, - 1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,1,1,0,0, - 1,1,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,1, - 1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,1, - 1,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0, - 0,1,1,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,0, - 0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1, - 1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0, - 1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0, - 1,1,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,0, - 0,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,1, - 1,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,1, - 1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,1,1,0,0,1,1, - 0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0, - 0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0, - 1,1,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0, - 1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,1, - 1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1, - 1,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1, - 1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,0,0,1,1,1,1,0, - 0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,0,1,1,1, - 1,1,0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,0,0,0,0,0 -}; - -const uint8_t font7Data[1120] = // tiny pattern note font -{ - 0,1,1,1,0,0,0,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,0,1,1,0,1,1, - 1,1,1,0,0,1,1,1,1,0,1,1,1,1,1,0,0,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1, - 1,0,1,1,1,1,1,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,1,1,0,0,0,1,1,0,1,1,0,1,1, - 0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,0,1, - 1,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0, - 1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1, - 1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,1,1,0,0,1,1,1,1, - 0,0,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0, - 1,1,0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1, - 1,0,0,0,1,1,0,1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,1,1, - 1,0,0,0,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,1,1,0, - 1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,0,1,1,1,1,0,0,0,1, - 0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0, - 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,1,1,0,0,1,1,0,0,0,0,1,1,0, - 0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,1,0,0,1,1,0,0,0, - 1,1,0,0,0,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,1, - 0,1,1,0,1,1,0,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0,1, - 1,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,1,1,0,1,1,0, - 1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1, - 0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0, - 0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,0,0, - 0,0,0,1,1,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,0,0,1,1,1,0,0,1,1, - 1,1,0,0,1,1,1,1,1,0,1,1,0,0,0,0,0,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -}; +#include + +const uint8_t prop8Width[128] = // normal font +{ + 8,8,4,6,7,6,7,6,6,6,6,6,6,6,8,8, + 6,6,6,7,7,7,7,7,7,8,7,8,8,8,8,8, + 4,3,8,8,8,8,8,4,5,5,8,7,4,7,3,8, + 7,7,7,7,7,7,7,7,7,7,3,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,3,8,8,8,9,9,8, + 8,8,8,8,9,8,8,9,9,9,8,8,8,8,4,8, + 8,7,7,7,7,7,5,7,7,3,5,7,3,9,7,7, + 7,7,5,7,5,7,8,9,8,7,7,8,2,6,7,1 +}; + +const uint8_t prop16Width[128] = // big font +{ + 16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16, + 16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16, + 10, 8,16,16,16,16,16,10,12,12,16,16,10,14, 8,16, + 16,16,16,16,16,16,16,16,16,16, 8,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16, 6,14,16,15,16,16,16, + 16,17,16,16,16,16,16,16,16,16,17,16,16,16,16,16, + 16,14,14,14,14,14,12,14,14, 6,10,14, 6,17,14,14, + 14,14,13,14,12,14,14,17,16,14,16,16,16,16,16,16 +}; + +const uint8_t smallHexBitmap[560] = +{ + 0,1,1,1,0,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,1,1,0,1,1,1,1,1, + 1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,0,1,1,1,0,1, + 1,1,1,0,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1, + 1,1,1,1,0,0,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0,0,1,1, + 0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1, + 1,1,0,1,1,1,1,0,1,1,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1, + 0,0,0,0,0,1,1,0,0,0,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,0,0, + 0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0, + 0,1,1,0,1,1,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,0,0, + 1,1,0,0,0,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,0,1,1,0,0,1,1,0, + 0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0, + 1,1,1,1,1,1,0,1,1,1,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,0,0, + 0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,1,0,1,1,0,1,1,0,0,1,1,0,1, + 1,0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0,0,1,1,0,1,1,1,1, + 0,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,1,1, + 0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0, + 1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0,0,1, + 1,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,0,1,1,1,0,0,0,0,1, + 1,0,1,1,1,0,0,1,1,1,0,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,1,1, + 0,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0 +}; + +const uint8_t font1Data[10240] = +{ + 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0, + 0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, + 0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0, + 0,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0, + 1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1, + 1,1,0,0,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1, + 1,1,1,1,1,1,1,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0, + 1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0, + 0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0, + 0,0,0,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 1,1,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0, + 0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0, + 1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0, + 1,0,0,0,0,0,1,0,0,0,1,1,1,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0, + 1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1, + 1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0, + 0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0, + 0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,0, + 1,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0, + 0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0, + 0,1,1,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0, + 0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0, + 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,1,0,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0, + 1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0, + 0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0, + 0,1,1,1,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0, + 1,1,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0, + 0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0, + 0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0, + 0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0, + 1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0, + 0,0,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,0,1,1,0, + 1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,1,1,0, + 1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,1,1, + 1,1,0,1,1,0,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0, + 0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0, + 1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0, + 0,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1, + 1,1,0,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0, + 0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,0,0,0,1,1,0,1,1,1,0,0, + 1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,1,0,1,1,0,0, + 1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0, + 0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0, + 1,0,1,0,0,0,1,0,1,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,1,0,0,0, + 1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,1,1, + 0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0, + 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0, + 0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0, + 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0, + 1,1,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0, + 1,0,1,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,0, + 0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0, + 1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,1,0,0,1,1,0, + 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0, + 1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0, + 0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0, + 1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,1,0,0, + 0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,1,1,0,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,0, + 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0, + 0,1,1,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0, + 1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0, + 1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,1,1, + 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0, + 1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,1,1,0,0,1,1,0,0, + 0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0, + 1,1,0,0,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0, + 0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0, + 0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0, + 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0, + 0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0, + 0,1,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0, + 1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0, + 0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1, + 1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0, + 1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0, + 1,1,0,0,0,0,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,1,0,0,0,1,1,0,1,1,0,1,1, + 0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0, + 0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0, + 0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0, + 0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0, + 0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0, + 0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0, + 1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, + 1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0, + 1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,1,1, + 1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0, + 1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0, + 0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,1,1,0,0,0,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0, + 0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +const uint8_t font2Data[40960] = // big font +{ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,1,1,0,0,0,0, + 0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, + 0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0, + 0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0, + 0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, + 0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, + 1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,0, + 0,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,0,0,1,1,1,1,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0, + 0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0, + 0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, + 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1, + 1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,0,1,1,1,1,1,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0, + 1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0, + 0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, + 0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, + 0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1, + 0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0, + 0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0, + 0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, + 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0, + 0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, + 0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,1,1,1,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0, + 1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, + 0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0, + 1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1, + 0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0, + 0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, + 1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0, + 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, + 1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0, + 1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, + 0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +const uint8_t font3Data[1376] = +{ + 0,1,0,0,0,1,0,0,0,1,0,0,1,1,0,0,1,0,1,0,1,1,1,0,0,1,1,0,1,1,1,0, + 0,1,0,0,0,1,1,0,0,1,0,0,1,1,0,0,0,1,0,0,1,1,0,0,1,1,1,0,1,1,1,0, + 0,1,1,0,1,0,1,0,1,1,1,0,0,1,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,1,0,0, + 0,1,0,0,1,1,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,1,1,0,1,0,1,0,1,0,1,0, + 1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,0,1,0,1,0,0,0,1,0,1,0,1,0, + 1,0,0,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0, + 1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,0, + 1,0,0,0,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0, + 0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0, + 0,0,1,0,0,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0, + 1,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0, + 0,1,0,0,0,0,1,0,1,0,1,0,1,0,0,0,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0, + 1,0,1,0,1,0,1,0,1,0,0,0,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,0, + 1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,1,0,1,1,0,0, + 0,0,0,0,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,1,1,0,1,1,0,0,1,1,0,0, + 0,0,1,0,0,1,0,0,0,1,1,0,1,1,1,0,1,1,0,0,1,0,0,0,1,0,1,0,1,1,0,0, + 1,1,0,0,1,0,1,0,1,1,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,0,0,0,1,0,1,0, + 1,0,1,0,1,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0, + 1,0,1,0,1,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,0,1,0,1,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0, + 0,0,1,0,0,0,1,0,1,0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0, + 1,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0, + 1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0, + 0,0,1,0,0,1,0,0,1,0,1,0,1,0,1,0,1,1,1,0,1,0,1,0,0,1,1,0,1,0,0,0, + 0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,0,1,0, + 0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,1,0,0,1,0,0,1,0,1,0, + 0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,1,0, + 1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, + 1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,1,1,1,0, + 1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, + 1,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,0,0,0,1,0,1,1,0,0, + 0,1,0,0,0,1,0,0,0,1,0,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,0,0,1,1,0,0, + 1,1,1,0,1,0,0,0,0,1,0,0,1,0,1,0,1,1,1,0,1,1,0,0,1,0,1,0,1,1,1,0, + 1,0,1,0,1,0,1,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0,1,0,1,1,0,0,0,1,0,0, + 0,1,0,0,0,1,0,0,1,0,1,0,1,0,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +const uint8_t font4Data[18688] = // medium pattern fonts +{ + 0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, + 0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, + 1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0, + 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,0, + 1,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 0,0,1,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,1,0,0,0,0, + 0,0,0,1,0,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0, + 0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0, + 1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0, + 0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, + 0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,0, + 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,1,1,0, + 1,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,0, + 1,1,0,0,0,0,0,0,1,1,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,0,1,1,0, + 0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,1,0,0, + 0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0, + 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, + 1,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0, + 0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0, + 0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, + 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0, + 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0, + 1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0, + 1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,1,1,1,0, + 1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,0, + 0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0, + 1,1,1,1,1,1,1,0,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0, + 0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0, + 0,1,1,0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0, + 1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0, + 1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0, + 0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0, + 0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, + 1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0, + 0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, + 1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0, + 0,1,1,1,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0, + 0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0, + 0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0, + 1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0, + 0,0,1,1,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 0,0,1,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, + 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0, + 0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, + 0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, + 0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,0,0,0,0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0, + 0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,0, + 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0, + 0,1,1,0,0,0,0,0,1,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,0,1,1,0, + 0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,0,0, + 0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0, + 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, + 1,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0, + 0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0, + 0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, + 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0, + 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0, + 1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0, + 0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0, + 1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0, + 1,1,0,1,0,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0, + 0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, + 0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0, + 1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0, + 1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, + 0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0, + 0,0,1,1,1,0,0,0,1,1,0,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0, + 0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0, + 0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, + 1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0, + 0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, + 0,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, + 1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,1,0,0,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0, + 0,1,1,1,1,1,1,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0, + 0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, + 0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, + 1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0, + 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0, + 0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0, + 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0, + 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0, + 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, + 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0, + 0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0, + 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,1,1,1,1,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,1,1,0,1,1,0,0,0,1,1,0, + 0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0, + 1,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0, + 0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, + 0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 1,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,0, + 1,1,0,0,0,0,0,0,1,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,0,1,1,0, + 0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0, + 0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0, + 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, + 1,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0, + 0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0, + 0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, + 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0, + 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0, + 1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0, + 1,1,1,1,1,1,1,0,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0, + 0,1,1,0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0, + 1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0, + 0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0, + 0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0, + 0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0, + 0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0, + 1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0, + 1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0, + 1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0, + 0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0, + 1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0, + 0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, + 0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,1,1,0, + 0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, + 1,1,1,0,1,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0, + 0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0, + 0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0, + 1,1,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0, + 0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,1,0,0,0,0, + 0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0, + 1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0, + 0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0,0,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0, + 0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0, + 1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0, + 0,0,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,0, + 0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0, + 1,1,1,0,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,0,1,1,1,0, + 1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,1,0,0, + 1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0, + 0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0, + 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, + 1,0,1,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,0,0, + 0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0, + 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0, + 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0, + 1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0, + 0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,0, + 1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,0,1,1,0,1,1,0,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0, + 1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0, + 0,1,1,0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0, + 1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0, + 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0, + 0,0,1,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0, + 1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0, + 0,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0, + 0,0,0,1,0,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0, + 1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,0,0, + 0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, + 1,1,1,0,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0, + 1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0, + 1,1,1,0,1,1,1,0,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0, + 0,1,1,1,1,1,1,0,1,1,1,0,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0, + 0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,1,1,0,1,1,1,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +const uint8_t font5Data[19968] = +{ + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, + 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0, + 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0, + 0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0, + 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0, + 0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0, + 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, + 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0, + 0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0, + 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, + 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0, + 0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,0, + 0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +const uint8_t font6Data[896] = // hexadecimal font +{ + 0,1,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,1,1,0,0, + 1,1,0,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0, + 1,1,1,1,0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,1,1,1,1,1, + 0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,0,0,1,1,0,0,1,1,1,0,0,0,1,1, + 0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,1,1, + 0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0, + 0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0, + 1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,1,1,0,0, + 1,1,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,1, + 1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,1, + 1,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0, + 0,1,1,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,0, + 0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1, + 1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0, + 1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0, + 1,1,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,0, + 0,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,1, + 1,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,1, + 1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,1,1,0,0,1,1, + 0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0, + 0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0, + 1,1,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0, + 1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,1, + 1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1, + 1,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1, + 1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,0,0,1,1,1,1,0, + 0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,0,1,1,1, + 1,1,0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,0,0,0,0,0 +}; + +const uint8_t font7Data[1120] = // tiny pattern note font +{ + 0,1,1,1,0,0,0,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,0,1,1,0,1,1, + 1,1,1,0,0,1,1,1,1,0,1,1,1,1,1,0,0,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1, + 1,0,1,1,1,1,1,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,1,1,0,0,0,1,1,0,1,1,0,1,1, + 0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,0,1, + 1,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0, + 1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1, + 1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,1,1,0,0,1,1,1,1, + 0,0,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0, + 1,1,0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1, + 1,0,0,0,1,1,0,1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,1,1, + 1,0,0,0,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,1,1,0, + 1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,0,1,1,1,1,0,0,0,1, + 0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0, + 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,1,1,0,0,1,1,0,0,0,0,1,1,0, + 0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,1,0,0,1,1,0,0,0, + 1,1,0,0,0,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,1, + 0,1,1,0,1,1,0,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0,1, + 1,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,1,1,0,1,1,0, + 1,1,0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1, + 0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0, + 0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,0,0, + 0,0,0,1,1,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,0,0,1,1,1,0,0,1,1, + 1,1,0,0,1,1,1,1,1,0,1,1,0,0,0,0,0,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; diff --git a/src/gfxdata/ft2_gfx_instr.c b/src/gfxdata/ft2_gfx_instr.c index c23f11c..6411e36 100644 --- a/src/gfxdata/ft2_gfx_instr.c +++ b/src/gfxdata/ft2_gfx_instr.c @@ -1,502 +1,502 @@ -#include -#include "../ft2_palette.h" - -const uint8_t vibWaveformBitmap[480] = -{ - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP -}; - -const uint8_t whitePianoKeysBitmap[3036] = -{ - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND -}; - -const uint8_t blackPianoKeysBitmap[378] = -{ - PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS -}; +#include +#include "../ft2_palette.h" + +const uint8_t vibWaveformBitmap[480] = +{ + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP +}; + +const uint8_t whitePianoKeysBitmap[3036] = +{ + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND +}; + +const uint8_t blackPianoKeysBitmap[378] = +{ + PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS +}; diff --git a/src/gfxdata/ft2_gfx_logo.c b/src/gfxdata/ft2_gfx_logo.c index 130f653..322c520 100644 --- a/src/gfxdata/ft2_gfx_logo.c +++ b/src/gfxdata/ft2_gfx_logo.c @@ -1,8358 +1,8358 @@ -#include -#include "../ft2_palette.h" - -const uint8_t aboutText[10121] = -{ - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BUTTONS,PAL_BUTTON1,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_BUTTONS,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BUTTONS,PAL_BUTTON1,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTONS, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR -}; - -const uint32_t ft2Logo[33675] = -{ - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x999999,0xABABAB,0xA8A8A8,0xBBBBBB, - 0xB8B8B8,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6, - 0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6, - 0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB7B7B7,0xB6B6B6, - 0xB6B6B6,0xB6B6B6,0xB7B7B7,0xB7B7B7,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6, - 0xB6B6B6,0xB6B6B6,0xB6B6B6,0xBDBDBD,0x898989,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x969696, - 0xA8A8A8,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xB2B2B2,0x343434,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x1E1E1E,0x414141,0x363636,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x363636,0x363636,0x363636,0x363636,0x363636,0x373737,0x373737,0x363636, - 0x363636,0x373737,0x363636,0x373737,0x393939,0x363636,0x363636,0x363636, - 0x363636,0x363636,0x363636,0x363636,0x363636,0x363636,0x363636,0x363636, - 0x363636,0x363636,0x363636,0x363636,0x353535,0x363636,0x363636,0x353535, - 0x353535,0x363636,0x363636,0x373737,0x323232,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x727272,0x8B8B8B,0x818181, - 0xAEAEAE,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9, - 0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xCBCBCB,0xCDCDCD, - 0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCBCBCB,0xCACACA,0xCACACA,0xCACACA, - 0xCBCBCB,0xCBCBCB,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9, - 0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xD3D3D3,0x717171,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0xA1A1A1,0xBABABA,0xB8B8B8,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB4B4B4, - 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xBCBCBC,0x6C6C6C,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x1F1F1F,0x848484,0xA2A2A2,0x9F9F9F,0x9E9E9E, - 0xB5B5B5,0xB4B4B4,0xB3B3B3,0xB2B2B2,0xB3B3B3,0xB3B3B3,0xB2B2B2,0xB2B2B2, - 0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB0B0B0, - 0xB2B2B2,0xB5B5B5,0x9B9B9B,0x9D9D9D,0x969696,0x838383,0x9E9E9E,0x9B9B9B, - 0x9B9B9B,0xB2B2B2,0xB1B1B1,0xAFAFAF,0xAEAEAE,0xAFAFAF,0xAFAFAF,0xAFAFAF, - 0xAFAFAF,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD, - 0xAEAEAE,0xAEAEAE,0xB2B2B2,0x9A9A9A,0x9D9D9D,0x9A9A9A,0x1F1F1F,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4A4A4A,0x5E5E5E, - 0x545454,0x545454,0x6A6A6A,0xBFBFBF,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC8C8C8,0xC2C2C2, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA5A5A5,0xC0C0C0,0xC2C2C2,0xC2C2C2, - 0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC8C8C8,0xCCCCCC,0xC7C7C7,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xCACACA,0x434343,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x6A6A6A,0x777777,0x989898,0xB5B5B5,0xB1B1B1,0xB1B1B1,0xB1B1B1, - 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB3B3B3,0xA8A8A8,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x515151,0x838383,0x7E7E7E, - 0x797979,0x909090,0xA0A0A0,0xA7A7A7,0xA6A6A6,0xA4A4A4,0xA4A4A4,0xA4A4A4, - 0xA5A5A5,0xA5A5A5,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA4A4A4,0xA3A3A3, - 0xA5A5A5,0xA1A1A1,0x808080,0x666666,0x787878,0x777777,0x5C5C5C,0x797979, - 0x7D7D7D,0x7D7D7D,0x939393,0x989898,0xA4A4A4,0xA5A5A5,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0x848484,0x6B6B6B,0x727272,0x868686,0x343434, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4E4E4E, - 0x656565,0x5B5B5B,0x535353,0x4F4F4F,0xB3B3B3,0xC9C9C9,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC8C8C8, - 0x666666,0x616161,0x606060,0x5E5E5E,0x5E5E5E,0x666666,0x707070,0x717171, - 0x707070,0x707070,0x6B6B6B,0x656565,0x777777,0x999999,0xC6C6C6,0xCBCBCB, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC8C8C8,0xB4B4B4,0x2D2D2D, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1E1E1E,0xA9A9A9, - 0x515151,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x474747,0xC9C9C9,0x3B3B3B,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x5C5C5C,0x575757,0x525252,0xA3A3A3,0xB4B4B4,0xB1B1B1, - 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB4B4B4,0xA0A0A0, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x575757,0x707070, - 0x6E6E6E,0x6A6A6A,0x6B6B6B,0x626262,0x6F6F6F,0xA6A6A6,0xA6A6A6,0xA4A4A4, - 0xA5A5A5,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA4A4A4, - 0xA3A3A3,0xA8A8A8,0x717171,0x474747,0x555555,0x666666,0x686868,0x585858, - 0x6B6B6B,0x6D6D6D,0x6E6E6E,0x707070,0x5E5E5E,0x676767,0x9F9F9F,0xA5A5A5, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA1A1A1, - 0xA2A2A2,0xA2A2A2,0xA6A6A6,0x7E7E7E,0x454545,0x515151,0x636363,0x6F6F6F, - 0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x4F4F4F,0x656565,0x5B5B5B,0x4F4F4F,0x707070,0xC8C8C8,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC9C9C9, - 0xB5B5B5,0x393939,0x636363,0x626262,0x626262,0x626262,0x626262,0x606060, - 0x5E5E5E,0x5E5E5E,0x5D5D5D,0x5A5A5A,0x585858,0x515151,0x4F4F4F,0x666666, - 0xA9A9A9,0xCECECE,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC4C4C4,0x3A3A3A, - 0x282828,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x848484, - 0xD4D4D4,0x3F3F3F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x6B6B6B,0xC5C5C5,0xB8B8B8,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x5E5E5E,0x5A5A5A,0x494949,0x626262,0xB2B2B2, - 0xB2B2B2,0xB0B0B0,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB3B3B3, - 0xA2A2A2,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x5E5E5E, - 0x727272,0x707070,0x6C6C6C,0x5D5D5D,0x515151,0x505050,0x6F6F6F,0xA6A6A6, - 0xA5A5A5,0xA5A5A5,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA5A5A5,0xA4A4A4,0xA4A4A4, - 0xA4A4A4,0xA5A5A5,0xA2A2A2,0x545454,0x444444,0x5A5A5A,0x6A6A6A,0x686868, - 0x5A5A5A,0x6E6E6E,0x6F6F6F,0x6F6F6F,0x626262,0x535353,0x4F4F4F,0x5B5B5B, - 0xA2A2A2,0xA5A5A5,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA7A7A7,0x606060,0x404040,0x565656,0x676767, - 0x717171,0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x3F3F3F,0x666666,0x5B5B5B,0x515151,0x999999,0xCCCCCC,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6, - 0xD1D1D1,0x797979,0x2D2D2D,0x646464,0x626262,0x626262,0x626262,0x626262, - 0x616161,0x616161,0x606060,0x5E5E5E,0x5C5C5C,0x5A5A5A,0x565656,0x535353, - 0x4D4D4D,0x525252,0x8E8E8E,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xCACACA,0xA6A6A6, - 0x252525,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x747474, - 0xCDCDCD,0xBFBFBF,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x262626,0xC6C6C6,0xC8C8C8,0xA0A0A0, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x5E5E5E,0x595959,0x4C4C4C,0x434343, - 0xAAAAAA,0xB3B3B3,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0, - 0xB0B0B0,0xB9B9B9,0x393939,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x151515, - 0x5F5F5F,0x727272,0x707070,0x6B6B6B,0x5C5C5C,0x515151,0x4D4D4D,0x414141, - 0x888888,0xA8A8A8,0xA5A5A5,0xA4A4A4,0xA5A5A5,0xA5A5A5,0xA4A4A4,0xA4A4A4, - 0xA3A3A3,0xA4A4A4,0xA5A5A5,0xA6A6A6,0x606060,0x444444,0x5C5C5C,0x6B6B6B, - 0x676767,0x5A5A5A,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x616161,0x535353,0x4E4E4E, - 0x424242,0x565656,0xA2A2A2,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA6A6A6,0x727272,0x464646,0x575757, - 0x696969,0x6A6A6A,0x141414,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x414141,0x676767,0x5A5A5A,0x5C5C5C,0xBFBFBF,0xC8C8C8, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6, - 0xC9C9C9,0xB3B3B3,0x3A3A3A,0x303030,0x656565,0x626262,0x626262,0x626262, - 0x626262,0x616161,0x616161,0x616161,0x5E5E5E,0x5C5C5C,0x5A5A5A,0x565656, - 0x535353,0x535353,0x4F4F4F,0x4C4C4C,0xB0B0B0,0xC9C9C9,0xC6C6C6,0xD0D0D0, - 0x6B6B6B,0x212121,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x707070, - 0xCDCDCD,0xC3C3C3,0xBBBBBB,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB2B2B2,0xC5C5C5,0xC7C7C7, - 0x8B8B8B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0x646464,0x585858,0x4D4D4D, - 0x424242,0xA9A9A9,0xB3B3B3,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xBDBDBD,0x3E3E3E,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x151515,0x626262,0x727272,0x707070,0x6A6A6A,0x5B5B5B,0x505050,0x4B4B4B, - 0x3D3D3D,0x444444,0xA2A2A2,0xA6A6A6,0xA4A4A4,0xA5A5A5,0xA5A5A5,0xA4A4A4, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA8A8A8,0x848484,0x4E4E4E,0x5D5D5D, - 0x6B6B6B,0x656565,0x5C5C5C,0x6F6F6F,0x707070,0x6E6E6E,0x606060,0x535353, - 0x4D4D4D,0x444444,0x353535,0x898989,0xA6A6A6,0xA2A2A2,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA3A3A3,0x9C9C9C,0x4F4F4F, - 0x575757,0x6B6B6B,0x646464,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x323232,0x686868,0x575757,0x7D7D7D,0xC9C9C9, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6, - 0xC7C7C7,0xCDCDCD,0x545454,0x1C1C1C,0x333333,0x636363,0x626262,0x626262, - 0x626262,0x626262,0x616161,0x616161,0x616161,0x5E5E5E,0x5C5C5C,0x5A5A5A, - 0x565656,0x535353,0x525252,0x515151,0x484848,0x7D7D7D,0xCBCBCB,0xC8C8C8, - 0xC7C7C7,0x404040,0x232323,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x292929, - 0xC7C7C7,0xC2C2C2,0xC6C6C6,0xA7A7A7,0x1F1F1F,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x202020,0x7E7E7E,0xC5C5C5,0xBFBFBF, - 0xC7C7C7,0x6F6F6F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1C1C1C,0x636363,0x585858, - 0x4D4D4D,0x404040,0xA8A8A8,0xB3B3B3,0xB2B2B2,0xB1B1B1,0xB1B1B1,0xB1B1B1, - 0xB0B0B0,0xB0B0B0,0xAFAFAF,0xBDBDBD,0x3D3D3D,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x181818,0x676767,0x717171,0x707070,0x696969,0x5A5A5A,0x515151, - 0x4B4B4B,0x3E3E3E,0x393939,0x909090,0xA7A7A7,0xA4A4A4,0xA4A4A4,0xA4A4A4, - 0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA4A4A4,0xA4A4A4,0xA5A5A5,0x9E9E9E,0x575757, - 0x5D5D5D,0x6C6C6C,0x646464,0x616161,0x6F6F6F,0x707070,0x6B6B6B,0x5E5E5E, - 0x525252,0x4D4D4D,0x434343,0x333333,0x626262,0xADADAD,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA6A6A6, - 0x6B6B6B,0x5E5E5E,0x6C6C6C,0x646464,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232,0x686868,0x5D5D5D,0xAEAEAE, - 0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC7C7C7, - 0xC6C6C6,0xC8C8C8,0xBFBFBF,0x2F2F2F,0x232323,0x313131,0x636363,0x626262, - 0x626262,0x626262,0x626262,0x616161,0x616161,0x616161,0x5E5E5E,0x5C5C5C, - 0x5A5A5A,0x565656,0x535353,0x525252,0x515151,0x494949,0x6A6A6A,0xC8C8C8, - 0xCBCBCB,0xBEBEBE,0x292929,0x272727,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x717171, - 0xC7C7C7,0xC4C4C4,0xC1C1C1,0xC9C9C9,0x7D7D7D,0x141414,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1E1E1E,0xC0C0C0,0xCBCBCB,0xBEBEBE, - 0xC1C1C1,0xB9B9B9,0x2C2C2C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1C1C1C,0x626262, - 0x585858,0x4B4B4B,0x3A3A3A,0xA1A1A1,0xB4B4B4,0xB1B1B1,0xB2B2B2,0xB1B1B1, - 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xBDBDBD,0x3C3C3C,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x202020,0x6E6E6E,0x707070,0x707070,0x686868,0x595959, - 0x505050,0x4B4B4B,0x3E3E3E,0x323232,0x6A6A6A,0xAEAEAE,0xA3A3A3,0xA4A4A4, - 0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA6A6A6, - 0x707070,0x5A5A5A,0x6E6E6E,0x606060,0x626262,0x6F6F6F,0x707070,0x6B6B6B, - 0x5C5C5C,0x515151,0x4C4C4C,0x414141,0x363636,0x3A3A3A,0x7F7F7F,0xA7A7A7, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA3A3A3,0x9A9A9A,0x717171,0x6A6A6A,0x5B5B5B,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232,0x6F6F6F,0x6F6F6F, - 0xC5C5C5,0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC6C6C6, - 0xC7C7C7,0xC6C6C6,0xCFCFCF,0x8A8A8A,0x222222,0x252525,0x303030,0x626262, - 0x636363,0x626262,0x626262,0x626262,0x616161,0x616161,0x606060,0x5E5E5E, - 0x5C5C5C,0x595959,0x565656,0x535353,0x525252,0x515151,0x4B4B4B,0x5E5E5E, - 0xC6C6C6,0xC9C9C9,0x4F4F4F,0x242424,0x282828,0x2D2D2D,0x161616,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x737373, - 0xCDCDCD,0xC2C2C2,0xC1C1C1,0xC1C1C1,0xCCCCCC,0x6A6A6A,0x1A1A1A,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x808080,0xCBCBCB,0xBFBFBF, - 0xBFBFBF,0xC3C3C3,0xAAAAAA,0x212121,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1B1B1B, - 0x626262,0x575757,0x4B4B4B,0x353535,0x8E8E8E,0xB6B6B6,0xB1B1B1,0xB1B1B1, - 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xBCBCBC,0x434343,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x262626,0x6E6E6E,0x707070,0x707070,0x666666, - 0x575757,0x4F4F4F,0x4A4A4A,0x3D3D3D,0x353535,0x3B3B3B,0x8A8A8A,0xA8A8A8, - 0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA4A4A4,0xA4A4A4,0xA3A3A3, - 0xA7A7A7,0x929292,0x727272,0x6E6E6E,0x5E5E5E,0x646464,0x6F6F6F,0x707070, - 0x696969,0x5A5A5A,0x515151,0x4C4C4C,0x414141,0x383838,0x323232,0x4A4A4A, - 0xA5A5A5,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA6A6A6,0x909090,0x7B7B7B,0x545454,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2C2C2C,0x777777, - 0xBFBFBF,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC6C6C6,0xC7C7C7,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC7C7C7,0xCBCBCB,0x505050,0x212121,0x262626,0x2F2F2F, - 0x626262,0x636363,0x626262,0x626262,0x626262,0x616161,0x616161,0x616161, - 0x5E5E5E,0x5C5C5C,0x5A5A5A,0x565656,0x535353,0x525252,0x515151,0x4A4A4A, - 0x6E6E6E,0xCECECE,0xA1A1A1,0x222222,0x272727,0x282828,0x2C2C2C,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x464646, - 0xD0D0D0,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC2C2C2,0xC8C8C8,0x555555,0x1B1B1B, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x717171,0xCBCBCB,0xBEBEBE, - 0xBFBFBF,0xBFBFBF,0xC6C6C6,0x8D8D8D,0x242424,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x171717,0x616161,0x565656,0x4B4B4B,0x353535,0x828282,0xB8B8B8,0xB1B1B1, - 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB4B4B4,0x9A9A9A, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2E2E2E,0x707070,0x707070,0x707070, - 0x666666,0x575757,0x4F4F4F,0x494949,0x3C3C3C,0x373737,0x303030,0x5D5D5D, - 0xAAAAAA,0xA5A5A5,0xA4A4A4,0xA5A5A5,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA4A4A4, - 0xA4A4A4,0xA3A3A3,0xA8A8A8,0x8C8C8C,0x7C7C7C,0x5A5A5A,0x646464,0x6F6F6F, - 0x707070,0x696969,0x5A5A5A,0x505050,0x4B4B4B,0x3F3F3F,0x373737,0x363636, - 0x383838,0x919191,0xA5A5A5,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xA1A1A1,0xA2A2A2,0xA2A2A2,0x9F9F9F,0x838383,0x494949,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1F1F1F, - 0x999999,0xCDCDCD,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC6C6C6,0xC6C6C6, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCFCFCF,0x737373,0x222222,0x272727,0x262626, - 0x2C2C2C,0x5D5D5D,0x646464,0x626262,0x626262,0x626262,0x616161,0x616161, - 0x5B5B5B,0x5E5E5E,0x5D5D5D,0x5A5A5A,0x565656,0x535353,0x535353,0x515151, - 0x4B4B4B,0x9D9D9D,0xD5D5D5,0x666666,0x202020,0x282828,0x282828,0x2D2D2D, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x494949, - 0xB7B7B7,0xC5C5C5,0xC1C1C1,0xC1C1C1,0xC2C2C2,0xC4C4C4,0xBDBDBD,0x3A3A3A, - 0x181818,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA5A5A5,0xC7C7C7,0xBFBFBF, - 0xBFBFBF,0xBFBFBF,0xBFBFBF,0xC8C8C8,0x787878,0x252525,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x262626,0x666666,0x555555,0x4B4B4B,0x343434,0x717171,0xB7B7B7, - 0xB2B2B2,0xB2B2B2,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB3B3B3, - 0xA2A2A2,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2F2F2F,0x707070,0x707070, - 0x707070,0x646464,0x565656,0x4F4F4F,0x494949,0x3B3B3B,0x373737,0x353535, - 0x444444,0xA1A1A1,0xA6A6A6,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA5A5A5, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA5A5A5,0x9D9D9D,0x7E7E7E,0x595959,0x656565, - 0x6F6F6F,0x707070,0x676767,0x595959,0x4F4F4F,0x4A4A4A,0x3F3F3F,0x373737, - 0x373737,0x313131,0x6B6B6B,0xACACAC,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA5A5A5,0x939393,0x454545, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x202020,0xB8B8B8,0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC7C7C7, - 0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC6C6C6,0x353535,0x232323,0x282828, - 0x272727,0x272727,0x565656,0x656565,0x626262,0x626262,0x626262,0x616161, - 0x5E5E5E,0x888888,0x646464,0x585858,0x5A5A5A,0x565656,0x535353,0x535353, - 0x515151,0x4C4C4C,0x8F8F8F,0xB5B5B5,0x3A3A3A,0x232323,0x282828,0x282828, - 0x2D2D2D,0x181818,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x727272, - 0xD1D1D1,0xC5C5C5,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC2C2C2,0xC5C5C5,0xBCBCBC, - 0x2E2E2E,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x727272,0xC7C7C7,0xC0C0C0, - 0xBFBFBF,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xC9C9C9,0x686868,0x212121,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x282828,0x666666,0x555555,0x4A4A4A,0x383838,0x404040, - 0xABABAB,0xB3B3B3,0xB0B0B0,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0, - 0xB4B4B4,0xA1A1A1,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232,0x727272, - 0x707070,0x6F6F6F,0x636363,0x555555,0x4F4F4F,0x484848,0x3B3B3B,0x373737, - 0x373737,0x393939,0x8F8F8F,0xA8A8A8,0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA4A4A4, - 0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA4A4A4,0x898989,0x585858, - 0x686868,0x6E6E6E,0x707070,0x666666,0x575757,0x505050,0x494949,0x3D3D3D, - 0x383838,0x373737,0x343434,0x3E3E3E,0x878787,0xA7A7A7,0xA1A1A1,0xA1A1A1, - 0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA6A6A6, - 0x414141,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x3C3C3C,0xCFCFCF,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC6C6C6, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCCCCCC,0xA0A0A0,0x252525,0x272727, - 0x282828,0x272727,0x272727,0x555555,0x656565,0x626262,0x626262,0x626262, - 0x5D5D5D,0x7A7A7A,0xB1B1B1,0x494949,0x5A5A5A,0x5A5A5A,0x565656,0x535353, - 0x525252,0x515151,0x4D4D4D,0x9F9F9F,0x9D9D9D,0x262626,0x272727,0x282828, - 0x282828,0x2A2A2A,0x151515,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x494949,0xAEAEAE, - 0xC9C9C9,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC2C2C2,0xC5C5C5, - 0x6A6A6A,0x252525,0x222222,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x242424,0x7F7F7F,0xCBCBCB,0xBFBFBF, - 0xC0C0C0,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xC9C9C9,0x626262,0x1C1C1C, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x282828,0x666666,0x555555,0x494949,0x373737, - 0x393939,0xA9A9A9,0xB3B3B3,0xB2B2B2,0xB0B0B0,0xB1B1B1,0xB0B0B0,0xB0B0B0, - 0xB0B0B0,0xB4B4B4,0xA0A0A0,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3A3A3A, - 0x737373,0x6F6F6F,0x6F6F6F,0x626262,0x545454,0x4F4F4F,0x474747,0x3A3A3A, - 0x373737,0x373737,0x323232,0x626262,0xA8A8A8,0xA5A5A5,0xA5A5A5,0xA4A4A4, - 0xA4A4A4,0xA3A3A3,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA6A6A6,0x909090, - 0x656565,0x6B6B6B,0x6F6F6F,0x707070,0x656565,0x565656,0x4F4F4F,0x4A4A4A, - 0x3C3C3C,0x373737,0x373737,0x373737,0x303030,0x535353,0xA6A6A6,0xA2A2A2, - 0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xAAAAAA,0x646464,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x222222,0xC4C4C4,0xC9C9C9,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xD2D2D2,0x595959,0x202020, - 0x282828,0x282828,0x272727,0x272727,0x535353,0x666666,0x626262,0x626262, - 0x616161,0x616161,0xB2B2B2,0x8D8D8D,0x303030,0x5F5F5F,0x5A5A5A,0x565656, - 0x535353,0x525252,0x505050,0x525252,0x8B8B8B,0x525252,0x222222,0x282828, - 0x282828,0x282828,0x2A2A2A,0x141414,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x242424,0x515151,0x454545,0x505050,0xB0B0B0,0xB8B8B8, - 0xB6B6B6,0xBDBDBD,0x7F7F7F,0x4D4D4D,0x414141,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x252525,0x4E4E4E,0x484848,0x7A7A7A,0xC3C3C3,0x797979,0x494949,0x404040, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x242424,0x4F4F4F,0x1B1B1B, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x767676,0xD0D0D0, - 0xC7C7C7,0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC4C4C4, - 0xBCBCBC,0x2C2C2C,0x202020,0x181818,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x717171,0xC7C7C7,0xCBCBCB,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xBFBFBF,0xBFBFBF,0xC0C0C0,0xC1C1C1,0x404040, - 0x1C1C1C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323,0x4A4A4A, - 0x424242,0x4A4A4A,0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x212121,0x474747,0x414141,0x404040,0x404040, - 0x414141,0x3C3C3C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3B3B3B,0x404040, - 0x3E3E3E,0x3E3E3E,0x484848,0x212121,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x272727,0x666666,0x545454,0x494949, - 0x383838,0x373737,0xA2A2A2,0xB4B4B4,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xB3B3B3,0xABABAB,0x404040,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x434343,0x737373,0x6F6F6F,0x6E6E6E,0x606060,0x535353,0x4F4F4F,0x464646, - 0x393939,0x373737,0x373737,0x373737,0x353535,0x7A7A7A,0xAAAAAA,0xA3A3A3, - 0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA5A5A5, - 0xA2A2A2,0x767676,0x696969,0x6F6F6F,0x707070,0x636363,0x555555,0x4F4F4F, - 0x484848,0x3B3B3B,0x373737,0x373737,0x373737,0x363636,0x3A3A3A,0x9B9B9B, - 0xA5A5A5,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA2A2A2,0xA7A7A7,0x1D1D1D,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x515151,0xD6D6D6,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCBCBCB,0xA2A2A2,0x2C2C2C, - 0x252525,0x282828,0x282828,0x282828,0x262626,0x525252,0x666666,0x626262, - 0x626262,0x5C5C5C,0x969696,0xBFBFBF,0x5B5B5B,0x2A2A2A,0x5E5E5E,0x5B5B5B, - 0x575757,0x545454,0x525252,0x515151,0x505050,0x5E5E5E,0x3A3A3A,0x252525, - 0x282828,0x282828,0x282828,0x2D2D2D,0x181818,0x00FF00,0x00FF00,0x00FF00, - 0x424242,0x515151,0xB0B0B0,0xC7C7C7,0xD7D7D7,0xD4D4D4,0xD3D3D3,0xCACACA, - 0xC9C9C9,0xC9C9C9,0xC9C9C9,0xCFCFCF,0xD5D5D5,0xD0D0D0,0xB9B9B9,0x292929, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x424242, - 0x7B7B7B,0xCACACA,0xD3D3D3,0xD1D1D1,0xCDCDCD,0xC6C6C6,0xCDCDCD,0xD1D1D1, - 0xCECECE,0xB0B0B0,0x494949,0x00FF00,0x00FF00,0x494949,0xD0D0D0,0xC9C9C9, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x747474,0xCECECE, - 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC1C1C1, - 0xC3C3C3,0xBBBBBB,0x525252,0x4C4C4C,0x525252,0x707070,0x464646,0x434343, - 0x434343,0x4A4A4A,0x191919,0x00FF00,0x747474,0xCDCDCD,0xC2C2C2,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xBFBFBF,0xC0C0C0,0xBFBFBF, - 0x636363,0x4B4B4B,0x4E4E4E,0x434343,0x434343,0x434343,0x434343,0x424242, - 0x434343,0x434343,0x424242,0x434343,0x434343,0x434343,0x434343,0x424242, - 0x424242,0x434343,0x424242,0x424242,0x424242,0x434343,0x3D3D3D,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3E3E3E,0x747474,0xC1C1C1, - 0xCBCBCB,0xC8C8C8,0xCACACA,0xC2C2C2,0x6E6E6E,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x222222,0x4D4D4D,0xA2A2A2,0xACACAC,0xB8B8B8,0xC7C7C7,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC1C1C1,0xADADAD,0xA2A2A2,0x424242,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x434343,0xA1A1A1,0xA9A9A9,0xBFBFBF, - 0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC2C2C2,0xB2B2B2,0xABABAB,0x757575,0x212121, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323,0x646464,0x545454, - 0x494949,0x383838,0x333333,0x8F8F8F,0xB5B5B5,0xB1B1B1,0xB1B1B1,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB4B4B4,0xADADAD,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x3D3D3D,0x999999,0x9F9F9F,0x9D9D9D,0x9C9C9C,0x9C9C9C,0x9F9F9F, - 0x949494,0x464646,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x161616,0x6F6F6F,0xA0A0A0,0x989898,0x999999,0x929292,0x464646, - 0x1E1E1E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x4C4C4C,0x737373,0x707070,0x6C6C6C,0x5F5F5F,0x525252,0x4E4E4E, - 0x454545,0x393939,0x373737,0x373737,0x373737,0x313131,0x5D5D5D,0xA9A9A9, - 0xA5A5A5,0xA4A4A4,0xA3A3A3,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3, - 0xA3A3A3,0xA6A6A6,0x959595,0x7B7B7B,0x6F6F6F,0x6F6F6F,0x626262,0x545454, - 0x4E4E4E,0x464646,0x3A3A3A,0x373737,0x373737,0x373737,0x373737,0x343434, - 0x737373,0xAAAAAA,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1, - 0xA2A2A2,0xA1A1A1,0xA1A1A1,0xAFAFAF,0x424242,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0xADADAD,0xCBCBCB,0xC7C7C7,0xC6C6C6,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC8C8C8,0x3B3B3B, - 0x222222,0x282828,0x282828,0x282828,0x282828,0x262626,0x505050,0x666666, - 0x626262,0x606060,0x767676,0xB5B5B5,0xB5B5B5,0x343434,0x343434,0x626262, - 0x5A5A5A,0x575757,0x545454,0x525252,0x515151,0x515151,0x666666,0x404040, - 0x252525,0x282828,0x282828,0x282828,0x2C2C2C,0x00FF00,0x00FF00,0x494949, - 0xB3B3B3,0xD0D0D0,0xD6D6D6,0xCECECE,0xCDCDCD,0xCACACA,0xCBCBCB,0xCBCBCB, - 0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xCCCCCC, - 0xCCCCCC,0x787878,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x767676, - 0xD3D3D3,0xCECECE,0xC6C6C6,0xC5C5C5,0xC8C8C8,0xC9C9C9,0xC9C9C9,0xC9C9C9, - 0xC6C6C6,0xC4C4C4,0xC9C9C9,0xCECECE,0xA7A7A7,0x7F7F7F,0xC3C3C3,0xCDCDCD, - 0x929292,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828,0xB6B6B6,0xC8C8C8, - 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC1C1C1,0xC2C2C2, - 0xC1C1C1,0xC2C2C2,0xC2C2C2,0xC5C5C5,0xC6C6C6,0xC6C6C6,0xCBCBCB,0xCECECE, - 0xCECECE,0xCECECE,0xD5D5D5,0x7F7F7F,0x707070,0xCACACA,0xC0C0C0,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xBFBFBF, - 0xC0C0C0,0xC5C5C5,0xC4C4C4,0xCCCCCC,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCCCCCC, - 0xCECECE,0xB9B9B9,0xB7B7B7,0xCECECE,0xCBCBCB,0xCBCBCB,0xCBCBCB,0xCBCBCB, - 0xCBCBCB,0xCBCBCB,0xCBCBCB,0xCACACA,0xCACACA,0xCACACA,0xCCCCCC,0xBBBBBB, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x6F6F6F,0xCBCBCB,0xC5C5C5, - 0xBCBCBC,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBCBCBC,0xC6C6C6,0x6C6C6C,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x434343, - 0xA4A4A4,0xB9B9B9,0xC7C7C7,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xBBBBBB,0xBABABA, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xBBBBBB,0xBCBCBC,0xC3C3C3,0xACACAC, - 0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x444444,0xA3A3A3,0xBFBFBF,0xB9B9B9,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB4B4B4,0xB3B3B3,0xB5B5B5,0xB5B5B5,0xBEBEBE, - 0xB3B3B3,0xA5A5A5,0x252525,0x00FF00,0x00FF00,0x00FF00,0x323232,0x636363, - 0x545454,0x484848,0x373737,0x323232,0x828282,0xB7B7B7,0xB1B1B1,0xB2B2B2, - 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB3B3B3,0xA1A1A1,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x333333,0x969696,0xA4A4A4, - 0xA1A1A1,0x9F9F9F,0xA0A0A0,0xA0A0A0,0x9F9F9F,0x9F9F9F,0x9F9F9F,0x9F9F9F, - 0x9E9E9E,0x9F9F9F,0x9F9F9F,0xA1A1A1,0x999999,0x404040,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x3E3E3E,0x9A9A9A,0xB6B6B6,0xAFAFAF,0xAEAEAE,0xB1B1B1,0xB2B2B2,0xB1B1B1, - 0xAFAFAF,0xAFAFAF,0xB9B9B9,0xACACAC,0x9F9F9F,0x232323,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x212121,0xA0A0A0,0x9F9F9F, - 0x9C9C9C,0x9B9B9B,0x9B9B9B,0x9B9B9B,0x9B9B9B,0x9B9B9B,0x9B9B9B,0x9B9B9B, - 0x9B9B9B,0x999999,0x9E9E9E,0x8E8E8E,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x1E1E1E,0x7D7D7D,0xB6B6B6,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xABABAB, - 0xB6B6B6,0xA7A7A7,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x505050,0x737373,0x707070,0x6B6B6B,0x5D5D5D,0x525252, - 0x4D4D4D,0x434343,0x383838,0x373737,0x373737,0x373737,0x353535,0x414141, - 0xA1A1A1,0xA6A6A6,0xA4A4A4,0xA3A3A3,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3, - 0xA3A3A3,0xA3A3A3,0xA4A4A4,0xA2A2A2,0x7F7F7F,0x6F6F6F,0x6E6E6E,0x616161, - 0x535353,0x4E4E4E,0x454545,0x3A3A3A,0x373737,0x373737,0x373737,0x373737, - 0x333333,0x4A4A4A,0x9A9A9A,0xA5A5A5,0xA2A2A2,0xA1A1A1,0xA2A2A2,0xA2A2A2, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA4A4A4,0x9D9D9D,0x1A1A1A,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x1F1F1F,0xC7C7C7,0xC8C8C8,0xC6C6C6,0xC6C6C6, - 0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCBCBCB,0xA6A6A6, - 0x252525,0x272727,0x282828,0x282828,0x282828,0x282828,0x252525,0x4F4F4F, - 0x666666,0x5D5D5D,0x616161,0xADADAD,0xB5B5B5,0x6E6E6E,0x222222,0x343434, - 0x606060,0x5A5A5A,0x575757,0x545454,0x525252,0x515151,0x505050,0x646464, - 0x434343,0x252525,0x282828,0x282828,0x252525,0x272727,0x4D4D4D,0xB2B2B2, - 0xD0D0D0,0xCBCBCB,0xCCCCCC,0xC9C9C9,0xAFAFAF,0xA1A1A1,0xA6A6A6,0xA1A1A1, - 0x9A9A9A,0xC5C5C5,0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC7C7C7,0xD9D9D9,0x3E3E3E,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x252525,0xB8B8B8, - 0xCBCBCB,0xC5C5C5,0xC5C5C5,0xC7C7C7,0xC7C7C7,0xADADAD,0x9F9F9F,0xA0A0A0, - 0x979797,0xBCBCBC,0xC9C9C9,0xC6C6C6,0xC3C3C3,0xC8C8C8,0xCCCCCC,0xC5C5C5, - 0xCECECE,0x6F6F6F,0x00FF00,0x00FF00,0x00FF00,0x717171,0xC9C9C9,0xC9C9C9, - 0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2, - 0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC1C1C1, - 0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC9C9C9,0xCACACA,0xBFBFBF,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0, - 0xBFBFBF,0xBFBFBF,0xBFBFBF,0xC0C0C0,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xBFBFBF, - 0xC0C0C0,0xB8B8B8,0x464646,0x696969,0xA7A7A7,0xC3C3C3,0xBDBDBD,0xBDBDBD, - 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBCBCBC,0xBCBCBC,0xBCBCBC,0xC0C0C0, - 0xAEAEAE,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA2A2A2,0xC3C3C3,0xBBBBBB, - 0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBFBFBF,0xB2B2B2, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x262626,0xACACAC, - 0xC5C5C5,0xBEBEBE,0xBCBCBC,0xBFBFBF,0xB6B6B6,0xADADAD,0x9B9B9B,0x9A9A9A, - 0xB2B2B2,0xBEBEBE,0xB9B9B9,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xBDBDBD,0xBEBEBE,0x6A6A6A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x202020,0x797979,0xC4C4C4,0xB9B9B9,0xB4B4B4,0xB4B4B4, - 0xBBBBBB,0x9F9F9F,0x949494,0x979797,0xB4B4B4,0xB4B4B4,0xB3B3B3,0xB3B3B3, - 0xB3B3B3,0xB4B4B4,0xB9B9B9,0xB9B9B9,0x696969,0x00FF00,0x00FF00,0x373737, - 0x656565,0x535353,0x454545,0x373737,0x323232,0x757575,0xB8B8B8,0xB2B2B2, - 0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xB4B4B4,0xA1A1A1, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x5F5F5F, - 0xA0A0A0,0xADADAD,0xB7B7B7,0xB3B3B3,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB2B2B2, - 0xB2B2B2,0xB0B0B0,0xB5B5B5,0xB4B4B4,0x9B9B9B,0x858585,0x595959,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x646464,0xBBBBBB,0xB0B0B0,0xACACAC,0xACACAC,0xAEAEAE,0x9A9A9A,0x8E8E8E, - 0x959595,0xA5A5A5,0xADADAD,0xAAAAAA,0xACACAC,0xB0B0B0,0xB1B1B1,0x616161, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x181818,0x919191, - 0xA2A2A2,0xADADAD,0xAEAEAE,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, - 0xACACAC,0xACACAC,0xACACAC,0xABABAB,0xB4B4B4,0x363636,0x00FF00,0x00FF00, - 0x00FF00,0x252525,0xA7A7A7,0xB2B2B2,0xA6A6A6,0xA7A7A7,0xA7A7A7,0xA6A6A6, - 0xA6A6A6,0xA6A6A6,0xACACAC,0xA8A8A8,0x1A1A1A,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x575757,0x767676,0x717171,0x6B6B6B,0x5C5C5C, - 0x525252,0x4D4D4D,0x424242,0x383838,0x373737,0x373737,0x373737,0x373737, - 0x373737,0x8A8A8A,0xA8A8A8,0xA3A3A3,0xA3A3A3,0xA4A4A4,0xA4A4A4,0xA4A4A4, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA5A5A5,0x8A8A8A,0x6C6C6C,0x6E6E6E, - 0x606060,0x525252,0x4D4D4D,0x454545,0x3A3A3A,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x323232,0x5B5B5B,0xA8A8A8,0xA2A2A2,0xA1A1A1,0xA2A2A2, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xADADAD,0x666666, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x848484,0xD1D1D1,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xD2D2D2, - 0x696969,0x202020,0x282828,0x282828,0x282828,0x282828,0x282828,0x252525, - 0x4F4F4F,0x606060,0x787878,0xB5B5B5,0xCCCCCC,0xA6A6A6,0x282828,0x232323, - 0x343434,0x616161,0x5B5B5B,0x575757,0x545454,0x525252,0x515151,0x505050, - 0x636363,0x444444,0x252525,0x282828,0x222222,0x2D2D2D,0x8E8E8E,0xD1D1D1, - 0xCCCCCC,0xC7C7C7,0xCFCFCF,0xAAAAAA,0x656565,0x5A5A5A,0x626262,0x676767, - 0x5D5D5D,0x565656,0x727272,0xB6B6B6,0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xCFCFCF,0x848484,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x252525,0xC5C5C5, - 0xCCCCCC,0xC5C5C5,0xC5C5C5,0xC7C7C7,0xC7C7C7,0x5C5C5C,0x4A4A4A,0x626262, - 0x626262,0x595959,0x5E5E5E,0x898989,0xC2C2C2,0xC6C6C6,0xC4C4C4,0xC4C4C4, - 0xC4C4C4,0xCBCBCB,0x595959,0x00FF00,0x00FF00,0x9B9B9B,0xCECECE,0xC9C9C9, - 0xC8C8C8,0xC7C7C7,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2, - 0xC2C2C2,0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC5C5C5,0xC7C7C7,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0, - 0xC0C0C0,0xBFBFBF,0xC1C1C1,0xC4C4C4,0xC4C4C4,0xC3C3C3,0xC3C3C3,0xC3C3C3, - 0xC3C3C3,0xC7C7C7,0xA8A8A8,0x262626,0x5B5B5B,0x515151,0x9D9D9D,0xC2C2C2, - 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBCBCBC,0xBCBCBC,0xBCBCBC, - 0xC1C1C1,0xA6A6A6,0x00FF00,0x00FF00,0x00FF00,0x707070,0xC5C5C5,0xBBBBBB, - 0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBCBCBC, - 0xB9B9B9,0x212121,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x6C6C6C,0xC0C0C0, - 0xC0C0C0,0xB9B9B9,0xBBBBBB,0xB4B4B4,0x777777,0x5D5D5D,0x6B6B6B,0x696969, - 0x6E6E6E,0x636363,0x7F7F7F,0xB4B4B4,0xBABABA,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB7B7B7,0xB8B8B8,0xC4C4C4,0x6C6C6C,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x232323,0xB6B6B6,0xC0C0C0,0xB4B4B4,0xB4B4B4,0xB5B5B5, - 0xBABABA,0x828282,0x525252,0x646464,0x5A5A5A,0x717171,0xB7B7B7,0xB4B4B4, - 0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB4B4B4,0xC5C5C5,0x424242,0x00FF00, - 0x353535,0x5D5D5D,0x5A5A5A,0x464646,0x373737,0x313131,0x6C6C6C,0xB9B9B9, - 0xB2B2B2,0xB0B0B0,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB4B4B4, - 0x9F9F9F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x4A4A4A,0x707070,0x646464,0x888888,0xADADAD,0xAEAEAE,0xAEAEAE,0xAEAEAE, - 0xAEAEAE,0xAEAEAE,0xB3B3B3,0x979797,0x616161,0x505050,0x616161,0x393939, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x909090,0xB4B4B4,0xACACAC,0xACACAC,0xACACAC,0xB0B0B0,0x767676,0x444444, - 0x616161,0x727272,0x5B5B5B,0x757575,0xAEAEAE,0xAAAAAA,0xAAAAAA,0xACACAC, - 0xB1B1B1,0x9F9F9F,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828, - 0x787878,0x6E6E6E,0x636363,0x959595,0xAEAEAE,0xA8A8A8,0xA8A8A8,0xA8A8A8, - 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xB4B4B4,0x434343,0x00FF00, - 0x00FF00,0x00FF00,0x6B6B6B,0xB4B4B4,0xA7A7A7,0xA6A6A6,0xA7A7A7,0xA6A6A6, - 0xA7A7A7,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xB2B2B2,0x6D6D6D,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x484848,0x696969,0x717171,0x757575, - 0x616161,0x525252,0x4C4C4C,0x414141,0x383838,0x373737,0x373737,0x373737, - 0x373737,0x323232,0x646464,0xA9A9A9,0xA5A5A5,0xA4A4A4,0xA4A4A4,0xA4A4A4, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA5A5A5,0x959595,0x828282, - 0x747474,0x646464,0x545454,0x4D4D4D,0x444444,0x393939,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x353535,0x3F3F3F,0x9D9D9D,0xA3A3A3,0xA1A1A1, - 0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2, - 0xA7A7A7,0x1D1D1D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x474747,0xD3D3D3,0xC6C6C6,0xC6C6C6, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9, - 0xC8C8C8,0x363636,0x242424,0x282828,0x282828,0x282828,0x282828,0x282828, - 0x252525,0x373737,0x7C7C7C,0xB9B9B9,0xCDCDCD,0xD1D1D1,0x818181,0x212121, - 0x262626,0x323232,0x5A5A5A,0x626262,0x5C5C5C,0x585858,0x555555,0x525252, - 0x505050,0x656565,0x464646,0x232323,0x222222,0x4A4A4A,0xB5B5B5,0xCFCFCF, - 0xC7C7C7,0xC7C7C7,0xC9C9C9,0x7F7F7F,0x383838,0x414141,0x565656,0x666666, - 0x6A6A6A,0x626262,0x555555,0x474747,0x8F8F8F,0xCDCDCD,0xC7C7C7,0xC7C7C7, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xD1D1D1,0x646464,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x262626,0xC5C5C5, - 0xCBCBCB,0xC5C5C5,0xC5C5C5,0xC6C6C6,0xC5C5C5,0x5E5E5E,0x323232,0x484848, - 0x666666,0x666666,0x585858,0x515151,0x4C4C4C,0x707070,0xC3C3C3,0xC5C5C5, - 0xC4C4C4,0xC5C5C5,0xC1C1C1,0x393939,0x00FF00,0x00FF00,0x666666,0x9F9F9F, - 0x999999,0x969696,0xA1A1A1,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2, - 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC1C1C1,0xC5C5C5,0xAEAEAE,0x959595,0x989898, - 0x989898,0x989898,0x979797,0x979797,0x979797,0x979797,0x979797,0x969696, - 0x979797,0xBEBEBE,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0, - 0xC0C0C0,0xBFBFBF,0xC1C1C1,0xB0B0B0,0x949494,0x969696,0x969696,0x969696, - 0x969696,0x969696,0x9B9B9B,0x797979,0x3C3C3C,0x616161,0x4C4C4C,0x767676, - 0xC4C4C4,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBCBCBC, - 0xBCBCBC,0xC9C9C9,0x464646,0x00FF00,0x00FF00,0x707070,0xC7C7C7,0xBBBBBB, - 0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBABABA, - 0xBABABA,0xCBCBCB,0x505050,0x00FF00,0x00FF00,0x00FF00,0x707070,0xC5C5C5, - 0xBBBBBB,0xB9B9B9,0xBABABA,0xBFBFBF,0x696969,0x373737,0x4E4E4E,0x616161, - 0x6C6C6C,0x676767,0x565656,0x4B4B4B,0x717171,0xBABABA,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB6B6B6,0xC3C3C3,0x6B6B6B,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x242424,0xB4B4B4,0xBBBBBB,0xB4B4B4,0xB5B5B5,0xB4B4B4, - 0xBABABA,0x787878,0x353535,0x4C4C4C,0x676767,0x555555,0x4A4A4A,0x909090, - 0xB9B9B9,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB5B5B5,0xA9A9A9, - 0x444444,0x00FF00,0x00FF00,0x242424,0x404040,0x393939,0x303030,0x686868, - 0xBABABA,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB1B1B1,0xB0B0B0,0xB0B0B0, - 0xB2B2B2,0xAFAFAF,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x5A5A5A,0x676767,0x575757,0x4D4D4D,0x838383,0xB3B3B3,0xAEAEAE, - 0xAEAEAE,0xAEAEAE,0xB4B4B4,0x949494,0x414141,0x3F3F3F,0x4D4D4D,0x636363, - 0x2D2D2D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x3F3F3F,0xA9A9A9,0xAEAEAE,0xACACAC,0xACACAC,0xADADAD,0xADADAD,0x4A4A4A, - 0x414141,0x656565,0x676767,0x515151,0x494949,0x8A8A8A,0xB2B2B2,0xA9A9A9, - 0xAAAAAA,0xAAAAAA,0xB1B1B1,0xAAAAAA,0x242424,0x00FF00,0x00FF00,0x00FF00, - 0x1C1C1C,0x6D6D6D,0x626262,0x4D4D4D,0x585858,0xA2A2A2,0xA9A9A9,0xA8A8A8, - 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xACACAC,0x929292, - 0x00FF00,0x00FF00,0x202020,0x9C9C9C,0xA9A9A9,0xA7A7A7,0xA7A7A7,0xA7A7A7, - 0xA6A6A6,0xA7A7A7,0xA7A7A7,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xB6B6B6,0x363636, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1D1D1D, - 0x2D2D2D,0x353535,0x4E4E4E,0x515151,0x414141,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x363636,0x373737,0x797979,0xAAAAAA,0xA4A4A4,0xA3A3A3, - 0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xACACAC, - 0x646464,0x2A2A2A,0x383838,0x515151,0x525252,0x444444,0x383838,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x343434,0x7D7D7D,0xA8A8A8, - 0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xAFAFAF,0x444444,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB3B3B3,0xCBCBCB,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8, - 0xC9C9C9,0x5E5E5E,0x242424,0x282828,0x282828,0x282828,0x282828,0x282828, - 0x262626,0x1B1B1B,0x2E2E2E,0xC7C7C7,0xCCCCCC,0xC8C8C8,0xCDCDCD,0x4E4E4E, - 0x212121,0x292929,0x222222,0x00FF00,0x222222,0x1F1F1F,0x2F2F2F,0x464646, - 0x545454,0x505050,0x646464,0x474747,0x1F1F1F,0x686868,0xCBCBCB,0xCDCDCD, - 0xC7C7C7,0xC7C7C7,0xC9C9C9,0xC5C5C5,0x3A3A3A,0x323232,0x454545,0x555555, - 0x656565,0x6A6A6A,0x626262,0x555555,0x4F4F4F,0x959595,0xCCCCCC,0xC7C7C7, - 0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xD2D2D2,0x5F5F5F, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB8B8B8, - 0xCCCCCC,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC8C8C8,0xB6B6B6,0x2D2D2D,0x393939, - 0x464646,0x646464,0x666666,0x585858,0x535353,0x505050,0x4A4A4A,0x9F9F9F, - 0xC9C9C9,0xC3C3C3,0xC6C6C6,0xBABABA,0x2F2F2F,0x00FF00,0x00FF00,0x232323, - 0x6A6A6A,0x636363,0x5D5D5D,0x909090,0xC7C7C7,0xC2C2C2,0xC2C2C2,0xC2C2C2, - 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC5C5C5,0x8A8A8A,0x606060, - 0x646464,0x646464,0x646464,0x646464,0x646464,0x646464,0x646464,0x646464, - 0x636363,0x6F6F6F,0xBBBBBB,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC4C4C4,0x999999,0x606060,0x646464,0x646464, - 0x646464,0x646464,0x646464,0x686868,0x515151,0x444444,0x5E5E5E,0x515151, - 0x4C4C4C,0xB6B6B6,0xC0C0C0,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC, - 0xBCBCBC,0xBCBCBC,0xC9C9C9,0x424242,0x1A1A1A,0xB1B1B1,0xC3C3C3,0xBBBBBB, - 0xBBBBBB,0xBCBCBC,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB, - 0xBABABA,0xBDBDBD,0xB4B4B4,0x212121,0x00FF00,0x00FF00,0x6A6A6A,0xC6C6C6, - 0xB9B9B9,0xBABABA,0xBABABA,0xBBBBBB,0xB2B2B2,0x3A3A3A,0x404040,0x4F4F4F, - 0x636363,0x6C6C6C,0x676767,0x575757,0x505050,0x484848,0xA1A1A1,0xBBBBBB, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB6B6B6,0xB7B7B7,0xC6C6C6, - 0x424242,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0xABABAB,0xBCBCBC,0xB5B5B5,0xB5B5B5,0xB4B4B4, - 0xB6B6B6,0xAAAAAA,0x3C3C3C,0x3B3B3B,0x505050,0x646464,0x565656,0x414141, - 0x6C6C6C,0xBBBBBB,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3, - 0xB9B9B9,0xB2B2B2,0x00FF00,0x00FF00,0x00FF00,0x161616,0x3C3C3C,0x303030, - 0x676767,0xB9B9B9,0xB2B2B2,0xB2B2B2,0xB0B0B0,0xB1B1B1,0xB1B1B1,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xBFBFBF,0x444444,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x545454,0x666666,0x585858,0x474747,0x737373,0xB5B5B5, - 0xAEAEAE,0xAEAEAE,0xB4B4B4,0x999999,0x3F3F3F,0x3A3A3A,0x454545,0x4E4E4E, - 0x666666,0x282828,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x3C3C3C,0xBFBFBF,0xADADAD,0xACACAC,0xACACAC,0xACACAC,0xB1B1B1,0x808080, - 0x343434,0x474747,0x666666,0x666666,0x525252,0x474747,0x4C4C4C,0x9C9C9C, - 0xAEAEAE,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xAEAEAE,0xB0B0B0,0x5D5D5D,0x00FF00, - 0x00FF00,0x252525,0x6D6D6D,0x616161,0x515151,0x414141,0x808080,0xAFAFAF, - 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xABABAB, - 0x999999,0x00FF00,0x161616,0xA4A4A4,0xADADAD,0xA7A7A7,0xA7A7A7,0xA7A7A7, - 0xA6A6A6,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xB4B4B4, - 0x434343,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232,0x454545,0x383838,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x313131,0x5A5A5A,0xA9A9A9,0xA4A4A4, - 0xA3A3A3,0xA3A3A3,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3, - 0xA8A8A8,0x898989,0x00FF00,0x00FF00,0x00FF00,0x323232,0x484848,0x393939, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x333333,0x525252, - 0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2, - 0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA5A5A5,0x3A3A3A,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3C3C3C,0xD1D1D1,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xCBCBCB,0xAEAEAE,0x242424,0x262626,0x282828,0x282828,0x282828,0x252525, - 0x202020,0x2B2B2B,0x575757,0xC6C6C6,0xCCCCCC,0xC7C7C7,0xCACACA,0xC0C0C0, - 0x2B2B2B,0x262626,0x292929,0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x202020,0x4C4C4C,0x656565,0x434343,0x515151,0xCDCDCD,0xC9C9C9, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCFCFCF,0x6A6A6A,0x303030,0x454545, - 0x555555,0x656565,0x6A6A6A,0x626262,0x545454,0x585858,0xBEBEBE,0xC8C8C8, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xCBCBCB, - 0xAAAAAA,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA6A6A6, - 0xC7C7C7,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xCCCCCC,0x838383,0x292929, - 0x3A3A3A,0x494949,0x676767,0x666666,0x585858,0x525252,0x515151,0x4B4B4B, - 0x5C5C5C,0xC3C3C3,0xC5C5C5,0xC9C9C9,0x959595,0x282828,0x00FF00,0x00FF00, - 0x363636,0x717171,0x686868,0x636363,0x999999,0xC8C8C8,0xC2C2C2,0xC2C2C2, - 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC3C3C3,0xB8B8B8,0x5C5C5C, - 0x6B6B6B,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x686868,0x797979,0xBCBCBC,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC6C6C6,0x9C9C9C,0x646464,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x707070,0x4F4F4F,0x262626,0x5A5A5A, - 0x505050,0x535353,0xBABABA,0xBFBFBF,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD, - 0xBDBDBD,0xBCBCBC,0xBDBDBD,0xC6C6C6,0x3A3A3A,0x424242,0xCCCCCC,0xBFBFBF, - 0xC1C1C1,0xC1C1C1,0xC0C0C0,0xBCBCBC,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB, - 0xBBBBBB,0xBABABA,0xC7C7C7,0x5E5E5E,0x00FF00,0x00FF00,0x1E1E1E,0xC1C1C1, - 0xBBBBBB,0xBABABA,0xBABABA,0xB9B9B9,0xBABABA,0xC0C0C0,0x767676,0x3A3A3A, - 0x505050,0x636363,0x6E6E6E,0x676767,0x575757,0x515151,0x464646,0x999999, - 0xBBBBBB,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7, - 0xBBBBBB,0xA2A2A2,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x686868,0xBDBDBD,0xB5B5B5,0xB5B5B5,0xB5B5B5, - 0xB4B4B4,0xB8B8B8,0xA6A6A6,0x303030,0x3D3D3D,0x585858,0x666666,0x565656, - 0x414141,0x6F6F6F,0xBCBCBC,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3, - 0xB3B3B3,0xB3B3B3,0xB3B3B3,0x949494,0x00FF00,0x00FF00,0x00FF00,0x2D2D2D, - 0x343434,0x555555,0xB4B4B4,0xB2B2B2,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xBDBDBD,0x3D3D3D,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x585858,0x656565,0x585858,0x474747,0x6B6B6B, - 0xB6B6B6,0xAEAEAE,0xB2B2B2,0x9B9B9B,0x404040,0x373737,0x3E3E3E,0x444444, - 0x4F4F4F,0x676767,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x1E1E1E,0xA8A8A8,0xAFAFAF,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xB1B1B1, - 0x7C7C7C,0x343434,0x494949,0x686868,0x656565,0x505050,0x4A4A4A,0x3F3F3F, - 0x555555,0xAAAAAA,0xABABAB,0xAAAAAA,0xA9A9A9,0xA9A9A9,0xADADAD,0xB2B2B2, - 0x1A1A1A,0x00FF00,0x282828,0x707070,0x5E5E5E,0x515151,0x404040,0x4F4F4F, - 0xA8A8A8,0xA9A9A9,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8, - 0xA9A9A9,0xA7A7A7,0x1B1B1B,0x1F1F1F,0xAEAEAE,0xA8A8A8,0xA8A8A8,0xA8A8A8, - 0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA6A6A6,0xA6A6A6, - 0xAAAAAA,0x8F8F8F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1D1D1D,0x3C3C3C, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x363636,0x414141,0x9F9F9F, - 0xA6A6A6,0xA3A3A3,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3, - 0xA3A3A3,0xA5A5A5,0xA5A5A5,0x1D1D1D,0x00FF00,0x00FF00,0x00FF00,0x1D1D1D, - 0x3D3D3D,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x323232,0x636363,0xA9A9A9,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA7A7A7,0x8D8D8D,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x7F7F7F,0xD1D1D1, - 0xC7C7C7,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xD0D0D0,0x656565,0x1A1A1A,0x212121,0x212121,0x212121,0x232323, - 0x2C2C2C,0x595959,0xB0B0B0,0xCECECE,0xCACACA,0xC7C7C7,0xC8C8C8,0xCDCDCD, - 0x6A6A6A,0x232323,0x282828,0x292929,0x252525,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x515151,0x7D7D7D,0xC8C8C8,0xC9C9C9, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCDCDCD,0x8E8E8E,0x333333, - 0x454545,0x555555,0x646464,0x6A6A6A,0x636363,0x525252,0x696969,0xC5C5C5, - 0xC8C8C8,0xC7C7C7,0xC6C6C6,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC6C6C6, - 0xD2D2D2,0x4F4F4F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828, - 0xC7C7C7,0xC8C8C8,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xCDCDCD,0x797979, - 0x262626,0x3A3A3A,0x464646,0x646464,0x676767,0x585858,0x525252,0x515151, - 0x4E4E4E,0x4A4A4A,0xA8A8A8,0xC7C7C7,0xCDCDCD,0x717171,0x242424,0x00FF00, - 0x00FF00,0x323232,0x6E6E6E,0x686868,0x6F6F6F,0xB0B0B0,0xC6C6C6,0xC2C2C2, - 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC6C6C6,0xA1A1A1, - 0x4D4D4D,0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x707070,0x939393,0xC2C2C2,0xC1C1C1,0xC0C0C0,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC1C1C1,0xBBBBBB,0x717171,0x676767, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x707070,0x444444,0x1C1C1C, - 0x5C5C5C,0x4E4E4E,0x616161,0xBFBFBF,0xBFBFBF,0xBDBDBD,0xBDBDBD,0xBDBDBD, - 0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBEBEBE,0xB7B7B7,0x585858,0xADADAD,0xC2C2C2, - 0xAAAAAA,0x8F8F8F,0x8D8D8D,0x9F9F9F,0xC1C1C1,0xBCBCBC,0xBBBBBB,0xBBBBBB, - 0xBBBBBB,0xBBBBBB,0xBBBBBB,0xC6C6C6,0x434343,0x00FF00,0x00FF00,0x7B7B7B, - 0xC4C4C4,0xBABABA,0xBABABA,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xBBBBBB,0xB4B4B4, - 0x4C4C4C,0x4F4F4F,0x646464,0x6E6E6E,0x666666,0x575757,0x515151,0x424242, - 0x585858,0xBBBBBB,0xB9B9B9,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xBABABA,0xA7A7A7,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x1E1E1E,0xBEBEBE,0xB6B6B6,0xB5B5B5,0xB4B4B4, - 0xB5B5B5,0xB5B5B5,0xBCBCBC,0x717171,0x2C2C2C,0x3C3C3C,0x5A5A5A,0x676767, - 0x555555,0x474747,0x474747,0xA6A6A6,0xB5B5B5,0xB3B3B3,0xB3B3B3,0xB3B3B3, - 0xB3B3B3,0xB3B3B3,0xB2B2B2,0xB4B4B4,0xB3B3B3,0x212121,0x00FF00,0x00FF00, - 0x272727,0x373737,0x4C4C4C,0xAFAFAF,0xB3B3B3,0xB1B1B1,0xB1B1B1,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xBDBDBD,0x3D3D3D,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x626262,0x646464,0x575757,0x4A4A4A, - 0x888888,0xB2B2B2,0xB0B0B0,0xAEAEAE,0x454545,0x353535,0x3B3B3B,0x3E3E3E, - 0x444444,0x4F4F4F,0x636363,0x1E1E1E,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x3D3D3D,0xBCBCBC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, - 0xB3B3B3,0x6A6A6A,0x323232,0x4C4C4C,0x696969,0x646464,0x505050,0x4A4A4A, - 0x444444,0x3B3B3B,0x9D9D9D,0xAEAEAE,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9, - 0xB2B2B2,0x7A7A7A,0x181818,0x2C2C2C,0x6E6E6E,0x5D5D5D,0x4F4F4F,0x434343, - 0x343434,0x808080,0xAEAEAE,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8, - 0xA7A7A7,0xA7A7A7,0xACACAC,0x999999,0x767676,0xAEAEAE,0xA8A8A8,0xA3A3A3, - 0xA0A0A0,0xA2A2A2,0xA8A8A8,0xA9A9A9,0xA7A7A7,0xA7A7A7,0xA6A6A6,0xA6A6A6, - 0xA7A7A7,0xA7A7A7,0xABABAB,0x242424,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x353535,0x3B3B3B,0x373737,0x373737,0x373737,0x373737,0x373737,0x363636, - 0x848484,0xA8A8A8,0xA3A3A3,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA3A3A3, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xB3B3B3,0x464646,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x2B2B2B,0x3B3B3B,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x373737,0x343434,0x434343,0xA0A0A0,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA2A2A2,0x1D1D1D, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x484848,0xD3D3D3, - 0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC9C9C9,0x707070,0x484848,0x4F4F4F,0x4B4B4B,0x5B5B5B, - 0x999999,0xAFAFAF,0xCFCFCF,0xCCCCCC,0xC8C8C8,0xC7C7C7,0xC8C8C8,0xCCCCCC, - 0xA2A2A2,0x242424,0x272727,0x282828,0x292929,0x262626,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x494949,0xBDBDBD,0xCCCCCC, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xC0C0C0, - 0x424242,0x424242,0x555555,0x656565,0x6A6A6A,0x636363,0x4F4F4F,0x8B8B8B, - 0xCDCDCD,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC6C6C6, - 0xC8C8C8,0xC4C4C4,0x1E1E1E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0xB6B6B6,0xCBCBCB,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC6C6C6, - 0xC2C2C2,0x414141,0x343434,0x474747,0x666666,0x666666,0x585858,0x525252, - 0x515151,0x4F4F4F,0x414141,0x838383,0xCCCCCC,0xCBCBCB,0x585858,0x262626, - 0x00FF00,0x00FF00,0x2B2B2B,0x717171,0x656565,0x848484,0xC5C5C5,0xC3C3C3, - 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC9C9C9, - 0x7B7B7B,0x535353,0x6C6C6C,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x727272,0xBCBCBC,0xC2C2C2,0xC0C0C0,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC8C8C8,0x727272,0x323232, - 0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x707070,0x3A3A3A, - 0x222222,0x626262,0x4C4C4C,0x797979,0xC5C5C5,0xBDBDBD,0xBDBDBD,0xBDBDBD, - 0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBDBDBD,0xBCBCBC,0xBBBBBB,0xB8B8B8,0xC5C5C5, - 0xAFAFAF,0x3C3C3C,0x4C4C4C,0x616161,0x545454,0x868686,0xC0C0C0,0xBFBFBF, - 0xBBBBBB,0xBCBCBC,0xBCBCBC,0xC4C4C4,0x949494,0x202020,0x00FF00,0x3C3C3C, - 0xC8C8C8,0xB9B9B9,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xB9B9B9, - 0xBCBCBC,0xA1A1A1,0x505050,0x646464,0x6E6E6E,0x656565,0x565656,0x515151, - 0x424242,0x5B5B5B,0xBBBBBB,0xB9B9B9,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB7B7B7,0xB8B8B8,0xBBBBBB,0xA7A7A7,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x777777,0xC1C1C1,0xB5B5B5,0xB5B5B5, - 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xC0C0C0,0x616161,0x292929,0x3C3C3C,0x585858, - 0x676767,0x545454,0x474747,0x343434,0x999999,0xB8B8B8,0xB3B3B3,0xB3B3B3, - 0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB2B2B2,0xC2C2C2,0x474747,0x00FF00, - 0x00FF00,0x232323,0x393939,0x424242,0xADADAD,0xB3B3B3,0xB2B2B2,0xB1B1B1, - 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xBFBFBF,0x3B3B3B,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x5F5F5F,0x646464,0x525252, - 0x696969,0xAFAFAF,0xAFAFAF,0xB3B3B3,0x707070,0x373737,0x3A3A3A,0x3B3B3B, - 0x3F3F3F,0x454545,0x515151,0x666666,0x222222,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x686868,0xB5B5B5,0xACACAC,0xACACAC,0xACACAC,0xACACAC, - 0xACACAC,0xB4B4B4,0x636363,0x343434,0x4D4D4D,0x6A6A6A,0x636363,0x4F4F4F, - 0x494949,0x434343,0x3A3A3A,0x575757,0xAAAAAA,0xAAAAAA,0xA9A9A9,0xA9A9A9, - 0xA9A9A9,0xA8A8A8,0xB9B9B9,0x676767,0x2B2B2B,0x6F6F6F,0x5C5C5C,0x4F4F4F, - 0x414141,0x323232,0x696969,0xB0B0B0,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8, - 0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xAAAAAA,0xAEAEAE,0xA7A7A7,0xA9A9A9, - 0x585858,0x585858,0x707070,0x6C6C6C,0x9D9D9D,0xA9A9A9,0xA8A8A8,0xA7A7A7, - 0xA6A6A6,0xA6A6A6,0xA8A8A8,0xA9A9A9,0x232323,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x3A3A3A,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x313131,0x646464,0xADADAD,0xA3A3A3,0xA3A3A3,0xA4A4A4,0xA4A4A4,0xA3A3A3, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA6A6A6,0x9F9F9F,0x1A1A1A,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x373737,0x383838,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x343434,0x838383,0xA7A7A7,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xAFAFAF, - 0x424242,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB3B3B3, - 0xCBCBCB,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCBCBCB,0xCCCCCC,0xCCCCCC,0xCBCBCB, - 0xCECECE,0xCDCDCD,0xCBCBCB,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xD1D1D1,0x666666,0x202020,0x282828,0x282828,0x282828,0x282828,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x6D6D6D,0xD2D2D2, - 0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC9C9C9, - 0xC2C2C2,0x444444,0x424242,0x555555,0x646464,0x6A6A6A,0x636363,0x555555, - 0xA2A2A2,0xCCCCCC,0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC7C7C7,0xC6C6C6,0xC7C7C7, - 0xC6C6C6,0xCACACA,0xAEAEAE,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0xB8B8B8,0xC9C9C9,0xC6C6C6,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC6C6C6, - 0xC5C5C5,0xCBCBCB,0x989898,0x343434,0x454545,0x656565,0x676767,0x595959, - 0x535353,0x505050,0x4E4E4E,0x434343,0x6C6C6C,0xC9C9C9,0xC1C1C1,0x3A3A3A, - 0x272727,0x00FF00,0x00FF00,0x353535,0x707070,0x6E6E6E,0xA5A5A5,0xC8C8C8, - 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC4C4C4, - 0xBEBEBE,0x343434,0x464646,0x6E6E6E,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x686868,0x797979,0xBCBCBC,0xC1C1C1,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC9C9C9,0x636363, - 0x3A3A3A,0x6F6F6F,0x696969,0x696969,0x696969,0x696969,0x696969,0x6E6E6E, - 0x474747,0x3E3E3E,0x606060,0x4D4D4D,0x7E7E7E,0xC5C5C5,0xBDBDBD,0xBDBDBD, - 0xBDBDBD,0xBCBCBC,0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBCBCBC,0xBCBCBC,0xC1C1C1, - 0xAFAFAF,0x4F4F4F,0x343434,0x505050,0x686868,0x505050,0x4C4C4C,0x7F7F7F, - 0xAFAFAF,0xBCBCBC,0xBABABA,0xBFBFBF,0x979797,0x383838,0x202020,0x00FF00, - 0x424242,0xC7C7C7,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, - 0xB9B9B9,0xBABABA,0xBABABA,0x6A6A6A,0x616161,0x6E6E6E,0x656565,0x565656, - 0x515151,0x424242,0x656565,0xBEBEBE,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB7B7B7,0xB7B7B7,0xBABABA,0xA7A7A7,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xAFAFAF,0xB8B8B8,0xB5B5B5, - 0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB6B6B6,0xB7B7B7,0x4C4C4C,0x2C2C2C,0x3A3A3A, - 0x565656,0x666666,0x525252,0x454545,0x353535,0x7A7A7A,0xB8B8B8,0xB3B3B3, - 0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB2B2B2,0xC1C1C1,0x464646, - 0x00FF00,0x00FF00,0x212121,0x3C3C3C,0x3D3D3D,0xA9A9A9,0xB3B3B3,0xB2B2B2, - 0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xBABABA,0x6A6A6A, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x5D5D5D,0x616161, - 0x595959,0x9B9B9B,0xB3B3B3,0xB1B1B1,0x767676,0x363636,0x383838,0x3A3A3A, - 0x3B3B3B,0x3F3F3F,0x464646,0x525252,0x686868,0x232323,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0xA7A7A7,0xAEAEAE,0xACACAC,0xACACAC,0xACACAC, - 0xACACAC,0xACACAC,0xB1B1B1,0x7F7F7F,0x353535,0x4F4F4F,0x6C6C6C,0x616161, - 0x4E4E4E,0x494949,0x434343,0x3C3C3C,0x373737,0xA2A2A2,0xACACAC,0xA9A9A9, - 0xA9A9A9,0xAAAAAA,0xA9A9A9,0xAAAAAA,0xA3A3A3,0x4B4B4B,0x6A6A6A,0x5C5C5C, - 0x4E4E4E,0x434343,0x343434,0x555555,0xACACAC,0xA8A8A8,0xA8A8A8,0xA8A8A8, - 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xACACAC, - 0x8A8A8A,0x3A3A3A,0x575757,0x636363,0x4B4B4B,0x515151,0x717171,0xA5A5A5, - 0xA9A9A9,0xA8A8A8,0xA9A9A9,0xAEAEAE,0x444444,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x323232,0x3A3A3A,0x373737,0x373737,0x373737, - 0x373737,0x363636,0x3A3A3A,0x808080,0xA9A9A9,0xA3A3A3,0xA4A4A4,0xA3A3A3, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xAEAEAE,0x6B6B6B, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2B2B2B,0x3D3D3D,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x313131,0x5B5B5B,0xA8A8A8,0xA1A1A1, - 0xA2A2A2,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA3A3A3,0x9B9B9B,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3C3C3C, - 0xD1D1D1,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xCCCCCC,0xCCCCCC,0xCBCBCB,0xC9C9C9, - 0xC9C9C9,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC7C7C7, - 0xC9C9C9,0xC7C7C7,0x383838,0x242424,0x282828,0x282828,0x282828,0x282828, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB2B2B2, - 0xCBCBCB,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7, - 0xCFCFCF,0x9A9A9A,0x313131,0x454545,0x555555,0x646464,0x6A6A6A,0x626262, - 0x616161,0xBFBFBF,0xC9C9C9,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xD0D0D0,0x848484,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0xA7A7A7,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC5C5C5,0xC5C5C5,0xCECECE,0x969696,0x464646,0x696969,0x676767, - 0x595959,0x535353,0x515151,0x4F4F4F,0x474747,0x4D4D4D,0xB7B7B7,0xBDBDBD, - 0x2C2C2C,0x2C2C2C,0x181818,0x00FF00,0x232323,0x6C6C6C,0x747474,0xBCBCBC, - 0xC5C5C5,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2, - 0xC7C7C7,0xA5A5A5,0x212121,0x4E4E4E,0x6F6F6F,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x666666,0x8D8D8D,0xC2C2C2,0xC1C1C1, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC9C9C9, - 0x5B5B5B,0x424242,0x6F6F6F,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x6C6C6C,0x525252,0x474747,0x5E5E5E,0x4D4D4D,0x858585,0xC4C4C4,0xBDBDBD, - 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBCBCBC,0xBCBCBC, - 0xC6C6C6,0x717171,0x2B2B2B,0x3A3A3A,0x4B4B4B,0x686868,0x525252,0x4B4B4B, - 0x4B4B4B,0x606060,0x787878,0x858585,0x717171,0x434343,0x353535,0x202020, - 0x00FF00,0x414141,0xC8C8C8,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, - 0xBABABA,0xBABABA,0xB9B9B9,0xC1C1C1,0x898989,0x5C5C5C,0x6E6E6E,0x656565, - 0x565656,0x515151,0x414141,0x6E6E6E,0xC1C1C1,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7,0xB7B7B7,0xC1C1C1,0x3B3B3B,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3A3A3A,0xBFBFBF,0xB5B5B5, - 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB8B8B8,0xA9A9A9,0x2D2D2D,0x303030, - 0x3A3A3A,0x545454,0x656565,0x525252,0x464646,0x353535,0x4B4B4B,0xB2B2B2, - 0xB4B4B4,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB6B6B6, - 0x2A2A2A,0x00FF00,0x00FF00,0x00FF00,0x383838,0x3A3A3A,0xA9A9A9,0xB3B3B3, - 0xB0B0B0,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB3B3B3, - 0xA8A8A8,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x161616,0x656565, - 0x666666,0x959595,0xB4B4B4,0xB4B4B4,0x979797,0x373737,0x373737,0x3A3A3A, - 0x3A3A3A,0x3B3B3B,0x404040,0x474747,0x535353,0x626262,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x343434,0xB5B5B5,0xADADAD,0xACACAC,0xACACAC, - 0xACACAC,0xACACAC,0xACACAC,0xB4B4B4,0x656565,0x343434,0x505050,0x6C6C6C, - 0x606060,0x4F4F4F,0x484848,0x434343,0x3C3C3C,0x353535,0x8D8D8D,0xAEAEAE, - 0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xAAAAAA,0x9D9D9D,0x707070, - 0x5B5B5B,0x4E4E4E,0x404040,0x353535,0x414141,0xA5A5A5,0xAAAAAA,0xA8A8A8, - 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA8A8A8, - 0xACACAC,0x595959,0x383838,0x5B5B5B,0x616161,0x4D4D4D,0x4C4C4C,0x515151, - 0x636363,0x898989,0x9D9D9D,0x999999,0x767676,0x222222,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x212121,0x3D3D3D,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x313131,0x565656,0xA8A8A8,0xA4A4A4,0xA4A4A4, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA5A5A5, - 0x9E9E9E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636,0x393939, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x363636,0x373737,0x727272, - 0xA8A8A8,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA8A8A8,0x919191,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x797979,0xD1D1D1,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xB4B4B4,0x9C9C9C,0x999999,0xAEAEAE, - 0xC5C5C5,0xC8C8C8,0xCBCBCB,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC8C8C8, - 0xC7C7C7,0xCDCDCD,0xA5A5A5,0x252525,0x272727,0x282828,0x282828,0x282828, - 0x2A2A2A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x404040, - 0xD1D1D1,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC7C7C7, - 0xC9C9C9,0xCBCBCB,0x4A4A4A,0x303030,0x444444,0x545454,0x646464,0x6A6A6A, - 0x5E5E5E,0x808080,0xC9C9C9,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC6C6C6,0xC7C7C7,0xCDCDCD,0x5D5D5D,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0xBDBDBD,0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC6C6C6, - 0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC9C9C9,0xBDBDBD,0x828282, - 0x626262,0x585858,0x525252,0x505050,0x4F4F4F,0x484848,0x434343,0xBBBBBB, - 0x969696,0x242424,0x2C2C2C,0x00FF00,0x00FF00,0x303030,0x717171,0x727272, - 0xBFBFBF,0xC5C5C5,0xC2C2C2,0xC2C2C2,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2, - 0xC2C2C2,0xCBCBCB,0x7B7B7B,0x202020,0x575757,0x6E6E6E,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x646464,0x989898,0xC6C6C6, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC1C1C1, - 0xC2C2C2,0x434343,0x4C4C4C,0x6F6F6F,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x6F6F6F,0x505050,0x2F2F2F,0x5B5B5B,0x4B4B4B,0x8B8B8B,0xC4C4C4, - 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBDBDBD,0xBCBCBC, - 0xBFBFBF,0xB2B2B2,0x373737,0x323232,0x3A3A3A,0x4C4C4C,0x686868,0x525252, - 0x4C4C4C,0x4F4F4F,0x515151,0x5B5B5B,0x686868,0x545454,0x3F3F3F,0x383838, - 0x1E1E1E,0x00FF00,0x3D3D3D,0xC5C5C5,0xBABABA,0xBABABA,0xBABABA,0xBABABA, - 0xBABABA,0xBABABA,0xBABABA,0xB9B9B9,0xBFBFBF,0x7F7F7F,0x5D5D5D,0x6E6E6E, - 0x646464,0x555555,0x515151,0x414141,0x6B6B6B,0xC1C1C1,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB8B8B8,0xB8B8B8,0xC5C5C5,0x414141, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x707070,0xC0C0C0, - 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB7B7B7,0xACACAC,0x323232, - 0x303030,0x3A3A3A,0x535353,0x646464,0x525252,0x474747,0x393939,0x3B3B3B, - 0x848484,0xBBBBBB,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB9B9B9, - 0xA2A2A2,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x303030,0x3A3A3A,0xA8A8A8, - 0xB4B4B4,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0, - 0xB4B4B4,0xA1A1A1,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1E1E1E, - 0x6E6E6E,0x999999,0xB3B3B3,0xB2B2B2,0xAFAFAF,0x525252,0x343434,0x393939, - 0x393939,0x3A3A3A,0x3B3B3B,0x404040,0x474747,0x545454,0x666666,0x1A1A1A, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA3A3A3,0xAFAFAF,0xACACAC, - 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xB4B4B4,0x656565,0x353535,0x515151, - 0x6C6C6C,0x5D5D5D,0x4E4E4E,0x484848,0x424242,0x3C3C3C,0x333333,0x6B6B6B, - 0xB2B2B2,0xAAAAAA,0xAAAAAA,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xAAAAAA,0xACACAC, - 0x7B7B7B,0x575757,0x4C4C4C,0x414141,0x373737,0x393939,0x969696,0xACACAC, - 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA8A8A8, - 0xA8A8A8,0xADADAD,0x5B5B5B,0x393939,0x606060,0x606060,0x4C4C4C,0x4D4D4D, - 0x4F4F4F,0x515151,0x5C5C5C,0x6F6F6F,0x616161,0x434343,0x232323,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3E3E3E,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x363636,0x3E3E3E,0x9C9C9C,0xA5A5A5, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2, - 0xA3A3A3,0xAEAEAE,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1E1E1E, - 0x3D3D3D,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x333333, - 0x464646,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA2A2A2,0x1D1D1D,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x484848,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC7C7C7,0x595959,0x595959,0x585858, - 0x626262,0x626262,0x737373,0xAFAFAF,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC8C8C8, - 0xC8C8C8,0xC8C8C8,0xD0D0D0,0x646464,0x202020,0x282828,0x282828,0x282828, - 0x282828,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0xBDBDBD,0xCBCBCB,0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC9C9C9,0xCECECE,0x646464,0x222222,0x343434,0x444444,0x545454,0x646464, - 0x6A6A6A,0x5A5A5A,0x999999,0xCDCDCD,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC9C9C9,0xC5C5C5,0x3A3A3A,0x161616,0x00FF00, - 0x00FF00,0x00FF00,0x1F1F1F,0xC3C3C3,0xC8C8C8,0xC6C6C6,0xC6C6C6,0xC5C5C5, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC9C9C9, - 0xB8B8B8,0x6F6F6F,0x565656,0x535353,0x515151,0x4E4E4E,0x494949,0x434343, - 0x636363,0x4C4C4C,0x242424,0x2A2A2A,0x00FF00,0x00FF00,0x252525,0x696969, - 0x7E7E7E,0xC1C1C1,0xC4C4C4,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2, - 0xC2C2C2,0xC2C2C2,0xCDCDCD,0x6A6A6A,0x1D1D1D,0x434343,0x6E6E6E,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x646464,0x989898, - 0xC6C6C6,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0, - 0xC2C2C2,0xBBBBBB,0x343434,0x373737,0x6E6E6E,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x707070,0x434343,0x1B1B1B,0x575757,0x616161,0xAFAFAF, - 0xC1C1C1,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC, - 0xBCBCBC,0xC6C6C6,0x656565,0x252525,0x353535,0x3B3B3B,0x4F4F4F,0x686868, - 0x515151,0x4C4C4C,0x4F4F4F,0x535353,0x606060,0x6B6B6B,0x575757,0x3F3F3F, - 0x383838,0x1C1C1C,0x00FF00,0x00FF00,0x9E9E9E,0xC1C1C1,0xBABABA,0xBABABA, - 0xBABABA,0xBABABA,0xBABABA,0xB9B9B9,0xBEBEBE,0x919191,0x4B4B4B,0x676767, - 0x6E6E6E,0x636363,0x555555,0x505050,0x414141,0x6B6B6B,0xC0C0C0,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7,0xC5C5C5, - 0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB0B0B0, - 0xB9B9B9,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB7B7B7,0xADADAD, - 0x343434,0x303030,0x3F3F3F,0x535353,0x636363,0x525252,0x444444,0x383838, - 0x3A3A3A,0x4D4D4D,0x969696,0xBBBBBB,0xB4B4B4,0xB4B4B4,0xB3B3B3,0xB8B8B8, - 0xB5B5B5,0x4D4D4D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2C2C2C,0x383838, - 0x8F8F8F,0xB5B5B5,0xB2B2B2,0xB2B2B2,0xB0B0B0,0xB0B0B0,0xB1B1B1,0xB0B0B0, - 0xB0B0B0,0xB4B4B4,0x9F9F9F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x141414,0x7A7A7A,0xB3B3B3,0xB0B0B0,0xAAAAAA,0x525252,0x343434,0x393939, - 0x393939,0x393939,0x3A3A3A,0x3C3C3C,0x404040,0x474747,0x565656,0x646464, - 0x191919,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x393939,0xB6B6B6,0xACACAC, - 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xB1B1B1,0x7B7B7B,0x373737, - 0x545454,0x6E6E6E,0x5B5B5B,0x4E4E4E,0x474747,0x424242,0x3C3C3C,0x373737, - 0x3A3A3A,0x9C9C9C,0xACACAC,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9, - 0xACACAC,0x9D9D9D,0x5D5D5D,0x4C4C4C,0x3F3F3F,0x373737,0x343434,0x4A4A4A, - 0xA7A7A7,0xA9A9A9,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7, - 0xA8A8A8,0xA8A8A8,0xA9A9A9,0x555555,0x3B3B3B,0x5E5E5E,0x5E5E5E,0x4C4C4C, - 0x4D4D4D,0x4F4F4F,0x535353,0x626262,0x6F6F6F,0x606060,0x464646,0x1F1F1F, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828, - 0x3C3C3C,0x373737,0x373737,0x373737,0x373737,0x373737,0x363636,0x7F7F7F, - 0xA9A9A9,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3, - 0xA3A3A3,0xA3A3A3,0xACACAC,0x696969,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x3A3A3A,0x383838,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x8A8A8A,0xA5A5A5,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xAEAEAE,0x434343,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0xC6C6C6,0xCBCBCB,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCCCCCC,0xA7A7A7,0x393939,0x636363, - 0x5E5E5E,0x585858,0x535353,0x4F4F4F,0x505050,0x959595,0xCFCFCF,0xC8C8C8, - 0xC8C8C8,0xC8C8C8,0xD2D2D2,0x848484,0x242424,0x272727,0x282828,0x282828, - 0x282828,0x282828,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x636363,0xD1D1D1,0xCBCBCB,0xC9C9C9,0xC9C9C9,0xC8C8C8, - 0xCDCDCD,0xCBCBCB,0x838383,0x2B2B2B,0x282828,0x343434,0x444444,0x535353, - 0x636363,0x636363,0x7F7F7F,0xBABABA,0xC9C9C9,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCACACA,0xA8A8A8,0x2B2B2B,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB6B6B6,0xC9C9C9,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5, - 0xC5C5C5,0xC9C9C9,0xACACAC,0x626262,0x545454,0x515151,0x4F4F4F,0x494949, - 0x414141,0x5C5C5C,0x444444,0x252525,0x2D2D2D,0x141414,0x00FF00,0x202020, - 0x676767,0x979797,0xC8C8C8,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2, - 0xC2C2C2,0xC2C2C2,0xC3C3C3,0xC9C9C9,0x545454,0x1D1D1D,0x4C4C4C,0x6F6F6F, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x707070, - 0xA3A3A3,0xC5C5C5,0xC0C0C0,0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0, - 0xC0C0C0,0xC2C2C2,0xB8B8B8,0x2B2B2B,0x3C3C3C,0x6E6E6E,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x707070,0x3A3A3A,0x212121,0x595959,0x888888, - 0xC8C8C8,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC, - 0xBCBCBC,0xBDBDBD,0xC6C6C6,0x4E4E4E,0x262626,0x343434,0x3B3B3B,0x505050, - 0x676767,0x515151,0x4C4C4C,0x4F4F4F,0x535353,0x606060,0x6B6B6B,0x555555, - 0x3F3F3F,0x383838,0x1A1A1A,0x00FF00,0x00FF00,0x555555,0xAFAFAF,0xBFBFBF, - 0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBCBCBC,0xBEBEBE,0x494949,0x414141, - 0x686868,0x6D6D6D,0x636363,0x555555,0x505050,0x3D3D3D,0x666666,0xC1C1C1, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB8B8B8,0xB7B7B7, - 0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3F3F3F, - 0xC0C0C0,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB7B7B7, - 0xAFAFAF,0x393939,0x313131,0x414141,0x555555,0x626262,0x525252,0x444444, - 0x383838,0x3B3B3B,0x434343,0x535353,0x838383,0xADADAD,0xB0B0B0,0xB2B2B2, - 0x9A9A9A,0x5A5A5A,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828, - 0x363636,0x4D4D4D,0xAEAEAE,0xB2B2B2,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB1B1B1, - 0xB0B0B0,0xB0B0B0,0xB2B2B2,0xAEAEAE,0x232323,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x2C2C2C,0xB5B5B5,0xB2B2B2,0xB6B6B6,0x6F6F6F,0x303030,0x393939, - 0x393939,0x393939,0x3A3A3A,0x3A3A3A,0x3C3C3C,0x414141,0x494949,0x575757, - 0x5D5D5D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x373737,0xB8B8B8, - 0xADADAD,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xAEAEAE,0x9B9B9B, - 0x3C3C3C,0x555555,0x6D6D6D,0x5A5A5A,0x4E4E4E,0x484848,0x414141,0x3B3B3B, - 0x383838,0x323232,0x7A7A7A,0xAFAFAF,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9, - 0xA9A9A9,0xA9A9A9,0xACACAC,0x6A6A6A,0x484848,0x404040,0x373737,0x363636, - 0x393939,0x9C9C9C,0xABABAB,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8, - 0xA8A8A8,0xA7A7A7,0xA8A8A8,0xAAAAAA,0x545454,0x3B3B3B,0x636363,0x5C5C5C, - 0x4C4C4C,0x4D4D4D,0x4F4F4F,0x535353,0x626262,0x707070,0x5D5D5D,0x454545, - 0x181818,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x3B3B3B,0x383838,0x373737,0x373737,0x373737,0x373737,0x323232, - 0x5C5C5C,0xA7A7A7,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xB2B2B2,0x3D3D3D,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x2F2F2F,0x3A3A3A,0x373737,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x313131,0x646464,0xADADAD,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA5A5A5,0x8D8D8D, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x3C3C3C,0xD0D0D0,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xCECECE,0x656565,0x323232, - 0x656565,0x5E5E5E,0x5A5A5A,0x555555,0x535353,0x4F4F4F,0x515151,0xA9A9A9, - 0xCCCCCC,0xC8C8C8,0xC8C8C8,0xCDCDCD,0x4E4E4E,0x202020,0x282828,0x282828, - 0x282828,0x282828,0x282828,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x383838,0x8E8E8E,0xC0C0C0,0xC3C3C3,0xC3C3C3, - 0xC6C6C6,0xA9A9A9,0x616161,0x333333,0x2F2F2F,0x282828,0x333333,0x414141, - 0x565656,0x787878,0x9E9E9E,0xB7B7B7,0xCCCCCC,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xC3C3C3,0x363636,0x2A2A2A, - 0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x3E3E3E,0xCECECE,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC6C6C6, - 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC8C8C8,0xC0C0C0,0x737373,0x515151,0x4F4F4F, - 0x494949,0x424242,0x5C5C5C,0x515151,0x252525,0x2B2B2B,0x00FF00,0x00FF00, - 0x323232,0x6C6C6C,0x9B9B9B,0xC8C8C8,0xC3C3C3,0xC2C2C2,0xC3C3C3,0xC2C2C2, - 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC5C5C5,0xBFBFBF,0x393939,0x222222,0x585858, - 0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x686868, - 0x747474,0xBBBBBB,0xC2C2C2,0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC2C2C2,0xB4B4B4,0x252525,0x474747,0x6F6F6F,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x6F6F6F,0x414141,0x343434,0x5A5A5A, - 0x868686,0xC4C4C4,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD, - 0xBCBCBC,0xBCBCBC,0xC1C1C1,0xA0A0A0,0x313131,0x2B2B2B,0x353535,0x3A3A3A, - 0x535353,0x676767,0x505050,0x4C4C4C,0x4F4F4F,0x535353,0x606060,0x6B6B6B, - 0x545454,0x3F3F3F,0x383838,0x161616,0x00FF00,0x151515,0x474747,0x5B5B5B, - 0xA8A8A8,0xBDBDBD,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xB6B6B6,0x696969,0x2C2C2C, - 0x484848,0x686868,0x6D6D6D,0x636363,0x525252,0x525252,0x626262,0x989898, - 0xBCBCBC,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB8B8B8, - 0xB7B7B7,0xC5C5C5,0x3F3F3F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x3F3F3F,0xC4C4C4,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4, - 0xB7B7B7,0xB0B0B0,0x3B3B3B,0x313131,0x414141,0x626262,0x626262,0x515151, - 0x454545,0x383838,0x3B3B3B,0x454545,0x4D4D4D,0x545454,0x696969,0x7E7E7E, - 0x7C7C7C,0x555555,0x3D3D3D,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x232323,0x393939,0x404040,0xACACAC,0xB3B3B3,0xB1B1B1,0xB1B1B1,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xB6B6B6,0xA1A1A1,0x00FF00,0x00FF00, - 0x00FF00,0x1C1C1C,0xAEAEAE,0xB3B3B3,0xAEAEAE,0xAFAFAF,0xABABAB,0x5C5C5C, - 0x343434,0x393939,0x393939,0x3A3A3A,0x3A3A3A,0x3B3B3B,0x414141,0x494949, - 0x575757,0x626262,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x181818, - 0xA9A9A9,0xAEAEAE,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, - 0xACACAC,0x5C5C5C,0x515151,0x6A6A6A,0x565656,0x4A4A4A,0x434343,0x3D3D3D, - 0x373737,0x343434,0x2D2D2D,0x636363,0xB2B2B2,0xA9A9A9,0xA9A9A9,0xA9A9A9, - 0xA9A9A9,0xA9A9A9,0xA9A9A9,0xAEAEAE,0x8B8B8B,0x474747,0x3D3D3D,0x373737, - 0x373737,0x333333,0x7E7E7E,0xADADAD,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8, - 0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xAFAFAF,0x6C6C6C,0x3D3D3D,0x646464, - 0x595959,0x4C4C4C,0x4D4D4D,0x4F4F4F,0x545454,0x646464,0x707070,0x5A5A5A, - 0x414141,0x141414,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x323232,0x393939,0x373737,0x373737,0x373737,0x373737, - 0x373737,0x363636,0x707070,0xABABAB,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3, - 0xA3A3A3,0xA2A2A2,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA7A7A7,0x8F8F8F,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x1E1E1E,0x3F3F3F,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x353535,0x3A3A3A,0x838383,0xA6A6A6,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA5A5A5,0x848484,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x797979,0xD1D1D1,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xD0D0D0,0x858585,0x212121, - 0x333333,0x636363,0x5E5E5E,0x5A5A5A,0x555555,0x525252,0x525252,0x4D4D4D, - 0x5A5A5A,0xC7C7C7,0xC9C9C9,0xCBCBCB,0xBCBCBC,0x2B2B2B,0x262626,0x282828, - 0x282828,0x282828,0x282828,0x292929,0x232323,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232,0x545454,0x5C5C5C,0x686868, - 0x767676,0x757575,0x555555,0x3D3D3D,0x393939,0x2E2E2E,0x232323,0x323232, - 0x565656,0x969696,0xC1C1C1,0xCDCDCD,0xC9C9C9,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCBCBCB,0xAAAAAA,0x252525, - 0x292929,0x151515,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xBBBBBB,0xC8C8C8, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC5C5C5, - 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC9C9C9,0xC2C2C2,0x626262, - 0x4B4B4B,0x4A4A4A,0x414141,0x5B5B5B,0x464646,0x242424,0x2C2C2C,0x00FF00, - 0x00FF00,0x252525,0x767676,0xB3B3B3,0xC6C6C6,0xC3C3C3,0xC3C3C3,0xC3C3C3, - 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC5C5C5,0xBBBBBB,0x2D2D2D,0x242424, - 0x4C4C4C,0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x686868,0x727272,0xBBBBBB,0xC2C2C2,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC6C6C6,0x969696,0x212121,0x525252,0x6F6F6F, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x6E6E6E,0x515151,0x464646, - 0x585858,0x8C8C8C,0xC4C4C4,0xBEBEBE,0xBDBDBD,0xBEBEBE,0xBDBDBD,0xBDBDBD, - 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC6C6C6,0x717171,0x222222,0x2D2D2D,0x343434, - 0x3B3B3B,0x545454,0x676767,0x505050,0x4C4C4C,0x4F4F4F,0x535353,0x616161, - 0x6B6B6B,0x535353,0x3D3D3D,0x363636,0x202020,0x00FF00,0x161616,0x494949, - 0x4C4C4C,0x545454,0x7B7B7B,0x979797,0x9A9A9A,0x8F8F8F,0x535353,0x3A3A3A, - 0x2E2E2E,0x4B4B4B,0x686868,0x696969,0x686868,0x636363,0x9B9B9B,0xBCBCBC, - 0xBEBEBE,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x484848,0xC2C2C2,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5, - 0xB5B5B5,0xB6B6B6,0xB2B2B2,0x3A3A3A,0x303030,0x404040,0x626262,0x626262, - 0x505050,0x434343,0x383838,0x3C3C3C,0x454545,0x4E4E4E,0x525252,0x5B5B5B, - 0x6C6C6C,0x686868,0x505050,0x404040,0x323232,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x202020,0x3A3A3A,0x3D3D3D,0xA9A9A9,0xB3B3B3,0xB2B2B2,0xB1B1B1, - 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF,0xB3B3B3,0xA2A2A2,0x00FF00, - 0x00FF00,0x00FF00,0x747474,0xBBBBBB,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xB3B3B3, - 0xA8A8A8,0x505050,0x363636,0x393939,0x393939,0x3A3A3A,0x3C3C3C,0x414141, - 0x494949,0x5A5A5A,0x525252,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x404040,0xBBBBBB,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, - 0xACACAC,0xAEAEAE,0xA1A1A1,0x888888,0x979797,0x898989,0x808080,0x7A7A7A, - 0x777777,0x727272,0x707070,0x6A6A6A,0x898989,0xAEAEAE,0xAAAAAA,0xAAAAAA, - 0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xACACAC,0xA0A0A0,0x4B4B4B,0x3D3D3D, - 0x373737,0x373737,0x303030,0x666666,0xB0B0B0,0xA8A8A8,0xA8A8A8,0xA8A8A8, - 0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA8A8A8,0xAAAAAA,0x949494,0x414141, - 0x656565,0x595959,0x4C4C4C,0x4E4E4E,0x4F4F4F,0x555555,0x646464,0x707070, - 0x585858,0x434343,0x141414,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x232323,0x3B3B3B,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x333333,0x505050,0xA6A6A6,0xA5A5A5,0xA3A3A3,0xA3A3A3, - 0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA3A3A3,0xA2A2A2,0xA3A3A3,0xA5A5A5,0xA4A4A4, - 0x1D1D1D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2D2D2D,0x3C3C3C,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x323232,0x494949,0xA4A4A4, - 0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA3A3A3,0xA5A5A5,0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x202020,0xCCCCCC,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xCCCCCC,0x4E4E4E, - 0x1F1F1F,0x303030,0x616161,0x5E5E5E,0x5A5A5A,0x555555,0x535353,0x525252, - 0x505050,0x4C4C4C,0xADADAD,0xCCCCCC,0xD1D1D1,0x848484,0x212121,0x282828, - 0x282828,0x282828,0x282828,0x282828,0x2E2E2E,0x171717,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3F3F3F,0x535353,0x535353, - 0x5B5B5B,0x676767,0x666666,0x535353,0x414141,0x323232,0x323232,0x4C4C4C, - 0x9F9F9F,0xC7C7C7,0xCECECE,0xD1D1D1,0xC3C3C3,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xD1D1D1,0x797979, - 0x202020,0x2A2A2A,0x1B1B1B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA1A1A1, - 0xCCCCCC,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5, - 0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC9C9C9, - 0xADADAD,0x545454,0x474747,0x434343,0x5C5C5C,0x4D4D4D,0x252525,0x2E2E2E, - 0x151515,0x00FF00,0x232323,0x7B7B7B,0xC0C0C0,0xC5C5C5,0xC3C3C3,0xC3C3C3, - 0xC2C2C2,0xC2C2C2,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC7C7C7,0xA7A7A7,0x262626, - 0x232323,0x464646,0x6F6F6F,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x686868,0x787878,0xBCBCBC,0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC8C8C8,0x7C7C7C,0x1F1F1F,0x434343, - 0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x6F6F6F,0x515151, - 0x3F3F3F,0x585858,0x989898,0xC3C3C3,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD, - 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC,0xC8C8C8,0x707070,0x222222,0x2D2D2D, - 0x343434,0x3B3B3B,0x555555,0x666666,0x4F4F4F,0x4C4C4C,0x4F4F4F,0x535353, - 0x606060,0x6B6B6B,0x535353,0x3E3E3E,0x343434,0x2A2A2A,0x00FF00,0x171717, - 0x4A4A4A,0x4F4F4F,0x525252,0x545454,0x626262,0x686868,0x5C5C5C,0x474747, - 0x3D3D3D,0x2E2E2E,0x494949,0x717171,0x8D8D8D,0xA0A0A0,0xB5B5B5,0xBCBCBC, - 0xBCBCBC,0xB7B7B7,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB7B7B7,0xB8B8B8,0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0xA0A0A0,0xBABABA,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5, - 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB8B8B8,0x686868,0x2F2F2F,0x3F3F3F,0x606060, - 0x626262,0x4F4F4F,0x424242,0x383838,0x3C3C3C,0x464646,0x4E4E4E,0x525252, - 0x5D5D5D,0x6E6E6E,0x696969,0x4F4F4F,0x414141,0x242424,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x1C1C1C,0x3A3A3A,0x3A3A3A,0xA9A9A9,0xB3B3B3,0xB1B1B1, - 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xB4B4B4,0xA1A1A1, - 0x00FF00,0x00FF00,0x676767,0xBABABA,0xAFAFAF,0xAFAFAF,0xAEAEAE,0xAFAFAF, - 0xAEAEAE,0xB3B3B3,0xA9A9A9,0x3F3F3F,0x363636,0x3A3A3A,0x3A3A3A,0x3C3C3C, - 0x414141,0x494949,0x5A5A5A,0x535353,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x2B2B2B,0xB3B3B3,0xADADAD,0xACACAC,0xADADAD,0xACACAC,0xACACAC, - 0xACACAC,0xACACAC,0xACACAC,0xADADAD,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAFAFAF, - 0xB0B0B0,0xB0B0B0,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xAEAEAE,0xA9A9A9,0xAAAAAA, - 0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xAAAAAA,0x676767, - 0x3A3A3A,0x373737,0x373737,0x333333,0x515151,0xA9A9A9,0xA8A8A8,0xA8A8A8, - 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA8A8A8,0xA7A7A7,0xACACAC,0x848484, - 0x444444,0x666666,0x555555,0x4C4C4C,0x4E4E4E,0x4F4F4F,0x565656,0x666666, - 0x707070,0x555555,0x424242,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x151515,0x3C3C3C,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x363636,0x3B3B3B,0x9C9C9C,0xA6A6A6,0xA3A3A3, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA3A3A3,0xA2A2A2, - 0xB2B2B2,0x464646,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3C3C3C, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x383838, - 0x8F8F8F,0xA5A5A5,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xACACAC,0x676767,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x858585,0xD2D2D2,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xBBBBBB, - 0x2A2A2A,0x252525,0x303030,0x606060,0x5E5E5E,0x5A5A5A,0x555555,0x535353, - 0x525252,0x4F4F4F,0x505050,0xBCBCBC,0xCCCCCC,0xC9C9C9,0x4A4A4A,0x222222, - 0x282828,0x282828,0x282828,0x282828,0x282828,0x2B2B2B,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636,0x555555, - 0x555555,0x5C5C5C,0x686868,0x676767,0x4F4F4F,0x444444,0x5C5C5C,0xAEAEAE, - 0xCCCCCC,0xCFCFCF,0xCECECE,0xC2C2C2,0x7A7A7A,0x828282,0xCACACA,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCDCDCD, - 0x545454,0x212121,0x2A2A2A,0x161616,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x606060,0xCCCCCC,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6, - 0xC5C5C5,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5, - 0xC5C5C5,0xCBCBCB,0xA7A7A7,0x4E4E4E,0x414141,0x575757,0x4F4F4F,0x252525, - 0x2B2B2B,0x00FF00,0x00FF00,0x2B2B2B,0x808080,0xC1C1C1,0xC5C5C5,0xC3C3C3, - 0xC3C3C3,0xC2C2C2,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xCBCBCB,0x7D7D7D, - 0x222222,0x252525,0x565656,0x6E6E6E,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x666666,0x8D8D8D,0xC2C2C2,0xC1C1C1,0xC0C0C0,0xC1C1C1, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC9C9C9,0x6C6C6C,0x1D1D1D, - 0x3A3A3A,0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x707070, - 0x454545,0x1D1D1D,0x5D5D5D,0xADADAD,0xC0C0C0,0xBDBDBD,0xBDBDBD,0xBDBDBD, - 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBFBFBF,0xBCBCBC,0x424242,0x262626, - 0x2D2D2D,0x353535,0x3B3B3B,0x545454,0x676767,0x505050,0x4C4C4C,0x4F4F4F, - 0x545454,0x616161,0x6B6B6B,0x525252,0x3E3E3E,0x343434,0x262626,0x00FF00, - 0x191919,0x4A4A4A,0x4F4F4F,0x525252,0x595959,0x676767,0x6D6D6D,0x606060, - 0x484848,0x3B3B3B,0x292929,0x565656,0xA7A7A7,0xBCBCBC,0xBCBCBC,0xBBBBBB, - 0xC2C2C2,0x898989,0x777777,0xBFBFBF,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB7B7B7,0xB7B7B7,0xB7B7B7,0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0xA9A9A9,0xB9B9B9,0xB5B5B5,0xB5B5B5,0xB5B5B5, - 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xBABABA,0x979797,0x303030,0x3E3E3E, - 0x5D5D5D,0x616161,0x4F4F4F,0x444444,0x383838,0x3C3C3C,0x474747,0x4E4E4E, - 0x525252,0x5D5D5D,0x6D6D6D,0x696969,0x4F4F4F,0x414141,0x262626,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x181818,0x3A3A3A,0x373737,0xA0A0A0,0xB4B4B4, - 0xB2B2B2,0xB2B2B2,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB4B4B4, - 0x9C9C9C,0x00FF00,0x919191,0xB8B8B8,0xAFAFAF,0xAFAFAF,0xAFAFAF,0xAFAFAF, - 0xAFAFAF,0xAFAFAF,0xAEAEAE,0xB5B5B5,0x7B7B7B,0x353535,0x393939,0x3A3A3A, - 0x3C3C3C,0x424242,0x4B4B4B,0x5A5A5A,0x5E5E5E,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x252525,0xADADAD,0xAEAEAE,0xACACAC,0xADADAD,0xADADAD, - 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xADADAD,0xAEAEAE,0xAEAEAE, - 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD,0xADADAD,0xADADAD, - 0xADADAD,0xADADAD,0xACACAC,0xADADAD,0xACACAC,0xACACAC,0xACACAC,0xAFAFAF, - 0x9D9D9D,0x3B3B3B,0x363636,0x373737,0x353535,0x404040,0xA3A3A3,0xA9A9A9, - 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA8A8A8,0xA7A7A7,0xACACAC, - 0x7F7F7F,0x464646,0x686868,0x555555,0x4C4C4C,0x4D4D4D,0x4F4F4F,0x565656, - 0x686868,0x6F6F6F,0x535353,0x3F3F3F,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232,0x3B3B3B, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x353535,0x787878,0xA9A9A9, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA3A3A3, - 0xA2A2A2,0xA6A6A6,0x929292,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x343434,0x393939,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x313131,0x676767,0xA8A8A8,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA3A3A3,0x9B9B9B,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x484848,0xD3D3D3,0xC6C6C6,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xD2D2D2, - 0x787878,0x202020,0x262626,0x303030,0x626262,0x606060,0x5A5A5A,0x555555, - 0x535353,0x525252,0x4F4F4F,0x535353,0xC2C2C2,0xD2D2D2,0x686868,0x1F1F1F, - 0x282828,0x282828,0x282828,0x282828,0x282828,0x292929,0x252525,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x333333, - 0x555555,0x545454,0x5B5B5B,0x626262,0x727272,0x909090,0xACACAC,0xCBCBCB, - 0xCDCDCD,0xCDCDCD,0xCBCBCB,0xA5A5A5,0x4F4F4F,0x343434,0x959595,0xCECECE, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9, - 0xC2C2C2,0x323232,0x252525,0x2A2A2A,0x1C1C1C,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x404040,0xC1C1C1,0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5, - 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xCDCDCD,0x8E8E8E,0x3B3B3B,0x5B5B5B,0x454545, - 0x252525,0x292929,0x00FF00,0x00FF00,0x181818,0xAEAEAE,0xC7C7C7,0xC3C3C3, - 0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xCDCDCD, - 0x6B6B6B,0x202020,0x252525,0x464646,0x6E6E6E,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x646464,0x999999,0xC6C6C6,0xC1C1C1,0xC1C1C1, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC9C9C9,0x626262, - 0x1D1D1D,0x444444,0x6F6F6F,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x707070,0x3B3B3B,0x212121,0x686868,0xB8B8B8,0xC0C0C0,0xBEBEBE,0xBEBEBE, - 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC0C0C0,0xAEAEAE,0x272727, - 0x292929,0x2E2E2E,0x353535,0x3B3B3B,0x4D4D4D,0x686868,0x505050,0x4C4C4C, - 0x4F4F4F,0x545454,0x616161,0x6B6B6B,0x515151,0x3E3E3E,0x353535,0x252525, - 0x00FF00,0x1C1C1C,0x4B4B4B,0x4F4F4F,0x525252,0x595959,0x676767,0x6D6D6D, - 0x5E5E5E,0x424242,0x404040,0x727272,0xB3B3B3,0xBCBCBC,0xB9B9B9,0xBDBDBD, - 0xB6B6B6,0x6F6F6F,0x393939,0x6F6F6F,0xC0C0C0,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7,0xC5C5C5,0x404040,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA6A6A6,0xBABABA,0xB5B5B5,0xB5B5B5, - 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB9B9B9,0x9A9A9A,0x323232, - 0x3D3D3D,0x5C5C5C,0x616161,0x4F4F4F,0x434343,0x383838,0x3D3D3D,0x484848, - 0x4F4F4F,0x525252,0x5D5D5D,0x6D6D6D,0x686868,0x4F4F4F,0x404040,0x292929, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x151515,0x3C3C3C,0x343434,0x8C8C8C, - 0xB6B6B6,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0, - 0xB3B3B3,0x939393,0x4A4A4A,0xB9B9B9,0xAFAFAF,0xAFAFAF,0xAFAFAF,0xAFAFAF, - 0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAFAFAF,0xB1B1B1,0x7C7C7C,0x353535, - 0x3A3A3A,0x3C3C3C,0x414141,0x4B4B4B,0x606060,0x4B4B4B,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0xACACAC,0xAEAEAE,0xACACAC,0xACACAC, - 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xADADAD,0x9B9B9B,0x8D8D8D, - 0x919191,0x919191,0x909090,0x909090,0x909090,0x909090,0x909090,0x909090, - 0x909090,0x909090,0x909090,0x909090,0x909090,0x909090,0x909090,0x909090, - 0x919191,0x838383,0x3A3A3A,0x363636,0x373737,0x373737,0x383838,0x9A9A9A, - 0xACACAC,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA8A8A8,0xA7A7A7, - 0xA9A9A9,0x9F9F9F,0x515151,0x686868,0x545454,0x4C4C4C,0x4E4E4E,0x505050, - 0x585858,0x696969,0x6E6E6E,0x515151,0x3C3C3C,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x3A3A3A,0x373737,0x373737,0x373737,0x373737,0x373737,0x323232,0x5A5A5A, - 0xACACAC,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA9A9A9,0x5E5E5E,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x242424,0x3D3D3D,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x373737,0x343434,0x464646,0xA5A5A5,0xA3A3A3,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0x898989, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xAEAEAE,0xCBCBCB,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9, - 0xC5C5C5,0x3D3D3D,0x222222,0x272727,0x2C2C2C,0x5B5B5B,0x616161,0x5A5A5A, - 0x555555,0x535353,0x525252,0x4F4F4F,0x565656,0xAFAFAF,0xB2B2B2,0x353535, - 0x242424,0x282828,0x282828,0x282828,0x282828,0x282828,0x2E2E2E,0x191919, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x323232,0x545454,0x4F4F4F,0x656565,0x9D9D9D,0xB6B6B6,0xCFCFCF,0xCCCCCC, - 0xC9C9C9,0xCECECE,0xB0B0B0,0x585858,0x3B3B3B,0x3A3A3A,0x4F4F4F,0xC0C0C0, - 0xC9C9C9,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xCCCCCC,0xAAAAAA,0x252525,0x272727,0x2A2A2A,0x181818,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x363636,0x737373,0xC9C9C9,0xC7C7C7,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC5C5C5, - 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC7C7C7,0xB5B5B5,0x4F4F4F,0x555555, - 0x535353,0x262626,0x232323,0x00FF00,0x00FF00,0x262626,0xC8C8C8,0xC5C5C5, - 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC3C3C3,0xC2C2C2,0xC2C2C2, - 0xCDCDCD,0x515151,0x202020,0x242424,0x414141,0x6F6F6F,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x646464,0x969696,0xC6C6C6,0xC1C1C1, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC1C1C1,0xC3C3C3, - 0x4A4A4A,0x1E1E1E,0x4E4E4E,0x6F6F6F,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x6F6F6F,0x3A3A3A,0x232323,0x505050,0xB4B4B4,0xC0C0C0,0xBFBFBF, - 0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC3C3C3,0x949494, - 0x262626,0x292929,0x2E2E2E,0x353535,0x3B3B3B,0x4F4F4F,0x676767,0x505050, - 0x4C4C4C,0x505050,0x545454,0x626262,0x6A6A6A,0x515151,0x3E3E3E,0x353535, - 0x232323,0x00FF00,0x1A1A1A,0x4D4D4D,0x4F4F4F,0x515151,0x5A5A5A,0x686868, - 0x6A6A6A,0x636363,0x707070,0xA1A1A1,0xC2C2C2,0xBBBBBB,0xB9B9B9,0xBFBFBF, - 0xAEAEAE,0x515151,0x353535,0x393939,0x737373,0xC0C0C0,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7,0xC5C5C5,0x404040, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA8A8A8,0xB9B9B9,0xB5B5B5, - 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB7B7B7,0xACACAC, - 0x3C3C3C,0x3E3E3E,0x606060,0x656565,0x545454,0x424242,0x373737,0x3D3D3D, - 0x484848,0x4F4F4F,0x525252,0x5E5E5E,0x6E6E6E,0x676767,0x4D4D4D,0x3F3F3F, - 0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3A3A3A,0x343434, - 0x7F7F7F,0xB8B8B8,0xB1B1B1,0xB0B0B0,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0, - 0xAFAFAF,0xB0B0B0,0xAEAEAE,0xACACAC,0xB1B1B1,0xAFAFAF,0xAFAFAF,0xAFAFAF, - 0xAFAFAF,0xAFAFAF,0xAFAFAF,0xAEAEAE,0xAFAFAF,0xAEAEAE,0xAFAFAF,0xB3B3B3, - 0x5B5B5B,0x393939,0x3D3D3D,0x434343,0x4F4F4F,0x676767,0x434343,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x141414,0x9E9E9E,0xAFAFAF,0xADADAD, - 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xADADAD,0x9C9C9C, - 0x747474,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6E6E6E,0x595959,0x393939,0x363636,0x373737,0x373737,0x343434, - 0x555555,0xA8A8A8,0xA9A9A9,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7, - 0xA7A7A7,0xA8A8A8,0xA7A7A7,0x707070,0x707070,0x515151,0x4C4C4C,0x4E4E4E, - 0x505050,0x595959,0x6A6A6A,0x6B6B6B,0x4F4F4F,0x363636,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x323232,0x393939,0x373737,0x373737,0x373737,0x373737,0x363636, - 0x3A3A3A,0x7F7F7F,0xA8A8A8,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3, - 0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA6A6A6,0x9F9F9F,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x3D3D3D,0x383838,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x656565,0xA2A2A2,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xAEAEAE,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1E1E1E,0xC7C7C7,0xC8C8C8,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xCDCDCD,0x525252,0x202020,0x282828,0x272727,0x292929,0x585858,0x626262, - 0x5A5A5A,0x565656,0x535353,0x525252,0x4B4B4B,0x7B7B7B,0xBFBFBF,0x8F8F8F, - 0x252525,0x272727,0x282828,0x282828,0x282828,0x282828,0x282828,0x2B2B2B, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x252525,0x595959,0x7F7F7F,0xB4B4B4,0xCECECE,0xC9C9C9,0xC8C8C8, - 0xC9C9C9,0xCFCFCF,0x979797,0x3C3C3C,0x373737,0x3F3F3F,0x404040,0xA0A0A0, - 0xCCCCCC,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xCECECE,0x707070,0x212121,0x282828,0x292929,0x1E1E1E,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x3A3A3A,0x494949,0x7F7F7F,0xCCCCCC,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC6C6C6,0xC5C5C5, - 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xCCCCCC,0x848484, - 0x525252,0x4C4C4C,0x262626,0x1C1C1C,0x00FF00,0x00FF00,0x393939,0xCCCCCC, - 0xC4C4C4,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC3C3C3,0xC2C2C2,0xC2C2C2, - 0xC8C8C8,0x989898,0x2B2B2B,0x252525,0x242424,0x505050,0x6F6F6F,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x767676,0xAEAEAE,0xC3C3C3, - 0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC1C1C1, - 0xBDBDBD,0x3A3A3A,0x212121,0x4F4F4F,0x6F6F6F,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x6F6F6F,0x474747,0x00FF00,0x252525,0xC0C0C0,0xC0C0C0, - 0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC5C5C5, - 0x7F7F7F,0x232323,0x292929,0x2E2E2E,0x353535,0x3C3C3C,0x515151,0x676767, - 0x4F4F4F,0x4C4C4C,0x505050,0x545454,0x636363,0x6A6A6A,0x515151,0x3E3E3E, - 0x363636,0x212121,0x00FF00,0x00FF00,0x464646,0x4F4F4F,0x525252,0x595959, - 0x6B6B6B,0x898989,0xA2A2A2,0xBBBBBB,0xBFBFBF,0xB9B9B9,0xB9B9B9,0xBFBFBF, - 0xA3A3A3,0x434343,0x373737,0x404040,0x3A3A3A,0x727272,0xC0C0C0,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB8B8B8,0xC6C6C6, - 0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA8A8A8,0xBABABA, - 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB5B5B5, - 0xBCBCBC,0x6C6C6C,0x202020,0x202020,0x222222,0x2A2A2A,0x434343,0x393939, - 0x3D3D3D,0x484848,0x4F4F4F,0x525252,0x606060,0x6E6E6E,0x666666,0x4C4C4C, - 0x3D3D3D,0x2E2E2E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x393939, - 0x333333,0x737373,0xB9B9B9,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB2B2B2,0xB0B0B0,0xB6B6B6,0xB0B0B0, - 0xAFAFAF,0xAFAFAF,0xAFAFAF,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE, - 0xB0B0B0,0xAEAEAE,0x4F4F4F,0x3C3C3C,0x3E3E3E,0x262626,0x232323,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1F1F1F,0x838383,0xB2B2B2, - 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, - 0xACACAC,0x848484,0x6C6C6C,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x717171,0x5D5D5D,0x393939,0x363636,0x373737,0x373737, - 0x373737,0x353535,0x959595,0xACACAC,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA8A8A8, - 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA9A9A9,0xA6A6A6,0x737373,0x505050,0x4C4C4C, - 0x4E4E4E,0x505050,0x5A5A5A,0x6B6B6B,0x6B6B6B,0x4E4E4E,0x383838,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x242424,0x3B3B3B,0x373737,0x373737,0x373737,0x373737, - 0x373737,0x333333,0x484848,0xA5A5A5,0xA5A5A5,0xA3A3A3,0xA3A3A3,0xA3A3A3, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xAEAEAE,0x333333, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323,0x3C3C3C,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x363636,0x353535,0x939393,0xA5A5A5, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA9A9A9,0x636363,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1F1F1F,0x959595,0xD0D0D0,0xC6C6C6, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8, - 0xC9C9C9,0xBDBDBD,0x2B2B2B,0x252525,0x282828,0x272727,0x292929,0x585858, - 0x616161,0x5A5A5A,0x565656,0x535353,0x525252,0x4A4A4A,0x7E7E7E,0xC5C5C5, - 0x5E5E5E,0x202020,0x282828,0x282828,0x282828,0x282828,0x282828,0x2D2D2D, - 0x141414,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x707070,0xB0B0B0,0xCCCCCC,0xCBCBCB,0xC8C8C8,0xC8C8C8, - 0xCBCBCB,0xC6C6C6,0x656565,0x343434,0x393939,0x3D3D3D,0x3D3D3D,0x484848, - 0xC0C0C0,0xC9C9C9,0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xCDCDCD,0x9C9C9C,0x252525,0x272727,0x282828,0x2A2A2A,0x1A1A1A, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x343434,0x4E4E4E,0x4B4B4B,0xA0A0A0, - 0xCDCDCD,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5, - 0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC8C8C8, - 0xA5A5A5,0x575757,0x4B4B4B,0x2B2B2B,0x151515,0x00FF00,0x00FF00,0x414141, - 0xD3D3D3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2, - 0xC2C2C2,0xCDCDCD,0x626262,0x1F1F1F,0x282828,0x252525,0x565656,0x737373, - 0x707070,0x707070,0x707070,0x707070,0x707070,0x696969,0x979797,0xC7C7C7, - 0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0, - 0xC2C2C2,0xB9B9B9,0x303030,0x222222,0x3A3A3A,0x747474,0x707070,0x707070, - 0x707070,0x707070,0x707070,0x787878,0x494949,0x00FF00,0x464646,0xCCCCCC, - 0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC, - 0xC6C6C6,0x727272,0x232323,0x2A2A2A,0x2E2E2E,0x353535,0x3C3C3C,0x535353, - 0x666666,0x4F4F4F,0x4D4D4D,0x4F4F4F,0x555555,0x636363,0x6A6A6A,0x515151, - 0x3E3E3E,0x363636,0x1F1F1F,0x00FF00,0x00FF00,0x464646,0x4F4F4F,0x505050, - 0x606060,0x8B8B8B,0xBBBBBB,0xBFBFBF,0xBABABA,0xBABABA,0xB9B9B9,0xBFBFBF, - 0xA7A7A7,0x3D3D3D,0x363636,0x3C3C3C,0x3F3F3F,0x3A3A3A,0x737373,0xC0C0C0, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA5A5A5, - 0xB9B9B9,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5, - 0xB4B4B4,0xC1C1C1,0x575757,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x292929, - 0x3D3D3D,0x3E3E3E,0x484848,0x4F4F4F,0x535353,0x616161,0x6E6E6E,0x656565, - 0x4B4B4B,0x3F3F3F,0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x373737,0x323232,0x6B6B6B,0xB9B9B9,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB1B1B1,0xAEAEAE,0x747474, - 0xA9A9A9,0xB1B1B1,0xAFAFAF,0xAFAFAF,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE, - 0xAEAEAE,0xAEAEAE,0xB2B2B2,0xA1A1A1,0x333333,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x181818,0x6F6F6F, - 0xB4B4B4,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, - 0xACACAC,0xAEAEAE,0x8E8E8E,0x696969,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x727272,0x4F4F4F,0x363636,0x373737,0x373737, - 0x373737,0x373737,0x323232,0x777777,0xAFAFAF,0xA8A8A8,0xA8A8A8,0xA7A7A7, - 0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xAAAAAA,0x828282,0x4E4E4E, - 0x4C4C4C,0x4E4E4E,0x515151,0x5B5B5B,0x6C6C6C,0x696969,0x4D4D4D,0x343434, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x151515,0x3C3C3C,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x3A3A3A,0x949494,0xA6A6A6,0xA3A3A3,0xA3A3A3, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA3A3A3,0xA2A2A2,0xACACAC, - 0x656565,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x383838,0x383838, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x323232,0x6A6A6A, - 0xA8A8A8,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA3A3A3,0x9B9B9B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x535353,0xDADADA,0xC6C6C6, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xD1D1D1,0x808080,0x212121,0x282828,0x282828,0x272727,0x292929, - 0x585858,0x626262,0x5A5A5A,0x565656,0x535353,0x525252,0x4B4B4B,0x858585, - 0xBABABA,0x353535,0x242424,0x282828,0x282828,0x282828,0x282828,0x282828, - 0x2A2A2A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x292929,0xBBBBBB,0xCECECE,0xCCCCCC,0xC8C8C8,0xC8C8C8,0xC8C8C8, - 0xCBCBCB,0xCDCDCD,0x5C5C5C,0x2E2E2E,0x393939,0x3B3B3B,0x3D3D3D,0x393939, - 0x6A6A6A,0xCBCBCB,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xD2D2D2,0x717171,0x202020,0x282828,0x282828,0x292929, - 0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x353535,0x4E4E4E,0x4B4B4B, - 0x4F4F4F,0xA8A8A8,0xCCCCCC,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5, - 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5, - 0xC8C8C8,0xA9A9A9,0x585858,0x545454,0x292929,0x00FF00,0x00FF00,0x00FF00, - 0x797979,0xCDCDCD,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC2C2C2, - 0xC2C2C2,0xC3C3C3,0xC7C7C7,0x4A4A4A,0x222222,0x282828,0x2B2B2B,0x262626, - 0x252525,0x252525,0x252525,0x252525,0x252525,0x252525,0x232323,0x696969, - 0xCBCBCB,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0, - 0xC0C0C0,0xC2C2C2,0xB7B7B7,0x2A2A2A,0x292929,0x272727,0x262626,0x252525, - 0x252525,0x252525,0x252525,0x252525,0x282828,0x181818,0x00FF00,0x434343, - 0xCCCCCC,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD, - 0xBCBCBC,0xC7C7C7,0x686868,0x222222,0x292929,0x2F2F2F,0x353535,0x3C3C3C, - 0x555555,0x666666,0x4F4F4F,0x4D4D4D,0x4F4F4F,0x555555,0x636363,0x6A6A6A, - 0x505050,0x3E3E3E,0x353535,0x1D1D1D,0x00FF00,0x00FF00,0x484848,0x4D4D4D, - 0x595959,0xA3A3A3,0xBDBDBD,0xBBBBBB,0xBABABA,0xB9B9B9,0xB9B9B9,0xBBBBBB, - 0xB8B8B8,0x585858,0x343434,0x3C3C3C,0x3C3C3C,0x3F3F3F,0x3A3A3A,0x767676, - 0xC0C0C0,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0xADADAD,0xB9B9B9,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5, - 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB8B8B8,0x373737,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x3A3A3A,0x3F3F3F,0x484848,0x4F4F4F,0x535353,0x626262,0x6E6E6E, - 0x646464,0x4A4A4A,0x404040,0x1B1B1B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x363636,0x313131,0x696969,0xBABABA,0xB1B1B1,0xB1B1B1,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xB7B7B7,0x828282, - 0x343434,0x717171,0xB8B8B8,0xAFAFAF,0xAFAFAF,0xAEAEAE,0xAFAFAF,0xAEAEAE, - 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xB9B9B9,0x696969,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x242424, - 0x3A3A3A,0x9C9C9C,0xAFAFAF,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, - 0xACACAC,0xACACAC,0xADADAD,0xA1A1A1,0x7A7A7A,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x777777,0x363636,0x222222,0x3A3A3A, - 0x373737,0x373737,0x373737,0x303030,0x656565,0xB0B0B0,0xA8A8A8,0xA8A8A8, - 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xACACAC,0x858585, - 0x4C4C4C,0x4C4C4C,0x4E4E4E,0x515151,0x5C5C5C,0x6E6E6E,0x676767,0x4A4A4A, - 0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x383838,0x383838,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x313131,0x707070,0xAAAAAA,0xA3A3A3, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, - 0xA4A4A4,0xA8A8A8,0x212121,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2A2A2A, - 0x3A3A3A,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x343434, - 0x494949,0xA5A5A5,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0x898989,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xADADAD,0xCBCBCB, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC8C8C8,0xCFCFCF,0x4B4B4B,0x212121,0x282828,0x282828,0x272727, - 0x282828,0x575757,0x626262,0x5A5A5A,0x565656,0x535353,0x515151,0x525252, - 0xACACAC,0x5B5B5B,0x242424,0x282828,0x282828,0x282828,0x282828,0x282828, - 0x2A2A2A,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x787878,0xCECECE,0xCECECE,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8, - 0xCBCBCB,0xC9C9C9,0x535353,0x303030,0x373737,0x3A3A3A,0x3A3A3A,0x3D3D3D, - 0x383838,0x8B8B8B,0xD0D0D0,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC9C9C9,0x484848,0x222222,0x282828,0x282828, - 0x2A2A2A,0x1B1B1B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x303030,0x4F4F4F, - 0x4D4D4D,0x4B4B4B,0x535353,0xB5B5B5,0xCECECE,0xC6C6C6,0xC5C5C5,0xC5C5C5, - 0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5, - 0xC5C5C5,0xC7C7C7,0xBBBBBB,0x656565,0x484848,0x262626,0x00FF00,0x00FF00, - 0x00FF00,0xBABABA,0xC6C6C6,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2, - 0xC2C2C2,0xC3C3C3,0xC5C5C5,0xBFBFBF,0x373737,0x252525,0x282828,0x2F2F2F, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0xA5A5A5,0xC6C6C6,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC6C6C6,0x8F8F8F,0x242424,0x2E2E2E,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x424242,0xCCCCCC,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xBEBEBE,0xBDBDBD,0xBDBDBD, - 0xBDBDBD,0xBDBDBD,0xC8C8C8,0x636363,0x222222,0x292929,0x2F2F2F,0x353535, - 0x3B3B3B,0x575757,0x686868,0x4F4F4F,0x4D4D4D,0x4F4F4F,0x545454,0x636363, - 0x6A6A6A,0x4F4F4F,0x3D3D3D,0x363636,0x1C1C1C,0x00FF00,0x00FF00,0x474747, - 0x5C5C5C,0xA8A8A8,0xC0C0C0,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, - 0xC3C3C3,0x727272,0x2E2E2E,0x3A3A3A,0x3B3B3B,0x3D3D3D,0x3F3F3F,0x3A3A3A, - 0x777777,0xC0C0C0,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7, - 0xB8B8B8,0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x6D6D6D,0xBBBBBB,0xB6B6B6,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5, - 0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xC0C0C0,0x717171,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x343434,0x404040,0x484848,0x4F4F4F,0x545454,0x626262, - 0x6F6F6F,0x646464,0x4B4B4B,0x404040,0x1F1F1F,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x333333,0x323232,0x5E5E5E,0xB8B8B8,0xB2B2B2,0xB1B1B1, - 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB4B4B4,0x8B8B8B, - 0x363636,0x3B3B3B,0x464646,0x797979,0xB4B4B4,0xAFAFAF,0xAEAEAE,0xAEAEAE, - 0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xB3B3B3,0xA5A5A5, - 0x1C1C1C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x2B2B2B,0x343434,0x7F7F7F,0xB2B2B2,0xACACAC,0xACACAC,0xACACAC,0xACACAC, - 0xACACAC,0xACACAC,0xACACAC,0xABABAB,0xAEAEAE,0x8A8A8A,0x6B6B6B,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x767676,0x282828,0x171717, - 0x3C3C3C,0x373737,0x373737,0x373737,0x343434,0x4D4D4D,0xA8A8A8,0xA9A9A9, - 0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xAAAAAA, - 0x909090,0x525252,0x4C4C4C,0x4E4E4E,0x525252,0x5D5D5D,0x6E6E6E,0x666666, - 0x494949,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828,0x3C3C3C, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x323232,0x545454,0xA8A8A8, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA3A3A3, - 0xA3A3A3,0xA2A2A2,0xA8A8A8,0x939393,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x181818,0x3D3D3D,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x848484,0xA5A5A5,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xAEAEAE,0x323232, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x202020,0xC7C7C7, - 0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC8C8C8,0xCCCCCC,0xA1A1A1,0x272727,0x272727,0x282828,0x282828, - 0x272727,0x282828,0x575757,0x636363,0x5A5A5A,0x565656,0x545454,0x4F4F4F, - 0x6C6C6C,0x9B9B9B,0x272727,0x262626,0x282828,0x282828,0x282828,0x282828, - 0x282828,0x2E2E2E,0x151515,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x1B1B1B,0x8A8A8A,0xD2D2D2,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8, - 0xC9C9C9,0xCECECE,0x606060,0x2C2C2C,0x343434,0x373737,0x3A3A3A,0x3B3B3B, - 0x3C3C3C,0x404040,0xB0B0B0,0xCBCBCB,0xC7C7C7,0xC8C8C8,0xC8C8C8,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xBFBFBF,0x2E2E2E,0x252525,0x282828, - 0x282828,0x292929,0x222222,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232, - 0x4F4F4F,0x4D4D4D,0x4E4E4E,0x4A4A4A,0x5A5A5A,0xA8A8A8,0xCBCBCB,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5, - 0xC5C5C5,0xC5C5C5,0xC6C6C6,0xC0C0C0,0x6E6E6E,0x525252,0x232323,0x00FF00, - 0x00FF00,0x00FF00,0xB0B0B0,0xC7C7C7,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3, - 0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC5C5C5,0xB9B9B9,0x2C2C2C,0x262626,0x292929, - 0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0xB1B1B1,0xC5C5C5,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC2C2C2,0xBCBCBC,0x373737,0x252525,0x2C2C2C,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x484848,0xCBCBCB,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBDBDBD,0xBDBDBD, - 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC8C8C8,0x5D5D5D,0x222222,0x2A2A2A,0x2E2E2E, - 0x353535,0x404040,0x585858,0x575757,0x545454,0x4E4E4E,0x4F4F4F,0x545454, - 0x636363,0x6A6A6A,0x4F4F4F,0x3C3C3C,0x383838,0x171717,0x00FF00,0x00FF00, - 0x525252,0xB0B0B0,0xC0C0C0,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, - 0xC0C0C0,0x8D8D8D,0x323232,0x353535,0x3A3A3A,0x3B3B3B,0x3D3D3D,0x3F3F3F, - 0x3A3A3A,0x777777,0xC0C0C0,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x3B3B3B,0xBCBCBC,0xB6B6B6,0xB5B5B5,0xB5B5B5,0xB5B5B5, - 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB8B8B8,0xABABAB,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x1D1D1D,0x434343,0x494949,0x4F4F4F,0x545454, - 0x636363,0x6E6E6E,0x636363,0x4A4A4A,0x3F3F3F,0x212121,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x2F2F2F,0x343434,0x4F4F4F,0xB2B2B2,0xB2B2B2, - 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF,0xB8B8B8, - 0x747474,0x323232,0x414141,0x444444,0x494949,0x9A9A9A,0xB4B4B4,0xAEAEAE, - 0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE, - 0xBCBCBC,0x707070,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x202020,0x353535,0x707070,0xB5B5B5,0xACACAC,0xACACAC,0xACACAC, - 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xABABAB,0xADADAD,0xA0A0A0,0x777777, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x777777,0x2F2F2F, - 0x00FF00,0x2E2E2E,0x393939,0x373737,0x373737,0x363636,0x3C3C3C,0xA1A1A1, - 0xA9A9A9,0xA7A7A7,0xA7A7A7,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7, - 0xA8A8A8,0xA1A1A1,0x565656,0x4D4D4D,0x4F4F4F,0x525252,0x5F5F5F,0x6E6E6E, - 0x646464,0x484848,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x333333,0x383838,0x373737,0x373737,0x373737,0x373737,0x363636,0x3B3B3B, - 0x939393,0xA6A6A6,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA4A4A4,0xA4A4A4,0x1D1D1D,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x333333,0x3B3B3B,0x373737,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x353535,0x3A3A3A,0x979797,0xA3A3A3,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xAAAAAA, - 0x616161,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x7F7F7F, - 0xD1D1D1,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC9C9C9,0xBFBFBF,0x2E2E2E,0x252525,0x282828,0x282828, - 0x282828,0x282828,0x252525,0x4C4C4C,0x646464,0x5A5A5A,0x565656,0x535353, - 0x515151,0x585858,0x5F5F5F,0x2C2C2C,0x262626,0x282828,0x282828,0x282828, - 0x282828,0x282828,0x2C2C2C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x8B8B8B,0xDADADA,0xC8C8C8,0xC8C8C8,0xC9C9C9,0xC8C8C8,0xC8C8C8, - 0xC9C9C9,0xCACACA,0x797979,0x282828,0x323232,0x343434,0x373737,0x3A3A3A, - 0x3B3B3B,0x3A3A3A,0x4D4D4D,0xC5C5C5,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCDCDCD,0x9B9B9B,0x232323,0x282828, - 0x282828,0x282828,0x292929,0x191919,0x3F3F3F,0x424242,0x00FF00,0x00FF00, - 0x2E2E2E,0x4F4F4F,0x4D4D4D,0x4F4F4F,0x4F4F4F,0x4B4B4B,0x4E4E4E,0xA3A3A3, - 0xCCCCCC,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5, - 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC6C6C6,0xBEBEBE,0x686868,0x525252,0x1A1A1A, - 0x00FF00,0x00FF00,0x232323,0xC3C3C3,0xC6C6C6,0xC3C3C3,0xC3C3C3,0xC3C3C3, - 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC8C8C8,0x9B9B9B,0x242424,0x272727, - 0x2E2E2E,0x161616,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0xADADAD,0xC5C5C5,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0, - 0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC2C2C2,0xB8B8B8,0x2E2E2E,0x272727,0x2B2B2B, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0xA6A6A6,0xC3C3C3,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD, - 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBEBEBE,0xC1C1C1,0x4A4A4A,0x222222,0x2A2A2A, - 0x2E2E2E,0x3C3C3C,0x303030,0x191919,0x00FF00,0x242424,0x4D4D4D,0x525252, - 0x555555,0x636363,0x6A6A6A,0x4F4F4F,0x3D3D3D,0x2F2F2F,0x00FF00,0x00FF00, - 0x151515,0x9E9E9E,0xC1C1C1,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, - 0xBABABA,0xC2C2C2,0x5C5C5C,0x2C2C2C,0x373737,0x3A3A3A,0x3B3B3B,0x3D3D3D, - 0x3F3F3F,0x3A3A3A,0x797979,0xBFBFBF,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x434343,0xBDBDBD,0xB6B6B6,0xB5B5B5,0xB5B5B5, - 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB5B5B5,0xB3B3B3, - 0x202020,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0x444444,0x494949,0x4F4F4F, - 0x545454,0x646464,0x6E6E6E,0x626262,0x494949,0x3D3D3D,0x252525,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2B2B2B,0x363636,0x484848,0xAEAEAE, - 0xB2B2B2,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF, - 0xB5B5B5,0x898989,0x343434,0x424242,0x474747,0x414141,0x5B5B5B,0xADADAD, - 0xB2B2B2,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE, - 0xAEAEAE,0xAEAEAE,0xADADAD,0x3D3D3D,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x292929,0x373737,0x4B4B4B,0xA3A3A3,0xAEAEAE,0xACACAC, - 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xABABAB,0xACACAC,0xABABAB, - 0x848484,0x7A7A7A,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6F6F6F,0x727272, - 0x232323,0x00FF00,0x212121,0x3D3D3D,0x373737,0x373737,0x373737,0x363636, - 0x8B8B8B,0xADADAD,0xA8A8A8,0xA7A7A7,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7, - 0xA7A7A7,0xA8A8A8,0xA6A6A6,0x595959,0x4C4C4C,0x4F4F4F,0x525252,0x616161, - 0x6F6F6F,0x616161,0x474747,0x262626,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x242424,0x3B3B3B,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x343434,0x454545,0xA1A1A1,0xA5A5A5,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xB2B2B2,0x464646,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3A3A3A,0x383838,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x343434,0x6F6F6F,0xA7A7A7,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA2A2A2,0xA7A7A7,0x1D1D1D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828, - 0xCBCBCB,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xD1D1D1,0x848484,0x202020,0x282828,0x282828, - 0x282828,0x282828,0x282828,0x252525,0x4F4F4F,0x646464,0x5A5A5A,0x565656, - 0x535353,0x515151,0x555555,0x5D5D5D,0x2D2D2D,0x262626,0x282828,0x282828, - 0x282828,0x282828,0x2B2B2B,0x171717,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x797979,0xD2D2D2,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8, - 0xC8C8C8,0xCBCBCB,0xC6C6C6,0x2D2D2D,0x2B2B2B,0x333333,0x343434,0x373737, - 0x393939,0x3B3B3B,0x3A3A3A,0x777777,0xCCCCCC,0xC8C8C8,0xC8C8C8,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xD2D2D2,0x717171,0x202020, - 0x282828,0x282828,0x282828,0x222222,0x373737,0xC0C0C0,0xB1B1B1,0x00FF00, - 0x00FF00,0x2E2E2E,0x4F4F4F,0x4D4D4D,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4D4D4D, - 0x525252,0xACACAC,0xC9C9C9,0xC5C5C5,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5, - 0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC7C7C7,0xB6B6B6,0x606060,0x515151, - 0x151515,0x00FF00,0x00FF00,0x4C4C4C,0xD3D3D3,0xC3C3C3,0xC3C3C3,0xC3C3C3, - 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC3C3C3,0xCBCBCB,0x7A7A7A,0x222222, - 0x282828,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x232323,0xC0C0C0,0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC1C1C1, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC2C2C2,0xB3B3B3,0x292929,0x272727, - 0x2A2A2A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0xB0B0B0,0xC2C2C2,0xBEBEBE,0xBEBEBE,0xBDBDBD, - 0xBDBDBD,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBFBFBF,0xBDBDBD,0x3D3D3D,0x252525, - 0x2B2B2B,0x333333,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x181818, - 0x515151,0x595959,0x656565,0x6B6B6B,0x505050,0x434343,0x161616,0x00FF00, - 0x00FF00,0x434343,0xC8C8C8,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, - 0xBABABA,0xBCBCBC,0xAFAFAF,0x303030,0x323232,0x373737,0x3A3A3A,0x3B3B3B, - 0x3D3D3D,0x3F3F3F,0x3A3A3A,0x797979,0xC0C0C0,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xC5C5C5,0x3F3F3F,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x434343,0xA0A0A0,0xBABABA,0xB5B5B5, - 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4, - 0xC3C3C3,0x4D4D4D,0x00FF00,0x00FF00,0x00FF00,0x151515,0x434343,0x4B4B4B, - 0x505050,0x555555,0x646464,0x6E6E6E,0x606060,0x484848,0x3E3E3E,0x1A1A1A, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x262626,0x393939,0x414141, - 0xACACAC,0xB3B3B3,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0, - 0xB0B0B0,0xB3B3B3,0x9F9F9F,0x363636,0x404040,0x474747,0x464646,0x414141, - 0x686868,0xB3B3B3,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE, - 0xAEAEAE,0xAEAEAE,0xADADAD,0xB0B0B0,0xBABABA,0x1C1C1C,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x2F2F2F,0x3A3A3A,0x303030,0x828282,0xB3B3B3, - 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xABABAB, - 0xACACAC,0xA7A7A7,0x7B7B7B,0x6C6C6C,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6F6F6F, - 0x747474,0x242424,0x00FF00,0x00FF00,0x3C3C3C,0x373737,0x373737,0x373737, - 0x323232,0x696969,0xAEAEAE,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA8A8A8, - 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xB2B2B2,0x484848,0x2E2E2E,0x545454,0x565656, - 0x626262,0x6F6F6F,0x606060,0x484848,0x202020,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x151515,0x3C3C3C,0x373737,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x393939,0x8F8F8F,0xA7A7A7,0xA3A3A3,0xA3A3A3,0xA3A3A3, - 0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA7A7A7,0x8E8E8E, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2F2F2F,0x3A3A3A,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x333333,0x4D4D4D,0xA3A3A3, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xAEAEAE,0x454545,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0xB9B9B9,0xCCCCCC,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xCDCDCD,0x4E4E4E,0x212121,0x282828, - 0x282828,0x282828,0x282828,0x282828,0x252525,0x4B4B4B,0x656565,0x5B5B5B, - 0x565656,0x535353,0x515151,0x545454,0x5D5D5D,0x2D2D2D,0x262626,0x282828, - 0x282828,0x282828,0x292929,0x272727,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x767676,0xD4D4D4,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8, - 0xC9C9C9,0xC9C9C9,0xC8C8C8,0x626262,0x262626,0x2E2E2E,0x333333,0x343434, - 0x373737,0x3A3A3A,0x373737,0x545454,0xC6C6C6,0xC9C9C9,0xC7C7C7,0xC8C8C8, - 0xC8C8C8,0xC7C7C7,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC8C8C8,0xCECECE,0x484848, - 0x222222,0x282828,0x282828,0x272727,0x222222,0x9A9A9A,0xD1D1D1,0xB4B4B4, - 0x00FF00,0x00FF00,0x292929,0x4F4F4F,0x4D4D4D,0x4E4E4E,0x4F4F4F,0x4F4F4F, - 0x4F4F4F,0x4B4B4B,0x5A5A5A,0xC2C2C2,0xC8C8C8,0xC5C5C5,0xC5C5C5,0xC5C5C5, - 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xCDCDCD,0x888888,0x464646, - 0x5F5F5F,0x00FF00,0x00FF00,0x00FF00,0x4D4D4D,0xD1D1D1,0xC3C3C3,0xC3C3C3, - 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xCCCCCC,0x696969, - 0x202020,0x282828,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x4D4D4D,0xD1D1D1,0xC1C1C1,0xC1C1C1,0xC1C1C1, - 0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC6C6C6,0x939393,0x242424, - 0x2B2B2B,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xADADAD,0xC2C2C2,0xBEBEBE,0xBEBEBE, - 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC0C0C0,0xB9B9B9,0x363636, - 0x252525,0x2F2F2F,0x292929,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x181818,0x4F4F4F,0x666666,0x6D6D6D,0x494949,0x1E1E1E,0x00FF00, - 0x00FF00,0x252525,0xB4B4B4,0xBDBDBD,0xBABABA,0xBABABA,0xBABABA,0xBABABA, - 0xBABABA,0xBABABA,0xBCBCBC,0xADADAD,0x2D2D2D,0x333333,0x373737,0x3A3A3A, - 0x3B3B3B,0x3D3D3D,0x3F3F3F,0x3A3A3A,0x7A7A7A,0xBFBFBF,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xC5C5C5,0x404040, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x343434,0x898989,0xBCBCBC, - 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4, - 0xB4B4B4,0xB8B8B8,0xA1A1A1,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x333333, - 0x4D4D4D,0x4F4F4F,0x555555,0x656565,0x6E6E6E,0x5E5E5E,0x464646,0x3D3D3D, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323,0x3A3A3A, - 0x3D3D3D,0xA9A9A9,0xB3B3B3,0xB0B0B0,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xB1B1B1,0xB1B1B1,0x525252,0x3C3C3C,0x474747,0x464646, - 0x464646,0x454545,0x848484,0xB6B6B6,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE, - 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD,0xB8B8B8,0x707070,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828,0x3A3A3A,0x343434,0x525252, - 0xADADAD,0xADADAD,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, - 0xACACAC,0xACACAC,0xAEAEAE,0x949494,0x777777,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6F6F6F,0x6F6F6F,0x191919,0x171717,0x2C2C2C,0x393939,0x373737,0x373737, - 0x373737,0x363636,0x393939,0x8E8E8E,0xACACAC,0xA7A7A7,0xA8A8A8,0xA7A7A7, - 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA8A8A8,0xACACAC,0x353535,0x1E1E1E, - 0x515151,0x6C6C6C,0x7A7A7A,0x676767,0x3F3F3F,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x373737,0x383838,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x313131,0x696969,0xAAAAAA,0xA3A3A3,0xA3A3A3, - 0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA4A4A4, - 0xA4A4A4,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1D1D1D,0x3D3D3D, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x939393,0xA6A6A6,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA6A6A6,0x3A3A3A,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x3C3C3C,0xD2D2D2,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCBCBCB,0xB1B1B1,0x282828,0x262626, - 0x282828,0x282828,0x282828,0x282828,0x282828,0x252525,0x525252,0x6F6F6F, - 0x606060,0x585858,0x555555,0x515151,0x545454,0x616161,0x303030,0x262626, - 0x282828,0x282828,0x282828,0x2E2E2E,0x1C1C1C,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x4B4B4B,0xCACACA,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9, - 0xC8C8C8,0xC8C8C8,0xCACACA,0xBFBFBF,0x2B2B2B,0x272727,0x2E2E2E,0x333333, - 0x343434,0x373737,0x393939,0x343434,0x7E7E7E,0xD1D1D1,0xC8C8C8,0xC8C8C8, - 0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCDCDCD,0x969696, - 0x282828,0x272727,0x282828,0x282828,0x252525,0x2C2C2C,0xC1C1C1,0xCBCBCB, - 0xBABABA,0x00FF00,0x00FF00,0x282828,0x4F4F4F,0x4D4D4D,0x4E4E4E,0x4F4F4F, - 0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4D4D4D,0x6A6A6A,0xC2C2C2,0xC7C7C7,0xC5C5C5, - 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC6C6C6,0xC5C5C5,0x3C3C3C, - 0x393939,0x545454,0x00FF00,0x00FF00,0x00FF00,0xADADAD,0xC8C8C8,0xC3C3C3, - 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC4C4C4,0xC9C9C9, - 0x525252,0x212121,0x282828,0x282828,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x434343,0xCFCFCF,0xC1C1C1,0xC1C1C1, - 0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC9C9C9,0x7A7A7A, - 0x222222,0x2C2C2C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xAEAEAE,0xC2C2C2,0xBEBEBE, - 0xBEBEBE,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC0C0C0,0xB6B6B6, - 0x303030,0x262626,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x181818,0x1E1E1E,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0xACACAC,0xC3C3C3,0xBABABA,0xBABABA,0xBABABA,0xBABABA, - 0xBABABA,0xBABABA,0xBABABA,0xBEBEBE,0x9A9A9A,0x2B2B2B,0x333333,0x373737, - 0x3A3A3A,0x3B3B3B,0x3D3D3D,0x3F3F3F,0x3A3A3A,0x7B7B7B,0xBFBFBF,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xC5C5C5, - 0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636,0x666666, - 0xB8B8B8,0xB6B6B6,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4, - 0xB4B4B4,0xB5B5B5,0xB4B4B4,0xBFBFBF,0x444444,0x00FF00,0x00FF00,0x00FF00, - 0x2E2E2E,0x505050,0x505050,0x555555,0x656565,0x6E6E6E,0x5E5E5E,0x454545, - 0x3F3F3F,0x171717,0x00FF00,0x202020,0x1D1D1D,0x00FF00,0x00FF00,0x1D1D1D, - 0x3C3C3C,0x3A3A3A,0xA9A9A9,0xB3B3B3,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF,0xB8B8B8,0x797979,0x3E3E3E,0x464646, - 0x464646,0x464646,0x454545,0x494949,0x919191,0xB5B5B5,0xAEAEAE,0xAEAEAE, - 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xACACAC,0xB3B3B3, - 0x949494,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636,0x383838,0x373737, - 0x353535,0xA1A1A1,0xAFAFAF,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, - 0xABABAB,0xABABAB,0xABABAB,0xACACAC,0xACACAC,0x8D8D8D,0x777777,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6F6F6F,0x6F6F6F,0x00FF00,0x404040,0xA0A0A0,0x535353,0x343434, - 0x373737,0x373737,0x373737,0x313131,0x707070,0xAFAFAF,0xA8A8A8,0xA8A8A8, - 0xA7A7A7,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xB5B5B5,0x434343, - 0x00FF00,0x00FF00,0x272727,0x2F2F2F,0x282828,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2D2D2D,0x3D3D3D,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x343434,0x4C4C4C,0xA5A5A5,0xA5A5A5, - 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA3A3A3,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xA7A7A7,0xA4A4A4,0x1C1C1C,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x3A3A3A,0x383838,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x343434,0x505050,0xA0A0A0,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA7A7A7,0x8E8E8E,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x787878,0xD1D1D1,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCFCFCF,0x6F6F6F,0x212121, - 0x282828,0x282828,0x282828,0x282828,0x282828,0x282828,0x282828,0x282828, - 0x2C2C2C,0x444444,0x535353,0x515151,0x5A5A5A,0x575757,0x5E5E5E,0x303030, - 0x262626,0x282828,0x282828,0x282828,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0xC7C7C7,0xCDCDCD,0xC8C8C8,0xC9C9C9,0xC9C9C9,0xC9C9C9, - 0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC9C9C9,0xC4C4C4,0x383838,0x262626,0x2D2D2D, - 0x323232,0x343434,0x373737,0x373737,0x303030,0x9F9F9F,0xCDCDCD,0xC8C8C8, - 0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC8C8C8, - 0x3D3D3D,0x222222,0x282828,0x282828,0x282828,0x222222,0x434343,0xC8C8C8, - 0xC9C9C9,0xC5C5C5,0x222222,0x00FF00,0x252525,0x4F4F4F,0x4D4D4D,0x4E4E4E, - 0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x494949,0x8B8B8B,0xCBCBCB, - 0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xCBCBCB,0x959595, - 0x1A1A1A,0x393939,0x515151,0x00FF00,0x00FF00,0x00FF00,0xB2B2B2,0xC8C8C8, - 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC5C5C5, - 0xBFBFBF,0x353535,0x242424,0x292929,0x252525,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4C4C4C,0xCECECE,0xC1C1C1, - 0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC9C9C9, - 0x6A6A6A,0x222222,0x2A2A2A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB1B1B1,0xC2C2C2, - 0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC0C0C0, - 0xB4B4B4,0x2C2C2C,0x292929,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0xAEAEAE,0xBFBFBF,0xBABABA,0xBABABA,0xBABABA, - 0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBFBFBF,0x979797,0x2B2B2B,0x323232, - 0x373737,0x3A3A3A,0x3C3C3C,0x3D3D3D,0x3F3F3F,0x393939,0x797979,0xBFBFBF, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7, - 0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x373737, - 0x464646,0xAEAEAE,0xB8B8B8,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5, - 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB5B5B5,0xBBBBBB,0x424242,0x00FF00, - 0x00FF00,0x00FF00,0x4C4C4C,0x535353,0x565656,0x666666,0x6D6D6D,0x5E5E5E, - 0x454545,0x3C3C3C,0x00FF00,0x00FF00,0x535353,0x8B8B8B,0x00FF00,0x00FF00, - 0x00FF00,0x323232,0x393939,0xA5A5A5,0xB4B4B4,0xB1B1B1,0xB0B0B0,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF,0xB5B5B5,0x818181,0x3E3E3E, - 0x464646,0x464646,0x464646,0x464646,0x414141,0x585858,0xA7A7A7,0xB1B1B1, - 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD,0xAEAEAE,0xADADAD, - 0xAEAEAE,0xBABABA,0x3C3C3C,0x00FF00,0x00FF00,0x00FF00,0x333333,0x393939, - 0x383838,0x363636,0x676767,0xB0B0B0,0xADADAD,0xACACAC,0xACACAC,0xACACAC, - 0xACACAC,0xABABAB,0xACACAC,0xABABAB,0xAAAAAA,0xACACAC,0xA7A7A7,0x7A7A7A, - 0x797979,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x707070,0x656565,0x00FF00,0x5E5E5E,0xB8B8B8,0x6F6F6F, - 0x333333,0x373737,0x373737,0x373737,0x313131,0x5D5D5D,0xAEAEAE,0xA8A8A8, - 0xA7A7A7,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xACACAC, - 0x929292,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636, - 0x383838,0x373737,0x373737,0x373737,0x373737,0x373737,0x3A3A3A,0x979797, - 0xA7A7A7,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xB3B3B3,0x474747,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x2C2C2C,0x3C3C3C,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x313131,0x717171,0xA7A7A7,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA2A2A2, - 0x1D1D1D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x202020,0xCCCCCC,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCFCFCF,0x8C8C8C,0x242424, - 0x272727,0x282828,0x282828,0x282828,0x282828,0x282828,0x292929,0x242424, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x252525,0x434343,0x656565, - 0x303030,0x252525,0x282828,0x282828,0x282828,0x282828,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0xABABAB,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC8C8C8,0xC8C8C8, - 0xC8C8C8,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xCACACA,0xC5C5C5,0x373737,0x252525, - 0x2E2E2E,0x323232,0x333333,0x2D2D2D,0x404040,0x7F7F7F,0xC5C5C5,0xC9C9C9, - 0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC9C9C9, - 0xBCBCBC,0x2C2C2C,0x262626,0x282828,0x282828,0x282828,0x1E1E1E,0x6C6C6C, - 0xD1D1D1,0xC7C7C7,0xD0D0D0,0x444444,0x00FF00,0x232323,0x4F4F4F,0x4D4D4D, - 0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x484848,0x686868, - 0xC7C7C7,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xCFCFCF, - 0x6F6F6F,0x242424,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323,0xC2C2C2, - 0xC6C6C6,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2, - 0xC5C5C5,0xBBBBBB,0x2D2D2D,0x262626,0x2A2A2A,0x1E1E1E,0x00FF00,0x00FF00, - 0x1C1C1C,0x444444,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xAAAAAA,0xC6C6C6, - 0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC1C1C1,0xC0C0C0, - 0xCACACA,0x626262,0x212121,0x292929,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x393939,0xC9C9C9, - 0xBFBFBF,0xBEBEBE,0xBFBFBF,0xBEBEBE,0xBDBDBD,0xBEBEBE,0xBDBDBD,0xBDBDBD, - 0xC0C0C0,0xB4B4B4,0x2A2A2A,0x2E2E2E,0x181818,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x3E3E3E,0xC5C5C5,0xBABABA,0xBBBBBB,0xBABABA, - 0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBBBBBB,0xBBBBBB,0x4D4D4D, - 0x2A2A2A,0x383838,0x3A3A3A,0x3C3C3C,0x3D3D3D,0x383838,0x414141,0x9A9A9A, - 0xBCBCBC,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7, - 0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x393939,0x3D3D3D,0x7B7B7B,0xBCBCBC,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5, - 0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB9B9B9,0xAEAEAE, - 0x232323,0x00FF00,0x00FF00,0x1A1A1A,0x525252,0x5E5E5E,0x686868,0x6F6F6F, - 0x5E5E5E,0x4C4C4C,0x282828,0x00FF00,0x222222,0xACACAC,0xBFBFBF,0x282828, - 0x00FF00,0x00FF00,0x2F2F2F,0x353535,0x6A6A6A,0xB3B3B3,0xB2B2B2,0xB1B1B1, - 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB4B4B4,0x929292, - 0x3E3E3E,0x474747,0x464646,0x464646,0x464646,0x464646,0x414141,0x585858, - 0xACACAC,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE, - 0xADADAD,0xADADAD,0xB0B0B0,0xA8A8A8,0x212121,0x00FF00,0x00FF00,0x2D2D2D, - 0x3A3A3A,0x383838,0x3A3A3A,0x3B3B3B,0x8B8B8B,0xB1B1B1,0xACACAC,0xACACAC, - 0xACACAC,0xABABAB,0xABABAB,0xABABAB,0xACACAC,0xABABAB,0xAAAAAA,0xACACAC, - 0xA2A2A2,0x848484,0x777777,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x707070,0x646464,0x3C3C3C,0x949494,0xB5B5B5, - 0x4B4B4B,0x2D2D2D,0x373737,0x373737,0x373737,0x343434,0x464646,0xA6A6A6, - 0xA9A9A9,0xA7A7A7,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7, - 0xAAAAAA,0x9E9E9E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x232323,0x3B3B3B,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x585858,0xA2A2A2,0xA4A4A4,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA3A3A3, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA6A6A6,0x8F8F8F,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x333333,0x393939,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x333333,0x4F4F4F,0xA5A5A5,0xA2A2A2,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xAEAEAE,0x454545,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x858585,0xD2D2D2,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCDCDCD,0x4E4E4E, - 0x202020,0x282828,0x282828,0x282828,0x282828,0x282828,0x282828,0x2E2E2E, - 0x161616,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x5B5B5B,0x353535,0x252525,0x282828,0x282828,0x2E2E2E,0x1E1E1E,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0xBEBEBE,0xCCCCCC,0xC9C9C9,0xC9C9C9,0xC8C8C8, - 0xC8C8C8,0xC8C8C8,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC9C9C9,0xCDCDCD,0x5D5D5D, - 0x202020,0x232323,0x2C2C2C,0x3D3D3D,0x6F6F6F,0xB4B4B4,0xD2D2D2,0xC9C9C9, - 0xC7C7C7,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC8C8C8, - 0xCECECE,0x8E8E8E,0x222222,0x282828,0x272727,0x272727,0x282828,0x232323, - 0x939393,0xCCCCCC,0xC6C6C6,0xCBCBCB,0xB0B0B0,0x00FF00,0x1F1F1F,0x4D4D4D, - 0x4D4D4D,0x4E4E4E,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x464646, - 0x828282,0xCBCBCB,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC9C9C9, - 0xA7A7A7,0x2C2C2C,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4E4E4E, - 0xD3D3D3,0xC4C4C4,0xC3C3C3,0xC4C4C4,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2, - 0xC3C3C3,0xC8C8C8,0xA6A6A6,0x252525,0x272727,0x2E2E2E,0x181818,0x00FF00, - 0x00FF00,0x797979,0xBFBFBF,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB4B4B4, - 0xC5C5C5,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1, - 0xC1C1C1,0xC2C2C2,0x414141,0x232323,0x272727,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x999999,0x666666,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x767676, - 0xC8C8C8,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBDBDBD, - 0xBDBDBD,0xC1C1C1,0xA6A6A6,0x282828,0x282828,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x434343,0xC8C8C8,0xBBBBBB,0xBABABA, - 0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBCBCBC, - 0xA8A8A8,0x424242,0x2D2D2D,0x333333,0x343434,0x383838,0x5E5E5E,0xA0A0A0, - 0xBDBDBD,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xC5C5C5,0x3E3E3E,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x393939,0x3B3B3B,0x4A4A4A,0xAEAEAE,0xB8B8B8,0xB5B5B5,0xB5B5B5, - 0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB4B4B4, - 0xBABABA,0xB4B4B4,0x232323,0x00FF00,0x00FF00,0x00FF00,0x3A3A3A,0x656565, - 0x696969,0x515151,0x202020,0x00FF00,0x232323,0xB2B2B2,0xBFBFBF,0x929292, - 0x00FF00,0x00FF00,0x00FF00,0x2B2B2B,0x373737,0x414141,0xADADAD,0xB3B3B3, - 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB2B2B2, - 0xA7A7A7,0x464646,0x454545,0x464646,0x464646,0x464646,0x464646,0x464646, - 0x434343,0x797979,0xB8B8B8,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE, - 0xAEAEAE,0xAEAEAE,0xADADAD,0xADADAD,0xB3B3B3,0xADADAD,0x202020,0x00FF00, - 0x363636,0x383838,0x383838,0x3A3A3A,0x383838,0x5A5A5A,0xB2B2B2,0xADADAD, - 0xACACAC,0xACACAC,0xABABAB,0xABABAB,0xABABAB,0xABABAB,0xABABAB,0xAAAAAA, - 0xAAAAAA,0xADADAD,0xA9A9A9,0x838383,0x777777,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x737373,0x979797,0xB1B1B1, - 0xA7A7A7,0x242424,0x272727,0x3A3A3A,0x373737,0x373737,0x363636,0x3A3A3A, - 0xA0A0A0,0xA9A9A9,0xA8A8A8,0xA7A7A7,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7, - 0xA7A7A7,0xA7A7A7,0xB2B2B2,0x3A3A3A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x151515,0x3C3C3C,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x373737,0x333333,0x838383,0xA8A8A8,0xA3A3A3,0xA2A2A2,0xA3A3A3,0xA2A2A2, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA6A6A6,0x999999,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323,0x3D3D3D,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x393939,0x919191,0xA5A5A5, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA2A2A2,0xA6A6A6,0x3A3A3A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x474747,0xD3D3D3,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xBCBCBC, - 0x2B2B2B,0x262626,0x282828,0x282828,0x282828,0x282828,0x282828,0x282828, - 0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x5A5A5A,0x383838,0x252525,0x282828,0x282828,0x282828,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x3E3E3E,0xD3D3D3,0xC9C9C9,0xC9C9C9,0xC9C9C9, - 0xC9C9C9,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC9C9C9,0xC9C9C9,0xC8C8C8,0xC9C9C9, - 0xCCCCCC,0x949494,0x626262,0x808080,0xC0C0C0,0xD2D2D2,0xD2D2D2,0xC6C6C6, - 0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC8C8C8,0xC7C7C7, - 0xC7C7C7,0xD2D2D2,0x6A6A6A,0x1F1F1F,0x252525,0x252525,0x252525,0x252525, - 0x313131,0xC3C3C3,0xC8C8C8,0xC7C7C7,0xC9C9C9,0xBABABA,0x00FF00,0x191919, - 0x4F4F4F,0x4D4D4D,0x4E4E4E,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F, - 0x4A4A4A,0x5E5E5E,0xC3C3C3,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC7C7C7, - 0xC5C5C5,0x3B3B3B,0x262626,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x414141,0xD2D2D2,0xC3C3C3,0xC4C4C4,0xC4C4C4,0xC3C3C3,0xC3C3C3,0xC3C3C3, - 0xC3C3C3,0xC3C3C3,0xCCCCCC,0x747474,0x202020,0x282828,0x2E2E2E,0x00FF00, - 0x00FF00,0x474747,0xC3C3C3,0x7B7B7B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0xAEAEAE,0xC5C5C5,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC1C1C1, - 0xC0C0C0,0xC2C2C2,0xC4C4C4,0x4D4D4D,0x232323,0x232323,0x00FF00,0x00FF00, - 0x00FF00,0x676767,0xBEBEBE,0x5B5B5B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0xB6B6B6,0xC1C1C1,0xBFBFBF,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE, - 0xBDBDBD,0xBDBDBD,0xC3C3C3,0x898989,0x252525,0x262626,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x424242,0xC8C8C8,0xBBBBBB, - 0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, - 0xB9B9B9,0xBEBEBE,0xB3B3B3,0x6A6A6A,0x636363,0x6B6B6B,0x7F7F7F,0xBCBCBC, - 0xBFBFBF,0xBABABA,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB7B7B7,0xB8B8B8,0xC4C4C4,0x454545,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x393939,0x3E3E3E,0x3E3E3E,0x7A7A7A,0xBCBCBC,0xB5B5B5, - 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB5B5B5,0xB4B4B4, - 0xB4B4B4,0xB4B4B4,0xBABABA,0xB3B3B3,0x252525,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x434343,0xAEAEAE,0xB9B9B9,0xB9B9B9, - 0x4E4E4E,0x00FF00,0x00FF00,0x00FF00,0x252525,0x3A3A3A,0x3B3B3B,0xA9A9A9, - 0xB3B3B3,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0, - 0xB2B2B2,0xA9A9A9,0x4E4E4E,0x454545,0x464646,0x464646,0x464646,0x464646, - 0x464646,0x444444,0x494949,0x909090,0xB3B3B3,0xAEAEAE,0xAEAEAE,0xAEAEAE, - 0xAEAEAE,0xAEAEAE,0xADADAD,0xADADAD,0xADADAD,0xADADAD,0xB4B4B4,0x9E9E9E, - 0x00FF00,0x343434,0x393939,0x383838,0x3A3A3A,0x3D3D3D,0x424242,0x6F6F6F, - 0xAFAFAF,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xABABAB,0xABABAB,0xABABAB, - 0xABABAB,0xAAAAAA,0xAAAAAA,0xACACAC,0xAAAAAA,0x949494,0x797979,0x6B6B6B, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6D6D6D,0x6C6C6C,0x737373,0x8C8C8C,0xADADAD, - 0xADADAD,0x8F8F8F,0x00FF00,0x1F1F1F,0x3B3B3B,0x373737,0x373737,0x373737, - 0x353535,0x808080,0xADADAD,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7, - 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xB5B5B5,0x383838,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x363636,0x383838,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x313131,0x626262,0xA9A9A9,0xA2A2A2,0xA2A2A2,0xA3A3A3, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA8A8A8, - 0x626262,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3B3B3B,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x313131,0x696969, - 0xA8A8A8,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA7A7A7,0x8E8E8E,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0xB3B3B3,0xCACACA,0xC7C7C7,0xC7C7C7,0xC6C6C6, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCECECE, - 0x717171,0x212121,0x282828,0x282828,0x282828,0x282828,0x282828,0x282828, - 0x2D2D2D,0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x585858,0x3A3A3A,0x252525,0x282828,0x2E2E2E,0x161616, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x7F7F7F,0xD1D1D1,0xC9C9C9,0xC9C9C9, - 0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC8C8C8,0xC8C8C8, - 0xC8C8C8,0xC9C9C9,0xCECECE,0xD2D2D2,0xD0D0D0,0xCDCDCD,0xC9C9C9,0x8F8F8F, - 0xB5B5B5,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xCECECE,0x898989,0x212121,0x292929,0x878787,0x898989, - 0x252525,0x171717,0xB7B7B7,0xC9C9C9,0xC7C7C7,0xC7C7C7,0xCBCBCB,0x717171, - 0x1D1D1D,0x4A4A4A,0x4D4D4D,0x4E4E4E,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F, - 0x4F4F4F,0x4C4C4C,0xA8A8A8,0xC8C8C8,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5, - 0xCDCDCD,0x969696,0x262626,0x2A2A2A,0x2A2A2A,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x767676,0xCDCDCD,0xC4C4C4,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3, - 0xC3C3C3,0xC3C3C3,0xC2C2C2,0xCACACA,0x818181,0x1F1F1F,0x242424,0x232323, - 0x00FF00,0x666666,0xB1B1B1,0xAEAEAE,0x3A3A3A,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x707070,0xCBCBCB,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1, - 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC7C7C7,0x999999,0x242424,0x191919,0x00FF00, - 0x00FF00,0xA5A5A5,0xCBCBCB,0xB6B6B6,0x333333,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0xADADAD,0xC2C2C2,0xBFBFBF,0xBEBEBE,0xBEBEBE,0xBFBFBF,0xBEBEBE, - 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC5C5C5,0x7B7B7B,0x272727,0x1A1A1A,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x424242,0xC8C8C8, - 0xBABABA,0xBBBBBB,0xBBBBBB,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, - 0xBABABA,0xBABABA,0xB9B9B9,0xBBBBBB,0xC2C2C2,0xC1C1C1,0xC2C2C2,0xC0C0C0, - 0xBBBBBB,0xB5B5B5,0xA6A6A6,0xBABABA,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xBBBBBB,0xA2A2A2,0x00FF00,0x00FF00, - 0x424242,0xA0A0A0,0x2C2C2C,0x323232,0x3F3F3F,0x404040,0x4C4C4C,0xB2B2B2, - 0xB9B9B9,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4, - 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB8B8B8,0xB3B3B3,0x9F9F9F,0x474747, - 0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3F3F3F,0x707070,0xC3C3C3,0xB5B5B5,0xB6B6B6, - 0x959595,0x323232,0x00FF00,0x00FF00,0x00FF00,0x222222,0x383838,0x4A4A4A, - 0xAFAFAF,0xB3B3B3,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF, - 0xAFAFAF,0xB2B2B2,0xACACAC,0x535353,0x444444,0x464646,0x464646,0x464646, - 0x464646,0x464646,0x464646,0x424242,0x4F4F4F,0xA1A1A1,0xB2B2B2,0xAEAEAE, - 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD,0xADADAD,0xADADAD,0xADADAD, - 0xAEAEAE,0x9A9A9A,0x3D3D3D,0x353535,0x383838,0x3A3A3A,0x3E3E3E,0x404040, - 0x3F3F3F,0x909090,0xB2B2B2,0xACACAC,0xACACAC,0xABABAB,0xACACAC,0xACACAC, - 0xABABAB,0xABABAB,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xABABAB,0xAEAEAE,0x9C9C9C, - 0x838383,0x787878,0x787878,0x787878,0x777777,0x787878,0x8D8D8D,0xA8A8A8, - 0xA9A9A9,0xB0B0B0,0x6B6B6B,0x00FF00,0x151515,0x3C3C3C,0x373737,0x373737, - 0x373737,0x313131,0x686868,0xAFAFAF,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7, - 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xADADAD,0x737373,0x1A1A1A,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2B2B2B,0x3A3A3A,0x373737,0x373737, - 0x373737,0x373737,0x373737,0x343434,0x464646,0xA1A1A1,0xA4A4A4,0xA3A3A3, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xB5B5B5,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232, - 0x393939,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x343434, - 0x484848,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA1A1A1,0x202020,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x767676,0xCDCDCD,0xC6C6C6,0xC7C7C7,0xC7C7C7, - 0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xCDCDCD,0x565656,0x202020,0x282828,0x282828,0x282828,0x282828,0x282828, - 0x282828,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x585858,0x3C3C3C,0x252525,0x282828,0x2B2B2B, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xC4C4C4,0xCBCBCB,0xC9C9C9, - 0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9, - 0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xCDCDCD,0xC7C7C7,0x626262, - 0x414141,0xC3C3C3,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC8C8C8, - 0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC8C8C8,0xC4C4C4,0xB6B6B6,0xB8B8B8,0xCECECE, - 0x5D5D5D,0x1D1D1D,0x242424,0xC6C6C6,0xC9C9C9,0xC7C7C7,0xC6C6C6,0xC6C6C6, - 0xD1D1D1,0x8E8E8E,0x444444,0x4D4D4D,0x4E4E4E,0x4F4F4F,0x4F4F4F,0x4F4F4F, - 0x4F4F4F,0x4D4D4D,0x747474,0xC7C7C7,0xC7C7C7,0xC5C5C5,0xC5C5C5,0xC5C5C5, - 0xCBCBCB,0xAAAAAA,0x343434,0x282828,0x2B2B2B,0x282828,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x3C3C3C,0xC6C6C6,0xC5C5C5,0xC3C3C3,0xC4C4C4,0xC3C3C3, - 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC3C3C3,0xC7C7C7,0x6F6F6F,0x333333, - 0x424242,0x848484,0xCDCDCD,0xAFAFAF,0x5A5A5A,0x2F2F2F,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x686868,0xC8C8C8,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1, - 0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC1C1C1,0xBFBFBF,0x535353,0x1D1D1D, - 0x434343,0xABABAB,0xC3C3C3,0xC5C5C5,0x626262,0x2A2A2A,0x00FF00,0x00FF00, - 0x00FF00,0x1E1E1E,0xBFBFBF,0xC0C0C0,0xBEBEBE,0xBFBFBF,0xBEBEBE,0xBFBFBF, - 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC7C7C7,0x6B6B6B,0x242424,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x191919, - 0xB1B1B1,0xBEBEBE,0xBBBBBB,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, - 0xBABABA,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9, - 0xBBBBBB,0xBBBBBB,0x575757,0x797979,0xBFBFBF,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7,0xB7B7B7,0xB7B7B7,0x999999, - 0x737373,0xB7B7B7,0xA9A9A9,0x353535,0x2F2F2F,0x3F3F3F,0x414141,0x444444, - 0x686868,0xB6B6B6,0xB8B8B8,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4, - 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB3B3B3,0xB4B4B4,0xB8B8B8, - 0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC1C1C1,0xBBBBBB,0xB2B2B2,0xB4B4B4, - 0xB2B2B2,0x434343,0x303030,0x00FF00,0x00FF00,0x00FF00,0x1E1E1E,0x343434, - 0x6B6B6B,0xBABABA,0xB0B0B0,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF, - 0xB0B0B0,0xAFAFAF,0xB1B1B1,0xAFAFAF,0x595959,0x414141,0x464646,0x464646, - 0x464646,0x464646,0x464646,0x464646,0x464646,0x414141,0x636363,0xB4B4B4, - 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD,0xADADAD,0xADADAD, - 0xADADAD,0xAEAEAE,0xB2B2B2,0x616161,0x323232,0x383838,0x3A3A3A,0x3E3E3E, - 0x414141,0x414141,0x505050,0xA5A5A5,0xAFAFAF,0xACACAC,0xABABAB,0xACACAC, - 0xABABAB,0xAAAAAA,0xABABAB,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xA9A9A9,0xA9A9A9, - 0xADADAD,0xAAAAAA,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xACACAC, - 0xAAAAAA,0xA9A9A9,0xACACAC,0x464646,0x00FF00,0x00FF00,0x393939,0x383838, - 0x373737,0x373737,0x323232,0x525252,0xAAAAAA,0xA8A8A8,0xA8A8A8,0xA7A7A7, - 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA6A6A6,0xBBBBBB,0x474747, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0x3D3D3D,0x373737, - 0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x898989,0xA7A7A7, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xA2A2A2,0xACACAC,0x696969,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x202020,0x3E3E3E,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x8A8A8A,0xA5A5A5,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA5A5A5,0xA2A2A2, - 0x191919,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x232323,0x858585,0xCFCFCF,0xC6C6C6,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xD1D1D1,0x777777,0x1D1D1D,0x282828,0x282828,0x282828,0x282828, - 0x282828,0x2E2E2E,0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x575757,0x3D3D3D,0x252525,0x292929, - 0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x212121,0xCBCBCB,0xC9C9C9, - 0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC9C9C9,0xC8C8C8,0xC8C8C8, - 0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xCBCBCB,0xD1D1D1,0xACACAC,0x4E4E4E, - 0x303030,0x727272,0xCECECE,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8, - 0xC8C8C8,0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xCECECE,0xCFCFCF, - 0x696969,0x2F2F2F,0x00FF00,0x464646,0xD7D7D7,0xC7C7C7,0xC7C7C7,0xC6C6C6, - 0xC6C6C6,0xC7C7C7,0xC9C9C9,0x5A5A5A,0x444444,0x4D4D4D,0x4F4F4F,0x4F4F4F, - 0x4E4E4E,0x4D4D4D,0x5C5C5C,0xC2C2C2,0xC7C7C7,0xC5C5C5,0xC5C5C5,0xC5C5C5, - 0xCDCDCD,0xB4B4B4,0x383838,0x2B2B2B,0x2B2B2B,0x2A2A2A,0x2B2B2B,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x161616,0xC1C1C1,0xC6C6C6,0xC3C3C3,0xC4C4C4, - 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC3C3C3,0xC2C2C2,0xC3C3C3,0xC9C9C9, - 0xB4B4B4,0xC3C3C3,0xCBCBCB,0xCDCDCD,0x7A7A7A,0x282828,0x333333,0x161616, - 0x00FF00,0x00FF00,0x00FF00,0x313131,0xC2C2C2,0xC3C3C3,0xC1C1C1,0xC1C1C1, - 0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC1C1C1,0xC0C0C0, - 0xAAAAAA,0xCDCDCD,0xC5C5C5,0xCBCBCB,0x7B7B7B,0x2B2B2B,0x303030,0x00FF00, - 0x00FF00,0x00FF00,0x797979,0xC8C8C8,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE, - 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC6C6C6,0x797979,0x242424, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0xA0A0A0,0xC0C0C0,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, - 0xBABABA,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9, - 0xBCBCBC,0xBBBBBB,0x5C5C5C,0x303030,0x545454,0xB8B8B8,0xB9B9B9,0xB8B8B8, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7,0xB7B7B7,0xB6B6B6, - 0xBBBBBB,0xC0C0C0,0xC2C2C2,0x5E5E5E,0x00FF00,0x343434,0x3E3E3E,0x414141, - 0x444444,0x444444,0x6A6A6A,0xBABABA,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4, - 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB3B3B3, - 0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB2B2B2,0xB3B3B3, - 0xB9B9B9,0x717171,0x343434,0x323232,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A, - 0x363636,0x5B5B5B,0xB7B7B7,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF,0xB2B2B2,0x969696,0x454545,0x464646, - 0x464646,0x464646,0x464646,0x464646,0x464646,0x464646,0x454545,0x424242, - 0x8F8F8F,0xB2B2B2,0xAEAEAE,0xAEAEAE,0xADADAD,0xADADAD,0xADADAD,0xADADAD, - 0xADADAD,0xADADAD,0xADADAD,0xAEAEAE,0xB2B2B2,0x5A5A5A,0x303030,0x3A3A3A, - 0x3E3E3E,0x414141,0x434343,0x464646,0x525252,0x9B9B9B,0xAFAFAF,0xABABAB, - 0xABABAB,0xABABAB,0xABABAB,0xABABAB,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xAAAAAA, - 0xA9A9A9,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xABABAB,0xABABAB,0xAAAAAA,0xAAAAAA, - 0xA9A9A9,0xA9A9A9,0xAEAEAE,0x8A8A8A,0x353535,0x00FF00,0x00FF00,0x353535, - 0x393939,0x373737,0x373737,0x363636,0x3D3D3D,0xA1A1A1,0xA9A9A9,0xA8A8A8, - 0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xAAAAAA, - 0x949494,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828, - 0x3A3A3A,0x373737,0x373737,0x373737,0x373737,0x373737,0x313131,0x737373, - 0xA9A9A9,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xB2B2B2,0x3F3F3F,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x2B2B2B,0x3C3C3C,0x373737,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x313131,0x5E5E5E,0xA7A7A7,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xAAAAAA,0x747474,0x1C1C1C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x474747,0xBFBFBF,0xD1D1D1,0xC6C6C6,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC9C9C9,0xC3C3C3,0x383838,0x1E1E1E,0x242424,0x242424, - 0x242424,0x282828,0x2C2C2C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x545454,0x3E3E3E,0x242424, - 0x2E2E2E,0x191919,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x8B8B8B, - 0xD2D2D2,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC8C8C8, - 0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC9C9C9,0xD2D2D2,0xB4B4B4,0x787878,0x414141, - 0x393939,0x373737,0x6A6A6A,0xCBCBCB,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC8C8C8, - 0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCCCCCC,0xC5C5C5, - 0x616161,0x303030,0x353535,0x00FF00,0x767676,0xCECECE,0xC7C7C7,0xC6C6C6, - 0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC8C8C8,0xB8B8B8,0x7F7F7F,0x525252,0x484848, - 0x494949,0x545454,0x7B7B7B,0xC1C1C1,0xC7C7C7,0xC5C5C5,0xC5C5C5,0xC5C5C5, - 0xCBCBCB,0xB6B6B6,0x515151,0x2C2C2C,0x2E2E2E,0x2A2A2A,0x2A2A2A,0x292929, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1D1D1D,0x969696,0xC9C9C9,0xC4C4C4, - 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC3C3C3,0xC3C3C3,0xC2C2C2, - 0xC2C2C2,0xC5C5C5,0xC7C7C7,0xC7C7C7,0x838383,0x353535,0x313131,0x323232, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x303030,0x9D9D9D,0xC9C9C9,0xC1C1C1, - 0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0, - 0xC1C1C1,0xC3C3C3,0xC0C0C0,0xC9C9C9,0x9C9C9C,0x393939,0x303030,0x2B2B2B, - 0x00FF00,0x00FF00,0x282828,0xC4C4C4,0xC0C0C0,0xBFBFBF,0xBEBEBE,0xBEBEBE, - 0xBFBFBF,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBFBFBF,0xBABABA, - 0x333333,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x666666,0xC1C1C1,0xBBBBBB,0xBABABA,0xBABABA,0xBABABA, - 0xBABABA,0xBABABA,0xBABABA,0xB9B9B9,0xBABABA,0xBABABA,0xB9B9B9,0xB9B9B9, - 0xBEBEBE,0xB3B3B3,0x5C5C5C,0x343434,0x3A3A3A,0x414141,0xB0B0B0,0xBBBBBB, - 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7,0xB7B7B7, - 0xB6B6B6,0xB6B6B6,0xBFBFBF,0x959595,0x373737,0x161616,0x343434,0x3E3E3E, - 0x414141,0x454545,0x464646,0x4C4C4C,0x939393,0xBDBDBD,0xB5B5B5,0xB4B4B4, - 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4, - 0xB4B4B4,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB2B2B2, - 0xBABABA,0x777777,0x343434,0x343434,0x343434,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x333333,0x616161,0xB5B5B5,0xB2B2B2,0xB2B2B2,0xB1B1B1,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB1B1B1,0xAEAEAE,0x535353, - 0x414141,0x434343,0x464646,0x464646,0x464646,0x464646,0x464646,0x464646, - 0x414141,0x454545,0xAAAAAA,0xAFAFAF,0xAEAEAE,0xADADAD,0xADADAD,0xADADAD, - 0xADADAD,0xADADAD,0xADADAD,0xADADAD,0xADADAD,0xAFAFAF,0xA7A7A7,0x545454, - 0x353535,0x3A3A3A,0x404040,0x444444,0x464646,0x414141,0x585858,0xACACAC, - 0xAFAFAF,0xABABAB,0xABABAB,0xABABAB,0xABABAB,0xAAAAAA,0xAAAAAA,0xAAAAAA, - 0xAAAAAA,0xAAAAAA,0xAAAAAA,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9, - 0xA9A9A9,0xA9A9A9,0xAAAAAA,0xB0B0B0,0x505050,0x2D2D2D,0x00FF00,0x00FF00, - 0x2B2B2B,0x3A3A3A,0x373737,0x373737,0x333333,0x3A3A3A,0xA2A2A2,0xA9A9A9, - 0xA7A7A7,0xA7A7A7,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7, - 0xA7A7A7,0xAEAEAE,0x616161,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x141414,0x3C3C3C,0x373737,0x373737,0x373737,0x373737,0x333333,0x373737, - 0x919191,0xA6A6A6,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA3A3A3,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA3A3A3,0xA4A4A4,0x616161, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3C3C3C,0x373737,0x373737,0x373737, - 0x373737,0x373737,0x353535,0x2E2E2E,0x636363,0xA8A8A8,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA0A0A0,0xAAAAAA,0x9E9E9E,0x3C3C3C,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x404040,0x474747,0x454545, - 0x4C4C4C,0xAEAEAE,0xB9B9B9,0xCECECE,0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC6C6C6, - 0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, - 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCCCCCC,0xA8A8A8,0x6E6E6E,0x3A3A3A, - 0x373737,0x393939,0x2C2C2C,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x585858,0x404040, - 0x252525,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x3F3F3F,0xD1D1D1,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC8C8C8,0xC9C9C9, - 0xC8C8C8,0xC8C8C8,0xCACACA,0xD0D0D0,0xC2C2C2,0x818181,0x474747,0x373737, - 0x3D3D3D,0x3E3E3E,0x3A3A3A,0x484848,0xC7C7C7,0xC9C9C9,0xC8C8C8,0xC8C8C8, - 0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xCFCFCF,0xADADAD, - 0x494949,0x313131,0x353535,0x323232,0x00FF00,0xB9B9B9,0xC9C9C9,0xC8C8C8, - 0xCCCCCC,0xCACACA,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC9C9C9,0xCBCBCB,0xAFAFAF, - 0x9A9A9A,0x9B9B9B,0xAFAFAF,0xCBCBCB,0xC8C8C8,0xC5C5C5,0xC6C6C6,0xC7C7C7, - 0xCDCDCD,0xA3A3A3,0x404040,0x2F2F2F,0x323232,0x2F2F2F,0x2B2B2B,0x2A2A2A, - 0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x151515,0x535353,0xC2C2C2, - 0xC9C9C9,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC3C3C3,0xC2C2C2, - 0xC2C2C2,0xC3C3C3,0xC7C7C7,0xC4C4C4,0x676767,0x313131,0x343434,0x323232, - 0x313131,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x242424,0x565656,0xAFAFAF, - 0xC6C6C6,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0, - 0xC0C0C0,0xC0C0C0,0xC2C2C2,0xC8C8C8,0x919191,0x373737,0x323232,0x303030, - 0x323232,0x414141,0x737373,0xC4C4C4,0xC1C1C1,0xBFBFBF,0xBFBFBF,0xBFBFBF, - 0xBFBFBF,0xBFBFBF,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD, - 0xC1C1C1,0xA1A1A1,0x9F9F9F,0x494949,0x414141,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x3C3C3C,0xA9A9A9,0xC0C0C0,0xBABABA,0xBABABA, - 0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xB9B9B9,0xBABABA,0xBABABA,0xBDBDBD, - 0xC3C3C3,0x8E8E8E,0x3F3F3F,0x3A3A3A,0x3C3C3C,0x3B3B3B,0x383838,0x7A7A7A, - 0xC2C2C2,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB8B8B8, - 0xB8B8B8,0xB7B7B7,0xBFBFBF,0x949494,0x383838,0x323232,0x151515,0x323232, - 0x3F3F3F,0x414141,0x454545,0x474747,0x474747,0x4D4D4D,0x8B8B8B,0xBABABA, - 0xB9B9B9,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4, - 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB4B4B4, - 0xBBBBBB,0x898989,0x383838,0x353535,0x363636,0x2C2C2C,0x00FF00,0x00FF00, - 0x00FF00,0x3C3C3C,0x7B7B7B,0xAFAFAF,0xB3B3B3,0xB1B1B1,0xB1B1B1,0xB0B0B0, - 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF,0xB2B2B2, - 0xA6A6A6,0x676767,0x535353,0x454545,0x454545,0x464646,0x464646,0x464646, - 0x464646,0x414141,0x6A6A6A,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xADADAD,0xAEAEAE, - 0xADADAD,0xADADAD,0xADADAD,0xADADAD,0xADADAD,0xADADAD,0xACACAC,0xB0B0B0, - 0xAEAEAE,0x5F5F5F,0x4D4D4D,0x424242,0x414141,0x464646,0x474747,0x4B4B4B, - 0x5F5F5F,0xA3A3A3,0xB2B2B2,0xACACAC,0xABABAB,0xAAAAAA,0xAAAAAA,0xAAAAAA, - 0xAAAAAA,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9, - 0xA9A9A9,0xA9A9A9,0xAAAAAA,0xB2B2B2,0x797979,0x343434,0x333333,0x00FF00, - 0x00FF00,0x212121,0x3E3E3E,0x373737,0x353535,0x3E3E3E,0x7E7E7E,0xADADAD, - 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7, - 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xAEAEAE,0x949494,0x3D3D3D,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x363636,0x353535,0x333333,0x323232,0x373737,0x464646, - 0x666666,0xA6A6A6,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA3A3A3, - 0xA9A9A9,0x909090,0x464646,0x1E1E1E,0x00FF00,0x323232,0x343434,0x343434, - 0x333333,0x333333,0x323232,0x383838,0x5A5A5A,0x919191,0xA3A3A3,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA3A3A3,0xAEAEAE,0x646464,0x363636, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB7B7B7,0xC8C8C8, - 0xC5C5C5,0xD6D6D6,0xCFCFCF,0xCECECE,0xCBCBCB,0xCBCBCB,0xCBCBCB,0xCBCBCB, - 0xCBCBCB,0xCBCBCB,0xCBCBCB,0xCCCCCC,0xCCCCCC,0xCCCCCC,0xCCCCCC,0xCCCCCC, - 0xCCCCCC,0xCCCCCC,0xCCCCCC,0xCCCCCC,0xCCCCCC,0xCBCBCB,0xD2D2D2,0xBFBFBF, - 0xB3B3B3,0xB6B6B6,0xA7A7A7,0x323232,0x171717,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4A4A4A, - 0x424242,0x292929,0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x232323,0x999999,0xD2D2D2,0xCACACA,0xC9C9C9,0xC9C9C9,0xC9C9C9, - 0xC9C9C9,0xCECECE,0xCECECE,0xC0C0C0,0x8E8E8E,0x585858,0x3F3F3F,0x414141, - 0x414141,0x3F3F3F,0x3E3E3E,0x3B3B3B,0x3E3E3E,0xA3A3A3,0xCDCDCD,0xCCCCCC, - 0xC8C8C8,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xCACACA,0xCDCDCD,0xC7C7C7,0x9F9F9F, - 0x404040,0x353535,0x373737,0x363636,0x2A2A2A,0x282828,0xC5C5C5,0xCECECE, - 0xC1C1C1,0x919191,0xA8A8A8,0xC9C9C9,0xCDCDCD,0xC8C8C8,0xC7C7C7,0xC7C7C7, - 0xC9C9C9,0xCBCBCB,0xCBCBCB,0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC8C8C8,0xCCCCCC, - 0xC5C5C5,0x979797,0x3C3C3C,0x343434,0x343434,0x323232,0x2F2F2F,0x2B2B2B, - 0x2A2A2A,0x2C2C2C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x151515,0x4D4D4D, - 0x6A6A6A,0xAEAEAE,0xCBCBCB,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC4C4C4, - 0xC3C3C3,0xC7C7C7,0xC6C6C6,0xBABABA,0x5C5C5C,0x343434,0x393939,0x353535, - 0x323232,0x333333,0x171717,0x00FF00,0x00FF00,0x00FF00,0x232323,0x494949, - 0x5B5B5B,0xB9B9B9,0xC8C8C8,0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1, - 0xC1C1C1,0xC4C4C4,0xC7C7C7,0xBCBCBC,0x767676,0x373737,0x373737,0x353535, - 0x2B2B2B,0x484848,0xBEBEBE,0xCBCBCB,0xC5C5C5,0xC3C3C3,0xC3C3C3,0xC3C3C3, - 0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2, - 0xC2C2C2,0xC2C2C2,0xC6C6C6,0xC6C6C6,0xD2D2D2,0x858585,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x393939,0x585858,0xA9A9A9,0xBEBEBE, - 0xBCBCBC,0xBBBBBB,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBEBEBE,0xBDBDBD, - 0xA2A2A2,0x707070,0x3F3F3F,0x3D3D3D,0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3B3B3B, - 0x454545,0x949494,0xC1C1C1,0xBABABA,0xB9B9B9,0xB8B8B8,0xB8B8B8,0xB8B8B8, - 0xB8B8B8,0xB9B9B9,0xC1C1C1,0x919191,0x3A3A3A,0x343434,0x353535,0x151515, - 0x313131,0x404040,0x414141,0x454545,0x464646,0x494949,0x4B4B4B,0x4F4F4F, - 0x717171,0xA2A2A2,0xBBBBBB,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4, - 0xB4B4B4,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB4B4B4,0xB9B9B9, - 0xB6B6B6,0x8A8A8A,0x3C3C3C,0x393939,0x373737,0x363636,0x2A2A2A,0x00FF00, - 0x00FF00,0x404040,0xC1C1C1,0xB8B8B8,0xB3B3B3,0xB2B2B2,0xB2B2B2,0xB2B2B2, - 0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0, - 0xAFAFAF,0xB3B3B3,0xB3B3B3,0xACACAC,0x828282,0x4F4F4F,0x454545,0x464646, - 0x454545,0x444444,0x808080,0xAFAFAF,0xB0B0B0,0xAEAEAE,0xAFAFAF,0xAEAEAE, - 0xAEAEAE,0xADADAD,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD, - 0xADADAD,0xAFAFAF,0xAFAFAF,0xACACAC,0x909090,0x5A5A5A,0x414141,0x474747, - 0x4A4A4A,0x4A4A4A,0x575757,0x7E7E7E,0xA9A9A9,0xAFAFAF,0xACACAC,0xABABAB, - 0xAAAAAA,0xAAAAAA,0xAAAAAA,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xAAAAAA,0xA9A9A9, - 0xA9A9A9,0xA9A9A9,0xACACAC,0xAEAEAE,0x888888,0x393939,0x363636,0x2F2F2F, - 0x00FF00,0x00FF00,0x00FF00,0x323232,0x353535,0x5D5D5D,0x9F9F9F,0xACACAC, - 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7, - 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xABABAB,0xB1B1B1,0x9B9B9B, - 0xA7A7A7,0x343434,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x282828,0x595959,0x7C7C7C,0x787878,0x797979, - 0xA0A0A0,0xA5A5A5,0xA5A5A5,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA3A3A3, - 0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, - 0xA2A2A2,0xA2A2A2,0xA7A7A7,0xB2B2B2,0xA3A3A3,0x919191,0x767676,0x797979, - 0x5D5D5D,0x6E6E6E,0x777777,0x717171,0x808080,0xA5A5A5,0xA5A5A5,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xAAAAAA, - 0xACACAC,0x959595,0x949494,0x949494,0xA0A0A0,0x3B3B3B,0x282828,0x878787, - 0x878787,0x858585,0x969696,0x969696,0x969696,0x969696,0x969696,0x979797, - 0x969696,0x969696,0x969696,0x979797,0x969696,0x969696,0x969696,0x979797, - 0x979797,0x979797,0x979797,0x979797,0x989898,0x979797,0x989898,0x979797, - 0x878787,0x898989,0x8F8F8F,0x5E5E5E,0x282828,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x414141,0x474747,0x262626,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x282828,0x545454,0x909090,0xC1C1C1,0xC5C5C5,0xC5C5C5, - 0xC5C5C5,0xC2C2C2,0x9C9C9C,0x909090,0x5C5C5C,0x4C4C4C,0x454545,0x454545, - 0x424242,0x414141,0x3F3F3F,0x3E3E3E,0x3B3B3B,0x3D3D3D,0x4E4E4E,0x797979, - 0xB4B4B4,0xC5C5C5,0xC3C3C3,0xC4C4C4,0xC6C6C6,0xAEAEAE,0x909090,0x5D5D5D, - 0x434343,0x3C3C3C,0x3A3A3A,0x373737,0x353535,0x272727,0x717171,0xC5C5C5, - 0x969696,0x505050,0x5E5E5E,0x555555,0x767676,0x989898,0xBDBDBD,0xC7C7C7, - 0xCCCCCC,0xCBCBCB,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xC9C9C9,0xCACACA,0xBFBFBF, - 0x8A8A8A,0x545454,0x404040,0x3A3A3A,0x393939,0x343434,0x323232,0x2E2E2E, - 0x2B2B2B,0x2A2A2A,0x292929,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x212121, - 0x4F4F4F,0x474747,0x525252,0x959595,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xC0C0C0, - 0xBFBFBF,0xC1C1C1,0xACACAC,0x727272,0x484848,0x3C3C3C,0x3B3B3B,0x383838, - 0x353535,0x323232,0x333333,0x141414,0x00FF00,0x00FF00,0x00FF00,0x2C2C2C, - 0x4E4E4E,0x4F4F4F,0x565656,0x898989,0xBABABA,0xBCBCBC,0xBCBCBC,0xBCBCBC, - 0xBCBCBC,0xBFBFBF,0xA5A5A5,0x818181,0x4F4F4F,0x3C3C3C,0x3A3A3A,0x393939, - 0x353535,0x2C2C2C,0x474747,0x8D8D8D,0x9A9A9A,0x9A9A9A,0x9A9A9A,0x9A9A9A, - 0x9A9A9A,0x9A9A9A,0x999999,0x9A9A9A,0x999999,0x999999,0x999999,0x999999, - 0x999999,0x999999,0x999999,0x999999,0x999999,0xA2A2A2,0x535353,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x404040,0x494949,0x4F4F4F, - 0x7F7F7F,0xB8B8B8,0xB6B6B6,0xBDBDBD,0xBFBFBF,0xBABABA,0xB8B8B8,0xA1A1A1, - 0x696969,0x474747,0x3C3C3C,0x404040,0x3F3F3F,0x3D3D3D,0x3B3B3B,0x3B3B3B, - 0x3C3C3C,0x444444,0x4F4F4F,0x828282,0xB0B0B0,0xB5B5B5,0xBBBBBB,0xBBBBBB, - 0xBBBBBB,0xB4B4B4,0xAFAFAF,0x797979,0x414141,0x393939,0x373737,0x363636, - 0x151515,0x313131,0x404040,0x414141,0x444444,0x464646,0x494949,0x4C4C4C, - 0x4E4E4E,0x4A4A4A,0x5A5A5A,0x898989,0xAEAEAE,0xB9B9B9,0xB9B9B9,0xB6B6B6, - 0xB4B4B4,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB6B6B6,0xB9B9B9,0xB2B2B2, - 0x8E8E8E,0x5B5B5B,0x404040,0x3C3C3C,0x3A3A3A,0x373737,0x343434,0x2E2E2E, - 0x00FF00,0x00FF00,0x4C4C4C,0xBABABA,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE, - 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD,0xADADAD, - 0xADADAD,0xADADAD,0xADADAD,0xADADAD,0xAFAFAF,0xAFAFAF,0x575757,0x434343, - 0x464646,0x464646,0x404040,0xA7A7A7,0xAFAFAF,0xACACAC,0xACACAC,0xACACAC, - 0xACACAC,0xACACAC,0xABABAB,0xABABAB,0xABABAB,0xABABAB,0xAAAAAA,0xAAAAAA, - 0xAAAAAA,0xAAAAAA,0xAAAAAA,0xABABAB,0xABABAB,0xB4B4B4,0x767676,0x404040, - 0x484848,0x4A4A4A,0x4C4C4C,0x4C4C4C,0x4D4D4D,0x656565,0x8D8D8D,0xA8A8A8, - 0xAEAEAE,0xADADAD,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xAAAAAA, - 0xA9A9A9,0xACACAC,0xAFAFAF,0xA8A8A8,0x646464,0x3B3B3B,0x393939,0x373737, - 0x313131,0x00FF00,0x00FF00,0x00FF00,0x222222,0x353535,0x6B6B6B,0xB0B0B0, - 0xA7A7A7,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xA5A5A5, - 0xA5A5A5,0xA5A5A5,0xA5A5A5,0xA5A5A5,0xA5A5A5,0xA5A5A5,0xA5A5A5,0xA5A5A5, - 0xA8A8A8,0xB0B0B0,0x626262,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x161616,0x626262,0xAEAEAE,0xA8A8A8, - 0xA7A7A7,0xA3A3A3,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, - 0xA1A1A1,0xA0A0A0,0xA1A1A1,0xA0A0A0,0xA0A0A0,0xA2A2A2,0xA4A4A4,0xA6A6A6, - 0xA7A7A7,0x9A9A9A,0x979797,0xA6A6A6,0xA5A5A5,0xA3A3A3,0xA0A0A0,0xA0A0A0, - 0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0, - 0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0, - 0xA0A0A0,0xA0A0A0,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA7A7A7,0x8D8D8D,0x00FF00, - 0x4E4E4E,0x5C5C5C,0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A, - 0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A, - 0x5A5A5A,0x5B5B5B,0x5B5B5B,0x5B5B5B,0x5B5B5B,0x5B5B5B,0x5B5B5B,0x5B5B5B, - 0x5B5B5B,0x5B5B5B,0x5B5B5B,0x616161,0x434343,0x181818,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x414141,0x4F4F4F,0x1C1C1C,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x232323,0x525252,0x525252,0x606060,0x696969, - 0x727272,0x7A7A7A,0x777777,0x636363,0x545454,0x515151,0x4F4F4F,0x484848, - 0x454545,0x434343,0x404040,0x3F3F3F,0x3E3E3E,0x3C3C3C,0x3D3D3D,0x4C4C4C, - 0x4E4E4E,0x5D5D5D,0x6B6B6B,0x767676,0x7D7D7D,0x7F7F7F,0x6C6C6C,0x505050, - 0x484848,0x434343,0x3E3E3E,0x3A3A3A,0x363636,0x353535,0x2D2D2D,0x626262, - 0x747474,0x2C2C2C,0x3F3F3F,0x606060,0x545454,0x4F4F4F,0x535353,0x5C5C5C, - 0x7B7B7B,0x9A9A9A,0x9A9A9A,0xC1C1C1,0xC1C1C1,0xA2A2A2,0xA1A1A1,0x979797, - 0x616161,0x4A4A4A,0x444444,0x414141,0x3C3C3C,0x393939,0x353535,0x323232, - 0x2F2F2F,0x2B2B2B,0x2A2A2A,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x1A1A1A,0x4B4B4B,0x4F4F4F,0x4F4F4F,0x535353,0x626262,0x696969,0x727272, - 0x7A7A7A,0x7A7A7A,0x767676,0x626262,0x4A4A4A,0x444444,0x3F3F3F,0x3B3B3B, - 0x393939,0x353535,0x333333,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x323232,0x4C4C4C,0x4E4E4E,0x4F4F4F,0x525252,0x616161,0x686868,0x747474, - 0x7B7B7B,0x7B7B7B,0x787878,0x626262,0x494949,0x424242,0x3F3F3F,0x3B3B3B, - 0x393939,0x353535,0x2E2E2E,0x444444,0x696969,0x656565,0x656565,0x656565, - 0x656565,0x656565,0x656565,0x656565,0x656565,0x656565,0x656565,0x656565, - 0x656565,0x656565,0x656565,0x656565,0x656565,0x656565,0x6A6A6A,0x4A4A4A, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x414141,0x4B4B4B, - 0x4E4E4E,0x535353,0x606060,0x6E6E6E,0x9A9A9A,0xA2A2A2,0x838383,0x666666, - 0x565656,0x454545,0x464646,0x434343,0x414141,0x3F3F3F,0x3D3D3D,0x3B3B3B, - 0x3B3B3B,0x3D3D3D,0x464646,0x4D4D4D,0x505050,0x5D5D5D,0x707070,0x9A9A9A, - 0x9F9F9F,0x999999,0x6B6B6B,0x585858,0x424242,0x3F3F3F,0x3B3B3B,0x373737, - 0x343434,0x131313,0x313131,0x3F3F3F,0x414141,0x444444,0x464646,0x494949, - 0x4C4C4C,0x4E4E4E,0x4F4F4F,0x4F4F4F,0x555555,0x616161,0x8A8A8A,0x919191, - 0xA9A9A9,0xB4B4B4,0xB3B3B3,0xB2B2B2,0xB2B2B2,0xB4B4B4,0xA3A3A3,0x8A8A8A, - 0x616161,0x484848,0x404040,0x404040,0x3D3D3D,0x3A3A3A,0x373737,0x343434, - 0x313131,0x00FF00,0x00FF00,0x343434,0x888888,0x7F7F7F,0x7F7F7F,0x7F7F7F, - 0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F, - 0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x828282,0x717171,0x4C4C4C, - 0x454545,0x464646,0x464646,0x414141,0x6F6F6F,0x838383,0x7F7F7F,0x7F7F7F, - 0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F, - 0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x535353, - 0x444444,0x474747,0x494949,0x4C4C4C,0x4F4F4F,0x505050,0x4E4E4E,0x565656, - 0x656565,0x888888,0x9B9B9B,0xACACAC,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9, - 0xA8A8A8,0xAAAAAA,0x9A9A9A,0x7C7C7C,0x535353,0x414141,0x3E3E3E,0x3A3A3A, - 0x373737,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x181818,0x3A3A3A,0x545454, - 0x858585,0x808080,0x808080,0x808080,0x808080,0x808080,0x808080,0x808080, - 0x808080,0x808080,0x808080,0x808080,0x808080,0x808080,0x808080,0x808080, - 0x808080,0x808080,0x898989,0x505050,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3C3C3C,0x797979, - 0x848484,0x838383,0x838383,0x838383,0x838383,0x838383,0x838383,0x838383, - 0x838383,0x818181,0x818181,0x818181,0x818181,0x818181,0x838383,0x838383, - 0x818181,0x818181,0x818181,0x818181,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x808080, - 0x7F7F7F,0x7F7F7F,0x808080,0x686868,0x7D7D7D,0x7E7E7E,0x7E7E7E,0x7D7D7D, - 0x7E7E7E,0x7E7E7E,0x7E7E7E,0x7E7E7E,0x7E7E7E,0x7E7E7E,0x7E7E7E,0x7E7E7E, - 0x7E7E7E,0x7E7E7E,0x7D7D7D,0x7D7D7D,0x7D7D7D,0x7D7D7D,0x7D7D7D,0x7D7D7D, - 0x7D7D7D,0x7D7D7D,0x7D7D7D,0x7D7D7D,0x7D7D7D,0x7D7D7D,0x808080,0x686868, - 0x00FF00,0x505050,0x636363,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161, - 0x616161,0x616161,0x616161,0x616161,0x656565,0x515151,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x3F3F3F,0x515151,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x222222,0x525252,0x525252,0x525252, - 0x585858,0x626262,0x676767,0x666666,0x626262,0x5A5A5A,0x525252,0x4F4F4F, - 0x484848,0x454545,0x424242,0x414141,0x3F3F3F,0x3E3E3E,0x3C3C3C,0x3C3C3C, - 0x4B4B4B,0x525252,0x525252,0x565656,0x5E5E5E,0x666666,0x686868,0x616161, - 0x575757,0x4B4B4B,0x434343,0x3E3E3E,0x3A3A3A,0x363636,0x353535,0x2C2C2C, - 0x484848,0x515151,0x2E2E2E,0x454545,0x616161,0x555555,0x535353,0x535353, - 0x525252,0x515151,0x515151,0x5C5C5C,0x767676,0x7B7B7B,0x707070,0x616161, - 0x595959,0x535353,0x4C4C4C,0x464646,0x414141,0x3C3C3C,0x393939,0x353535, - 0x323232,0x2F2F2F,0x2B2B2B,0x2A2A2A,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x141414,0x4A4A4A,0x4F4F4F,0x515151,0x525252,0x535353,0x595959, - 0x626262,0x686868,0x686868,0x646464,0x5A5A5A,0x4F4F4F,0x444444,0x3F3F3F, - 0x3A3A3A,0x393939,0x353535,0x323232,0x323232,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x1E1E1E,0x4D4D4D,0x4E4E4E,0x505050,0x525252,0x545454,0x595959, - 0x646464,0x696969,0x696969,0x646464,0x5B5B5B,0x4F4F4F,0x434343,0x3F3F3F, - 0x3A3A3A,0x393939,0x353535,0x2D2D2D,0x4E4E4E,0x6E6E6E,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x6E6E6E, - 0x535353,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x424242, - 0x4C4C4C,0x4F4F4F,0x515151,0x545454,0x5D5D5D,0x656565,0x686868,0x646464, - 0x5A5A5A,0x515151,0x4A4A4A,0x464646,0x434343,0x414141,0x3F3F3F,0x3D3D3D, - 0x3B3B3B,0x3B3B3B,0x3D3D3D,0x464646,0x4E4E4E,0x515151,0x545454,0x5B5B5B, - 0x636363,0x686868,0x666666,0x5C5C5C,0x4E4E4E,0x454545,0x404040,0x3B3B3B, - 0x373737,0x363636,0x161616,0x323232,0x3F3F3F,0x424242,0x454545,0x464646, - 0x494949,0x4C4C4C,0x4D4D4D,0x4F4F4F,0x515151,0x535353,0x535353,0x535353, - 0x575757,0x707070,0x7E7E7E,0x848484,0x848484,0x838383,0x7B7B7B,0x696969, - 0x4E4E4E,0x484848,0x464646,0x434343,0x404040,0x3D3D3D,0x3A3A3A,0x373737, - 0x343434,0x323232,0x00FF00,0x00FF00,0x333333,0x727272,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6E6E6E,0x626262, - 0x444444,0x464646,0x464646,0x444444,0x4B4B4B,0x696969,0x6C6C6C,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6E6E6E, - 0x4D4D4D,0x434343,0x484848,0x4A4A4A,0x4D4D4D,0x4F4F4F,0x4F4F4F,0x515151, - 0x535353,0x555555,0x565656,0x696969,0x7B7B7B,0x808080,0x838383,0x848484, - 0x828282,0x797979,0x6F6F6F,0x5C5C5C,0x454545,0x434343,0x414141,0x3E3E3E, - 0x3A3A3A,0x373737,0x292929,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636, - 0x535353,0x707070,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x747474,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x303030, - 0x676767,0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x6A6A6A,0x676767,0x575757,0x6A6A6A,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x686868,0x686868,0x686868,0x686868,0x686868, - 0x686868,0x686868,0x686868,0x686868,0x686868,0x686868,0x686868,0x6E6E6E, - 0x4F4F4F,0x00FF00,0x545454,0x626262,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x616161,0x616161,0x616161,0x616161, - 0x616161,0x616161,0x616161,0x616161,0x616161,0x656565,0x505050,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x383838,0x4F4F4F,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x202020,0x525252,0x525252, - 0x545454,0x5A5A5A,0x626262,0x686868,0x676767,0x626262,0x595959,0x525252, - 0x4F4F4F,0x494949,0x444444,0x424242,0x404040,0x3F3F3F,0x3E3E3E,0x3C3C3C, - 0x3C3C3C,0x4B4B4B,0x525252,0x535353,0x585858,0x626262,0x676767,0x696969, - 0x626262,0x565656,0x4B4B4B,0x434343,0x3E3E3E,0x3A3A3A,0x373737,0x343434, - 0x2E2E2E,0x404040,0x5A5A5A,0x2F2F2F,0x404040,0x5D5D5D,0x555555,0x535353, - 0x535353,0x535353,0x555555,0x565656,0x5A5A5A,0x616161,0x666666,0x6A6A6A, - 0x666666,0x5E5E5E,0x555555,0x4C4C4C,0x464646,0x414141,0x3C3C3C,0x3A3A3A, - 0x353535,0x323232,0x2F2F2F,0x2B2B2B,0x2A2A2A,0x2B2B2B,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x1F1F1F,0x4F4F4F,0x4E4E4E,0x505050,0x525252,0x555555, - 0x5A5A5A,0x636363,0x696969,0x696969,0x656565,0x5C5C5C,0x4F4F4F,0x444444, - 0x3F3F3F,0x3A3A3A,0x393939,0x353535,0x313131,0x343434,0x181818,0x00FF00, - 0x00FF00,0x00FF00,0x242424,0x4F4F4F,0x4E4E4E,0x505050,0x525252,0x555555, - 0x5A5A5A,0x666666,0x696969,0x696969,0x656565,0x5B5B5B,0x4F4F4F,0x444444, - 0x3E3E3E,0x3A3A3A,0x393939,0x343434,0x2D2D2D,0x4F4F4F,0x6C6C6C,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x6E6E6E,0x535353,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x434343,0x4C4C4C,0x4F4F4F,0x515151,0x555555,0x5E5E5E,0x686868,0x6B6B6B, - 0x666666,0x5B5B5B,0x515151,0x494949,0x474747,0x424242,0x404040,0x3F3F3F, - 0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3D3D3D,0x464646,0x4E4E4E,0x515151,0x555555, - 0x5D5D5D,0x666666,0x6B6B6B,0x696969,0x5D5D5D,0x4F4F4F,0x454545,0x404040, - 0x3A3A3A,0x383838,0x323232,0x00FF00,0x333333,0x414141,0x424242,0x454545, - 0x474747,0x4A4A4A,0x4C4C4C,0x4D4D4D,0x4F4F4F,0x515151,0x535353,0x545454, - 0x585858,0x5D5D5D,0x5E5E5E,0x646464,0x6A6A6A,0x6A6A6A,0x686868,0x626262, - 0x5A5A5A,0x525252,0x4A4A4A,0x474747,0x434343,0x404040,0x3D3D3D,0x393939, - 0x363636,0x353535,0x2A2A2A,0x00FF00,0x00FF00,0x343434,0x767676,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6E6E6E, - 0x676767,0x464646,0x464646,0x464646,0x444444,0x444444,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6E6E6E, - 0x6C6C6C,0x4D4D4D,0x444444,0x484848,0x4B4B4B,0x4C4C4C,0x4E4E4E,0x505050, - 0x515151,0x535353,0x565656,0x5B5B5B,0x5F5F5F,0x646464,0x676767,0x6B6B6B, - 0x6C6C6C,0x696969,0x636363,0x575757,0x4F4F4F,0x4A4A4A,0x444444,0x414141, - 0x3D3D3D,0x393939,0x373737,0x292929,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x323232,0x545454,0x707070,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x747474,0x3A3A3A,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x2F2F2F,0x6E6E6E,0x6C6C6C,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B,0x676767,0x545454,0x6B6B6B,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x6F6F6F,0x464646,0x00FF00,0x4E4E4E,0x636363,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x616161,0x616161,0x616161, - 0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x656565,0x515151, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1C1C1C,0x515151, - 0x525252,0x545454,0x5A5A5A,0x636363,0x696969,0x676767,0x626262,0x5A5A5A, - 0x525252,0x4F4F4F,0x494949,0x444444,0x434343,0x414141,0x3E3E3E,0x3E3E3E, - 0x3C3C3C,0x3C3C3C,0x4B4B4B,0x525252,0x535353,0x585858,0x616161,0x676767, - 0x696969,0x636363,0x575757,0x4C4C4C,0x434343,0x3E3E3E,0x3A3A3A,0x373737, - 0x353535,0x2B2B2B,0x424242,0x575757,0x2F2F2F,0x444444,0x626262,0x545454, - 0x535353,0x535353,0x535353,0x555555,0x565656,0x5A5A5A,0x636363,0x686868, - 0x696969,0x656565,0x606060,0x545454,0x4B4B4B,0x464646,0x414141,0x3C3C3C, - 0x393939,0x343434,0x323232,0x2F2F2F,0x2B2B2B,0x2A2A2A,0x2E2E2E,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4A4A4A,0x4E4E4E,0x505050,0x525252, - 0x565656,0x5A5A5A,0x636363,0x696969,0x696969,0x646464,0x5B5B5B,0x4F4F4F, - 0x444444,0x3F3F3F,0x3B3B3B,0x393939,0x353535,0x323232,0x333333,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x2D2D2D,0x4D4D4D,0x4E4E4E,0x515151,0x525252, - 0x555555,0x5A5A5A,0x646464,0x696969,0x696969,0x656565,0x595959,0x505050, - 0x454545,0x3E3E3E,0x3A3A3A,0x383838,0x343434,0x2E2E2E,0x4C4C4C,0x6C6C6C, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x6E6E6E,0x515151,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x444444,0x4C4C4C,0x4F4F4F,0x515151,0x555555,0x5E5E5E,0x686868, - 0x6B6B6B,0x656565,0x5A5A5A,0x515151,0x494949,0x474747,0x424242,0x404040, - 0x3F3F3F,0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3E3E3E,0x464646,0x4E4E4E,0x515151, - 0x565656,0x5D5D5D,0x666666,0x6C6C6C,0x696969,0x5D5D5D,0x4E4E4E,0x454545, - 0x404040,0x3A3A3A,0x383838,0x2D2D2D,0x00FF00,0x2B2B2B,0x414141,0x424242, - 0x454545,0x474747,0x4A4A4A,0x4C4C4C,0x4D4D4D,0x4F4F4F,0x515151,0x525252, - 0x545454,0x585858,0x5C5C5C,0x606060,0x666666,0x6B6B6B,0x6C6C6C,0x6A6A6A, - 0x646464,0x5B5B5B,0x515151,0x4A4A4A,0x464646,0x424242,0x404040,0x3D3D3D, - 0x3A3A3A,0x363636,0x373737,0x202020,0x00FF00,0x00FF00,0x373737,0x767676, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6E6E6E,0x606060,0x464646,0x464646,0x464646,0x464646,0x414141,0x676767, - 0x6E6E6E,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6E6E6E,0x696969,0x464646,0x454545,0x484848,0x4A4A4A,0x4D4D4D,0x4F4F4F, - 0x505050,0x515151,0x535353,0x565656,0x5B5B5B,0x616161,0x666666,0x696969, - 0x6E6E6E,0x6E6E6E,0x6B6B6B,0x646464,0x585858,0x505050,0x4A4A4A,0x454545, - 0x414141,0x3D3D3D,0x393939,0x383838,0x232323,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x282828,0x5C5C5C,0x707070,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x747474,0x2B2B2B,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x3D3D3D,0x707070,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B,0x636363,0x565656,0x6C6C6C, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x707070,0x3C3C3C,0x00FF00,0x444444,0x646464,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x616161,0x616161, - 0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x656565, - 0x515151,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1D1D1D, - 0x515151,0x525252,0x545454,0x5A5A5A,0x646464,0x696969,0x676767,0x616161, - 0x5A5A5A,0x525252,0x4F4F4F,0x494949,0x444444,0x434343,0x414141,0x3E3E3E, - 0x3E3E3E,0x3C3C3C,0x3C3C3C,0x4B4B4B,0x525252,0x545454,0x585858,0x616161, - 0x676767,0x696969,0x636363,0x575757,0x4B4B4B,0x434343,0x3E3E3E,0x3A3A3A, - 0x373737,0x353535,0x303030,0x434343,0x5C5C5C,0x303030,0x3D3D3D,0x5C5C5C, - 0x555555,0x535353,0x535353,0x535353,0x555555,0x575757,0x5B5B5B,0x646464, - 0x686868,0x696969,0x656565,0x5D5D5D,0x545454,0x4C4C4C,0x464646,0x414141, - 0x3C3C3C,0x393939,0x343434,0x323232,0x2F2F2F,0x2B2B2B,0x2A2A2A,0x2B2B2B, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x141414,0x4C4C4C,0x4F4F4F,0x515151, - 0x525252,0x555555,0x5B5B5B,0x646464,0x696969,0x696969,0x656565,0x595959, - 0x4F4F4F,0x444444,0x3F3F3F,0x3B3B3B,0x393939,0x343434,0x333333,0x323232, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2D2D2D,0x4C4C4C,0x4E4E4E,0x505050, - 0x525252,0x555555,0x5A5A5A,0x646464,0x6A6A6A,0x696969,0x656565,0x595959, - 0x4F4F4F,0x444444,0x3F3F3F,0x3A3A3A,0x393939,0x343434,0x2D2D2D,0x414141, - 0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x707070,0x4A4A4A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x454545,0x4C4C4C,0x4F4F4F,0x515151,0x565656,0x606060, - 0x686868,0x6B6B6B,0x656565,0x5A5A5A,0x515151,0x4A4A4A,0x464646,0x424242, - 0x404040,0x3F3F3F,0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3E3E3E,0x474747,0x4E4E4E, - 0x515151,0x565656,0x5D5D5D,0x666666,0x6C6C6C,0x686868,0x5C5C5C,0x4E4E4E, - 0x444444,0x404040,0x3A3A3A,0x383838,0x2F2F2F,0x00FF00,0x161616,0x444444, - 0x424242,0x454545,0x474747,0x4A4A4A,0x4C4C4C,0x4E4E4E,0x4F4F4F,0x515151, - 0x535353,0x545454,0x585858,0x5C5C5C,0x616161,0x666666,0x6B6B6B,0x6B6B6B, - 0x6A6A6A,0x646464,0x5A5A5A,0x515151,0x4B4B4B,0x474747,0x424242,0x404040, - 0x3C3C3C,0x3A3A3A,0x363636,0x353535,0x252525,0x00FF00,0x00FF00,0x474747, - 0x727272,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x707070,0x595959,0x434343,0x464646,0x464646,0x454545,0x4C4C4C, - 0x6A6A6A,0x6E6E6E,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x4A4A4A,0x444444,0x484848,0x4B4B4B,0x4D4D4D, - 0x4F4F4F,0x505050,0x515151,0x535353,0x575757,0x5B5B5B,0x616161,0x676767, - 0x6A6A6A,0x6E6E6E,0x6E6E6E,0x6A6A6A,0x646464,0x585858,0x505050,0x494949, - 0x444444,0x414141,0x3D3D3D,0x393939,0x363636,0x262626,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x202020,0x616161,0x707070,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6E6E6E,0x727272,0x282828, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x434343,0x6F6F6F,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B,0x616161,0x595959, - 0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x717171,0x313131,0x00FF00,0x3C3C3C,0x656565,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x616161, - 0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161, - 0x646464,0x575757,0x191919,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x181818,0x505050,0x525252,0x545454,0x5A5A5A,0x636363,0x696969,0x676767, - 0x626262,0x5A5A5A,0x525252,0x4F4F4F,0x494949,0x454545,0x434343,0x414141, - 0x3F3F3F,0x3E3E3E,0x3C3C3C,0x3B3B3B,0x4A4A4A,0x525252,0x545454,0x575757, - 0x606060,0x676767,0x696969,0x636363,0x575757,0x4B4B4B,0x434343,0x3E3E3E, - 0x3A3A3A,0x373737,0x353535,0x2C2C2C,0x3B3B3B,0x585858,0x2F2F2F,0x424242, - 0x626262,0x555555,0x535353,0x535353,0x535353,0x555555,0x565656,0x5A5A5A, - 0x636363,0x686868,0x696969,0x656565,0x5D5D5D,0x555555,0x4B4B4B,0x464646, - 0x414141,0x3C3C3C,0x393939,0x353535,0x323232,0x2F2F2F,0x2B2B2B,0x2A2A2A, - 0x282828,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0x4E4E4E,0x4E4E4E, - 0x505050,0x525252,0x555555,0x5B5B5B,0x646464,0x696969,0x696969,0x656565, - 0x5A5A5A,0x4E4E4E,0x434343,0x3F3F3F,0x3B3B3B,0x393939,0x353535,0x323232, - 0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1C1C1C,0x4D4D4D,0x4E4E4E, - 0x505050,0x525252,0x555555,0x5A5A5A,0x656565,0x6A6A6A,0x696969,0x646464, - 0x5A5A5A,0x4E4E4E,0x434343,0x3F3F3F,0x3B3B3B,0x393939,0x343434,0x2D2D2D, - 0x424242,0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x707070,0x434343,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x464646,0x4C4C4C,0x4F4F4F,0x525252,0x565656, - 0x616161,0x686868,0x6A6A6A,0x656565,0x5A5A5A,0x515151,0x494949,0x464646, - 0x424242,0x404040,0x3F3F3F,0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3E3E3E,0x484848, - 0x4E4E4E,0x525252,0x565656,0x5D5D5D,0x666666,0x6C6C6C,0x686868,0x5B5B5B, - 0x4E4E4E,0x444444,0x404040,0x3A3A3A,0x383838,0x2F2F2F,0x00FF00,0x00FF00, - 0x424242,0x434343,0x454545,0x474747,0x4A4A4A,0x4C4C4C,0x4E4E4E,0x505050, - 0x515151,0x535353,0x545454,0x585858,0x5D5D5D,0x616161,0x666666,0x6C6C6C, - 0x6B6B6B,0x6A6A6A,0x646464,0x595959,0x505050,0x4A4A4A,0x474747,0x424242, - 0x3F3F3F,0x3C3C3C,0x3A3A3A,0x363636,0x343434,0x282828,0x00FF00,0x00FF00, - 0x414141,0x737373,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x707070,0x626262,0x464646,0x464646,0x464646,0x434343, - 0x4B4B4B,0x707070,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6E6E6E,0x656565,0x464646,0x454545,0x484848,0x4B4B4B, - 0x4C4C4C,0x4F4F4F,0x505050,0x515151,0x545454,0x575757,0x5B5B5B,0x606060, - 0x676767,0x6A6A6A,0x6E6E6E,0x6E6E6E,0x6A6A6A,0x636363,0x585858,0x4F4F4F, - 0x484848,0x444444,0x414141,0x3C3C3C,0x383838,0x383838,0x1C1C1C,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x666666,0x707070,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6E6E6E,0x707070, - 0x1E1E1E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x454545,0x707070,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6C6C6C,0x5E5E5E, - 0x5B5B5B,0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x6F6F6F,0x262626,0x00FF00,0x363636,0x656565, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161, - 0x616161,0x646464,0x575757,0x181818,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x161616,0x4F4F4F,0x525252,0x545454,0x595959,0x636363,0x686868, - 0x676767,0x626262,0x5A5A5A,0x535353,0x4F4F4F,0x494949,0x454545,0x434343, - 0x414141,0x3F3F3F,0x3E3E3E,0x3D3D3D,0x3B3B3B,0x494949,0x525252,0x545454, - 0x575757,0x616161,0x676767,0x696969,0x636363,0x575757,0x4C4C4C,0x444444, - 0x3F3F3F,0x3A3A3A,0x373737,0x353535,0x303030,0x323232,0x5B5B5B,0x313131, - 0x3C3C3C,0x5B5B5B,0x555555,0x535353,0x535353,0x535353,0x555555,0x575757, - 0x5A5A5A,0x636363,0x686868,0x696969,0x656565,0x5E5E5E,0x555555,0x4C4C4C, - 0x464646,0x414141,0x3C3C3C,0x393939,0x353535,0x323232,0x2F2F2F,0x2B2B2B, - 0x2F2F2F,0x242424,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x484848, - 0x4F4F4F,0x505050,0x525252,0x555555,0x5B5B5B,0x636363,0x696969,0x696969, - 0x646464,0x5A5A5A,0x4F4F4F,0x434343,0x3E3E3E,0x3A3A3A,0x393939,0x353535, - 0x313131,0x343434,0x181818,0x00FF00,0x00FF00,0x00FF00,0x242424,0x4E4E4E, - 0x4E4E4E,0x505050,0x525252,0x555555,0x5A5A5A,0x656565,0x696969,0x696969, - 0x646464,0x5A5A5A,0x4E4E4E,0x434343,0x3E3E3E,0x3A3A3A,0x393939,0x353535, - 0x2D2D2D,0x4C4C4C,0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x727272,0x3A3A3A,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x141414,0x474747,0x4B4B4B,0x4F4F4F,0x525252, - 0x565656,0x616161,0x686868,0x6A6A6A,0x656565,0x595959,0x505050,0x494949, - 0x464646,0x424242,0x404040,0x3F3F3F,0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3E3E3E, - 0x484848,0x4F4F4F,0x525252,0x565656,0x5D5D5D,0x666666,0x6C6C6C,0x686868, - 0x5B5B5B,0x4E4E4E,0x444444,0x3F3F3F,0x3A3A3A,0x373737,0x303030,0x00FF00, - 0x00FF00,0x323232,0x464646,0x454545,0x474747,0x4A4A4A,0x4C4C4C,0x4E4E4E, - 0x505050,0x515151,0x525252,0x555555,0x585858,0x5E5E5E,0x616161,0x666666, - 0x6C6C6C,0x6B6B6B,0x6A6A6A,0x636363,0x595959,0x4F4F4F,0x4A4A4A,0x464646, - 0x424242,0x404040,0x3D3D3D,0x3A3A3A,0x363636,0x343434,0x2C2C2C,0x00FF00, - 0x00FF00,0x454545,0x737373,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x727272,0x4F4F4F,0x343434,0x4A4A4A,0x464646, - 0x434343,0x414141,0x6E6E6E,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6F6F6F,0x646464,0x434343,0x464646,0x494949, - 0x4B4B4B,0x4D4D4D,0x4F4F4F,0x505050,0x515151,0x545454,0x575757,0x5C5C5C, - 0x626262,0x676767,0x6A6A6A,0x6E6E6E,0x6E6E6E,0x696969,0x626262,0x565656, - 0x4E4E4E,0x484848,0x444444,0x414141,0x3C3C3C,0x393939,0x363636,0x222222, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0x626262,0x707070,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6F6F6F, - 0x6B6B6B,0x161616,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4B4B4B,0x6F6F6F,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6C6C6C, - 0x5D5D5D,0x5C5C5C,0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x707070,0x282828,0x00FF00,0x3E3E3E, - 0x646464,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161, - 0x616161,0x616161,0x646464,0x565656,0x1D1D1D,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x151515,0x515151,0x525252,0x535353,0x595959,0x636363, - 0x686868,0x676767,0x626262,0x5B5B5B,0x535353,0x4F4F4F,0x494949,0x444444, - 0x434343,0x414141,0x3F3F3F,0x3E3E3E,0x3D3D3D,0x3B3B3B,0x484848,0x515151, - 0x545454,0x575757,0x606060,0x676767,0x696969,0x636363,0x575757,0x4B4B4B, - 0x434343,0x3F3F3F,0x3A3A3A,0x373737,0x353535,0x2F2F2F,0x3F3F3F,0x5A5A5A, - 0x2E2E2E,0x404040,0x626262,0x565656,0x535353,0x535353,0x535353,0x555555, - 0x575757,0x5A5A5A,0x636363,0x686868,0x696969,0x656565,0x5D5D5D,0x555555, - 0x4C4C4C,0x464646,0x414141,0x3D3D3D,0x3A3A3A,0x353535,0x323232,0x2F2F2F, - 0x2B2B2B,0x2E2E2E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x151515, - 0x4C4C4C,0x4E4E4E,0x515151,0x525252,0x555555,0x5B5B5B,0x636363,0x696969, - 0x696969,0x646464,0x5A5A5A,0x4F4F4F,0x454545,0x3F3F3F,0x3B3B3B,0x383838, - 0x353535,0x323232,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2E2E2E, - 0x4D4D4D,0x4E4E4E,0x505050,0x525252,0x565656,0x5A5A5A,0x656565,0x696969, - 0x696969,0x646464,0x595959,0x4F4F4F,0x444444,0x3E3E3E,0x3A3A3A,0x393939, - 0x343434,0x2D2D2D,0x4F4F4F,0x6E6E6E,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x727272,0x3E3E3E,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x161616,0x464646,0x4C4C4C,0x4F4F4F, - 0x525252,0x565656,0x606060,0x696969,0x6A6A6A,0x646464,0x595959,0x505050, - 0x494949,0x464646,0x424242,0x404040,0x3F3F3F,0x3D3D3D,0x3B3B3B,0x3B3B3B, - 0x3E3E3E,0x484848,0x4F4F4F,0x515151,0x565656,0x5D5D5D,0x676767,0x6C6C6C, - 0x686868,0x5A5A5A,0x4D4D4D,0x444444,0x3F3F3F,0x3A3A3A,0x373737,0x313131, - 0x00FF00,0x00FF00,0x1E1E1E,0x474747,0x464646,0x474747,0x4A4A4A,0x4C4C4C, - 0x4E4E4E,0x505050,0x525252,0x535353,0x545454,0x585858,0x5E5E5E,0x616161, - 0x666666,0x6B6B6B,0x6B6B6B,0x696969,0x626262,0x595959,0x4F4F4F,0x4A4A4A, - 0x464646,0x424242,0x404040,0x3C3C3C,0x393939,0x363636,0x343434,0x202020, - 0x00FF00,0x00FF00,0x454545,0x737373,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x737373,0x3C3C3C,0x141414,0x464646, - 0x484848,0x444444,0x464646,0x6B6B6B,0x6E6E6E,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x696969,0x474747,0x464646, - 0x494949,0x4A4A4A,0x4D4D4D,0x4F4F4F,0x505050,0x525252,0x545454,0x585858, - 0x5C5C5C,0x626262,0x676767,0x6A6A6A,0x6E6E6E,0x6E6E6E,0x686868,0x616161, - 0x565656,0x4E4E4E,0x484848,0x434343,0x414141,0x3D3D3D,0x383838,0x363636, - 0x161616,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1F1F1F,0x6C6C6C,0x6F6F6F, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6F6F6F,0x6C6C6C,0x161616,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4F4F4F,0x707070,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6C6C6C,0x5A5A5A,0x626262,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x6A6A6A,0x6F6F6F,0x202020,0x00FF00, - 0x313131,0x656565,0x5F5F5F,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161, - 0x616161,0x616161,0x616161,0x646464,0x585858,0x272727,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4E4E4E,0x525252,0x535353,0x595959, - 0x626262,0x686868,0x686868,0x626262,0x5B5B5B,0x535353,0x4F4F4F,0x4A4A4A, - 0x444444,0x434343,0x414141,0x3F3F3F,0x3E3E3E,0x3C3C3C,0x3C3C3C,0x494949, - 0x515151,0x535353,0x575757,0x606060,0x666666,0x696969,0x636363,0x575757, - 0x4C4C4C,0x444444,0x3F3F3F,0x3A3A3A,0x373737,0x343434,0x303030,0x343434, - 0x5B5B5B,0x323232,0x3C3C3C,0x5C5C5C,0x575757,0x535353,0x535353,0x535353, - 0x555555,0x565656,0x595959,0x626262,0x686868,0x696969,0x656565,0x5E5E5E, - 0x555555,0x4C4C4C,0x464646,0x414141,0x3C3C3C,0x3A3A3A,0x353535,0x323232, - 0x2F2F2F,0x2D2D2D,0x262626,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x494949,0x4E4E4E,0x505050,0x525252,0x555555,0x5A5A5A,0x636363, - 0x696969,0x696969,0x656565,0x5A5A5A,0x4F4F4F,0x444444,0x3F3F3F,0x3B3B3B, - 0x393939,0x353535,0x333333,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x282828,0x4C4C4C,0x4E4E4E,0x505050,0x525252,0x555555,0x5A5A5A,0x646464, - 0x6A6A6A,0x696969,0x646464,0x595959,0x4E4E4E,0x444444,0x3F3F3F,0x3A3A3A, - 0x383838,0x353535,0x2E2E2E,0x4D4D4D,0x6C6C6C,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x707070,0x474747, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x181818,0x474747,0x4C4C4C, - 0x4F4F4F,0x525252,0x565656,0x606060,0x696969,0x6A6A6A,0x646464,0x595959, - 0x505050,0x484848,0x454545,0x424242,0x404040,0x3F3F3F,0x3D3D3D,0x3B3B3B, - 0x3B3B3B,0x3E3E3E,0x484848,0x4F4F4F,0x515151,0x575757,0x5E5E5E,0x676767, - 0x6B6B6B,0x676767,0x5A5A5A,0x4D4D4D,0x444444,0x3F3F3F,0x3A3A3A,0x373737, - 0x323232,0x00FF00,0x00FF00,0x00FF00,0x434343,0x474747,0x474747,0x4A4A4A, - 0x4C4C4C,0x4E4E4E,0x505050,0x525252,0x535353,0x545454,0x585858,0x5D5D5D, - 0x616161,0x696969,0x6B6B6B,0x6B6B6B,0x696969,0x616161,0x585858,0x4F4F4F, - 0x4A4A4A,0x454545,0x424242,0x3F3F3F,0x3C3C3C,0x393939,0x363636,0x373737, - 0x171717,0x00FF00,0x00FF00,0x4B4B4B,0x747474,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x747474,0x2B2B2B,0x00FF00, - 0x1A1A1A,0x4C4C4C,0x434343,0x525252,0x6E6E6E,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6F6F6F,0x5E5E5E,0x434343, - 0x464646,0x494949,0x4B4B4B,0x4E4E4E,0x4F4F4F,0x505050,0x525252,0x555555, - 0x585858,0x5D5D5D,0x626262,0x676767,0x6A6A6A,0x6E6E6E,0x6D6D6D,0x686868, - 0x606060,0x555555,0x4D4D4D,0x474747,0x434343,0x404040,0x3B3B3B,0x383838, - 0x373737,0x141414,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1C1C1C,0x656565, - 0x707070,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6F6F6F,0x696969,0x151515,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x515151,0x707070, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6E6E6E,0x585858,0x636363,0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x6B6B6B,0x6B6B6B,0x191919, - 0x00FF00,0x2A2A2A,0x656565,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x616161,0x616161,0x616161,0x616161, - 0x616161,0x616161,0x616161,0x616161,0x636363,0x606060,0x222222,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4E4E4E,0x525252,0x535353, - 0x585858,0x626262,0x686868,0x686868,0x626262,0x5B5B5B,0x545454,0x4F4F4F, - 0x4A4A4A,0x454545,0x434343,0x414141,0x3F3F3F,0x3E3E3E,0x3C3C3C,0x3B3B3B, - 0x474747,0x515151,0x535353,0x565656,0x606060,0x666666,0x696969,0x636363, - 0x585858,0x4C4C4C,0x434343,0x3F3F3F,0x3A3A3A,0x373737,0x353535,0x2F2F2F, - 0x323232,0x5B5B5B,0x303030,0x3C3C3C,0x606060,0x565656,0x535353,0x535353, - 0x535353,0x555555,0x575757,0x595959,0x626262,0x686868,0x696969,0x656565, - 0x5D5D5D,0x555555,0x4D4D4D,0x464646,0x414141,0x3C3C3C,0x3A3A3A,0x353535, - 0x323232,0x2F2F2F,0x303030,0x181818,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x464646,0x4F4F4F,0x505050,0x525252,0x555555,0x5A5A5A, - 0x636363,0x696969,0x696969,0x646464,0x595959,0x4E4E4E,0x444444,0x3E3E3E, - 0x3A3A3A,0x393939,0x363636,0x323232,0x343434,0x1C1C1C,0x00FF00,0x00FF00, - 0x00FF00,0x1A1A1A,0x4D4D4D,0x4E4E4E,0x515151,0x535353,0x555555,0x5A5A5A, - 0x646464,0x6A6A6A,0x696969,0x646464,0x595959,0x4E4E4E,0x434343,0x3F3F3F, - 0x3A3A3A,0x383838,0x353535,0x2D2D2D,0x404040,0x6E6E6E,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x6F6F6F, - 0x484848,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0x484848, - 0x4C4C4C,0x4F4F4F,0x525252,0x565656,0x616161,0x696969,0x6A6A6A,0x646464, - 0x595959,0x505050,0x484848,0x454545,0x424242,0x3F3F3F,0x3E3E3E,0x3D3D3D, - 0x3B3B3B,0x3B3B3B,0x3E3E3E,0x484848,0x4F4F4F,0x525252,0x575757,0x5E5E5E, - 0x676767,0x6B6B6B,0x676767,0x595959,0x4D4D4D,0x444444,0x3F3F3F,0x3A3A3A, - 0x373737,0x323232,0x00FF00,0x00FF00,0x00FF00,0x2F2F2F,0x4C4C4C,0x474747, - 0x4B4B4B,0x4D4D4D,0x4E4E4E,0x505050,0x515151,0x525252,0x555555,0x595959, - 0x5E5E5E,0x616161,0x696969,0x6C6C6C,0x6B6B6B,0x696969,0x616161,0x585858, - 0x4F4F4F,0x4A4A4A,0x454545,0x414141,0x3F3F3F,0x3C3C3C,0x3A3A3A,0x353535, - 0x383838,0x161616,0x00FF00,0x00FF00,0x575757,0x727272,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x777777,0x323232, - 0x00FF00,0x00FF00,0x323232,0x4A4A4A,0x4B4B4B,0x717171,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x707070,0x626262, - 0x424242,0x474747,0x494949,0x4C4C4C,0x4D4D4D,0x4F4F4F,0x515151,0x525252, - 0x555555,0x595959,0x5D5D5D,0x626262,0x686868,0x6A6A6A,0x6E6E6E,0x6E6E6E, - 0x686868,0x606060,0x545454,0x4D4D4D,0x474747,0x434343,0x404040,0x3B3B3B, - 0x383838,0x353535,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2A2A2A, - 0x707070,0x6E6E6E,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6F6F6F,0x676767,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x585858, - 0x707070,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6C6C6C,0x595959,0x646464,0x6B6B6B,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x6B6B6B,0x656565, - 0x00FF00,0x00FF00,0x2A2A2A,0x656565,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x616161,0x616161,0x616161, - 0x616161,0x616161,0x616161,0x616161,0x616161,0x636363,0x5C5C5C,0x242424, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4D4D4D,0x525252, - 0x535353,0x595959,0x626262,0x686868,0x676767,0x626262,0x5A5A5A,0x535353, - 0x4F4F4F,0x494949,0x454545,0x434343,0x414141,0x3F3F3F,0x3E3E3E,0x3D3D3D, - 0x3B3B3B,0x474747,0x525252,0x535353,0x575757,0x616161,0x666666,0x696969, - 0x636363,0x585858,0x4D4D4D,0x444444,0x3F3F3F,0x3A3A3A,0x373737,0x353535, - 0x303030,0x3D3D3D,0x5D5D5D,0x343434,0x3C3C3C,0x5B5B5B,0x565656,0x535353, - 0x535353,0x535353,0x555555,0x575757,0x5A5A5A,0x626262,0x696969,0x696969, - 0x656565,0x5D5D5D,0x545454,0x4C4C4C,0x464646,0x414141,0x3C3C3C,0x393939, - 0x353535,0x323232,0x303030,0x2A2A2A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x4B4B4B,0x4F4F4F,0x515151,0x525252,0x555555, - 0x5B5B5B,0x646464,0x696969,0x696969,0x636363,0x585858,0x4F4F4F,0x454545, - 0x3E3E3E,0x3A3A3A,0x383838,0x363636,0x323232,0x323232,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x252525,0x4F4F4F,0x4E4E4E,0x505050,0x535353,0x565656, - 0x5B5B5B,0x656565,0x6A6A6A,0x696969,0x636363,0x595959,0x4E4E4E,0x424242, - 0x3E3E3E,0x3A3A3A,0x383838,0x343434,0x2C2C2C,0x414141,0x6E6E6E,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x6F6F6F,0x464646,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1E1E1E, - 0x494949,0x4B4B4B,0x4F4F4F,0x525252,0x565656,0x626262,0x696969,0x6A6A6A, - 0x646464,0x585858,0x4F4F4F,0x484848,0x454545,0x424242,0x3F3F3F,0x3E3E3E, - 0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3E3E3E,0x484848,0x4F4F4F,0x525252,0x575757, - 0x5E5E5E,0x676767,0x6B6B6B,0x676767,0x595959,0x4C4C4C,0x434343,0x3F3F3F, - 0x3A3A3A,0x373737,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x494949, - 0x484848,0x4B4B4B,0x4D4D4D,0x4E4E4E,0x505050,0x515151,0x525252,0x555555, - 0x585858,0x5D5D5D,0x616161,0x696969,0x6C6C6C,0x6B6B6B,0x686868,0x616161, - 0x575757,0x4F4F4F,0x4A4A4A,0x454545,0x414141,0x3F3F3F,0x3C3C3C,0x3A3A3A, - 0x373737,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00,0x535353,0x727272,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x747474, - 0x3C3C3C,0x00FF00,0x00FF00,0x00FF00,0x3C3C3C,0x4D4D4D,0x6F6F6F,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6F6F6F, - 0x666666,0x474747,0x464646,0x494949,0x4B4B4B,0x4D4D4D,0x4F4F4F,0x505050, - 0x525252,0x555555,0x595959,0x5D5D5D,0x626262,0x686868,0x6B6B6B,0x6E6E6E, - 0x6C6C6C,0x686868,0x5E5E5E,0x545454,0x4D4D4D,0x474747,0x434343,0x404040, - 0x3B3B3B,0x393939,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x202020,0x6B6B6B,0x6F6F6F,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x717171,0x5B5B5B,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x161616, - 0x5F5F5F,0x6F6F6F,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B,0x535353,0x676767,0x6B6B6B,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x6C6C6C, - 0x5F5F5F,0x00FF00,0x00FF00,0x2F2F2F,0x656565,0x5F5F5F,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x616161,0x616161, - 0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x636363,0x5D5D5D, - 0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4A4A4A, - 0x525252,0x535353,0x585858,0x616161,0x686868,0x676767,0x626262,0x5B5B5B, - 0x535353,0x4E4E4E,0x494949,0x454545,0x434343,0x414141,0x3F3F3F,0x3E3E3E, - 0x3D3D3D,0x3E3E3E,0x474747,0x515151,0x535353,0x565656,0x5E5E5E,0x666666, - 0x696969,0x636363,0x585858,0x4C4C4C,0x444444,0x3F3F3F,0x3A3A3A,0x373737, - 0x353535,0x303030,0x292929,0x5B5B5B,0x303030,0x3A3A3A,0x5C5C5C,0x565656, - 0x535353,0x535353,0x535353,0x545454,0x575757,0x5A5A5A,0x636363,0x686868, - 0x696969,0x656565,0x5E5E5E,0x545454,0x4C4C4C,0x464646,0x414141,0x3C3C3C, - 0x393939,0x353535,0x333333,0x343434,0x151515,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x181818,0x4C4C4C,0x4E4E4E,0x515151,0x525252, - 0x555555,0x5B5B5B,0x646464,0x696969,0x696969,0x636363,0x595959,0x4F4F4F, - 0x444444,0x3F3F3F,0x3A3A3A,0x383838,0x353535,0x363636,0x222222,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x292929,0x4D4D4D,0x4E4E4E,0x505050,0x525252, - 0x565656,0x5B5B5B,0x656565,0x696969,0x696969,0x636363,0x595959,0x4E4E4E, - 0x434343,0x3E3E3E,0x3A3A3A,0x383838,0x343434,0x2C2C2C,0x464646,0x6F6F6F, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x6F6F6F,0x494949,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x1E1E1E,0x4A4A4A,0x4B4B4B,0x505050,0x525252,0x565656,0x626262,0x696969, - 0x6A6A6A,0x626262,0x585858,0x4F4F4F,0x484848,0x454545,0x424242,0x3F3F3F, - 0x3E3E3E,0x3D3D3D,0x3B3B3B,0x3E3E3E,0x414141,0x484848,0x4F4F4F,0x525252, - 0x585858,0x606060,0x676767,0x6B6B6B,0x676767,0x585858,0x4C4C4C,0x434343, - 0x3E3E3E,0x3A3A3A,0x373737,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x2D2D2D,0x4F4F4F,0x4A4A4A,0x4D4D4D,0x4F4F4F,0x505050,0x515151,0x525252, - 0x555555,0x595959,0x5E5E5E,0x616161,0x686868,0x6C6C6C,0x6B6B6B,0x696969, - 0x606060,0x575757,0x4F4F4F,0x494949,0x454545,0x414141,0x3F3F3F,0x3C3C3C, - 0x393939,0x3C3C3C,0x1C1C1C,0x00FF00,0x00FF00,0x00FF00,0x585858,0x717171, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x727272,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x535353,0x707070, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x737373,0x3E3E3E,0x3A3A3A,0x494949,0x494949,0x4B4B4B,0x4E4E4E,0x4F4F4F, - 0x505050,0x525252,0x555555,0x595959,0x5E5E5E,0x626262,0x686868,0x6B6B6B, - 0x6E6E6E,0x6C6C6C,0x676767,0x5E5E5E,0x545454,0x4D4D4D,0x474747,0x434343, - 0x404040,0x3B3B3B,0x3A3A3A,0x262626,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x333333,0x707070,0x6E6E6E,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x717171,0x5A5A5A,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x232323,0x646464,0x6F6F6F,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B,0x565656,0x686868,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x6E6E6E,0x575757,0x00FF00,0x00FF00,0x212121,0x636363,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x616161, - 0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x626262, - 0x5E5E5E,0x313131,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x494949,0x525252,0x535353,0x585858,0x616161,0x686868,0x686868,0x626262, - 0x5B5B5B,0x545454,0x4E4E4E,0x4A4A4A,0x454545,0x434343,0x414141,0x3F3F3F, - 0x3F3F3F,0x424242,0x2D2D2D,0x424242,0x525252,0x535353,0x565656,0x5E5E5E, - 0x666666,0x696969,0x636363,0x585858,0x4C4C4C,0x434343,0x3F3F3F,0x3A3A3A, - 0x373737,0x353535,0x323232,0x454545,0x616161,0x333333,0x3C3C3C,0x5E5E5E, - 0x575757,0x525252,0x535353,0x535353,0x555555,0x575757,0x595959,0x616161, - 0x686868,0x696969,0x656565,0x5D5D5D,0x555555,0x4D4D4D,0x464646,0x414141, - 0x3C3C3C,0x393939,0x353535,0x373737,0x222222,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x474747,0x4E4E4E,0x505050, - 0x525252,0x555555,0x5A5A5A,0x636363,0x696969,0x696969,0x646464,0x595959, - 0x4E4E4E,0x434343,0x3F3F3F,0x3B3B3B,0x383838,0x363636,0x323232,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x161616,0x4D4D4D,0x4F4F4F,0x505050, - 0x525252,0x555555,0x5A5A5A,0x646464,0x6A6A6A,0x696969,0x626262,0x575757, - 0x4E4E4E,0x434343,0x3E3E3E,0x3A3A3A,0x383838,0x393939,0x222222,0x343434, - 0x727272,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x6F6F6F,0x4A4A4A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x434343,0x4D4D4D,0x505050,0x525252,0x575757,0x626262, - 0x6A6A6A,0x696969,0x626262,0x585858,0x4F4F4F,0x484848,0x454545,0x414141, - 0x3F3F3F,0x3E3E3E,0x3D3D3D,0x414141,0x303030,0x363636,0x4A4A4A,0x4F4F4F, - 0x525252,0x585858,0x606060,0x676767,0x6B6B6B,0x666666,0x585858,0x4B4B4B, - 0x434343,0x3E3E3E,0x3A3A3A,0x373737,0x323232,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x434343,0x4D4D4D,0x4D4D4D,0x4F4F4F,0x515151,0x515151, - 0x535353,0x565656,0x595959,0x5E5E5E,0x616161,0x686868,0x6C6C6C,0x6B6B6B, - 0x686868,0x606060,0x565656,0x4E4E4E,0x494949,0x454545,0x414141,0x3F3F3F, - 0x3B3B3B,0x3A3A3A,0x373737,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x595959, - 0x707070,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6E6E6E,0x707070,0x1C1C1C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x484848, - 0x747474,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x767676,0x363636,0x1B1B1B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4E4E4E, - 0x4F4F4F,0x505050,0x525252,0x555555,0x595959,0x5E5E5E,0x646464,0x696969, - 0x6B6B6B,0x6E6E6E,0x6B6B6B,0x676767,0x5C5C5C,0x525252,0x4C4C4C,0x464646, - 0x424242,0x3F3F3F,0x3B3B3B,0x3A3A3A,0x151515,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x2B2B2B,0x727272,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x727272,0x4A4A4A,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x252525,0x666666,0x6E6E6E,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x565656,0x696969, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x6F6F6F,0x4F4F4F,0x00FF00,0x00FF00,0x191919,0x616161,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161, - 0x626262,0x616161,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x434343,0x535353,0x535353,0x585858,0x616161,0x676767,0x686868, - 0x636363,0x5C5C5C,0x545454,0x4F4F4F,0x4A4A4A,0x454545,0x434343,0x414141, - 0x414141,0x424242,0x202020,0x00FF00,0x2F2F2F,0x555555,0x535353,0x565656, - 0x5E5E5E,0x666666,0x696969,0x636363,0x575757,0x4D4D4D,0x444444,0x404040, - 0x3A3A3A,0x383838,0x3A3A3A,0x1A1A1A,0x181818,0x5D5D5D,0x333333,0x373737, - 0x595959,0x575757,0x535353,0x535353,0x535353,0x545454,0x565656,0x595959, - 0x616161,0x686868,0x696969,0x666666,0x5E5E5E,0x555555,0x4C4C4C,0x464646, - 0x414141,0x3D3D3D,0x393939,0x3A3A3A,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x434343,0x4F4F4F, - 0x505050,0x525252,0x555555,0x5A5A5A,0x646464,0x696969,0x696969,0x646464, - 0x595959,0x4F4F4F,0x444444,0x3E3E3E,0x3A3A3A,0x393939,0x3B3B3B,0x161616, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x494949,0x4E4E4E, - 0x505050,0x525252,0x555555,0x5A5A5A,0x646464,0x6A6A6A,0x696969,0x626262, - 0x575757,0x4E4E4E,0x434343,0x3E3E3E,0x3A3A3A,0x3A3A3A,0x373737,0x00FF00, - 0x373737,0x707070,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x717171,0x434343,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x444444,0x4C4C4C,0x4F4F4F,0x535353,0x575757, - 0x626262,0x6A6A6A,0x696969,0x616161,0x575757,0x4E4E4E,0x484848,0x454545, - 0x414141,0x3F3F3F,0x3E3E3E,0x434343,0x313131,0x00FF00,0x2F2F2F,0x4C4C4C, - 0x4F4F4F,0x525252,0x585858,0x606060,0x676767,0x6C6C6C,0x656565,0x565656, - 0x4A4A4A,0x424242,0x3E3E3E,0x393939,0x3C3C3C,0x1E1E1E,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x161616,0x505050,0x4E4E4E,0x4F4F4F,0x515151, - 0x525252,0x535353,0x565656,0x5A5A5A,0x606060,0x626262,0x676767,0x6C6C6C, - 0x6B6B6B,0x676767,0x606060,0x565656,0x4E4E4E,0x494949,0x454545,0x414141, - 0x3F3F3F,0x3B3B3B,0x3C3C3C,0x191919,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x545454,0x717171,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x737373,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x4F4F4F,0x727272,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x737373,0x474747,0x00FF00,0x252525,0x525252,0x4C4C4C, - 0x4E4E4E,0x505050,0x515151,0x535353,0x565656,0x5A5A5A,0x5E5E5E,0x646464, - 0x696969,0x6B6B6B,0x6E6E6E,0x6B6B6B,0x656565,0x5C5C5C,0x515151,0x4B4B4B, - 0x464646,0x414141,0x3F3F3F,0x3D3D3D,0x2C2C2C,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x3C3C3C,0x717171,0x6E6E6E,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6B6B6B,0x707070,0x565656, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x2B2B2B,0x676767,0x6E6E6E,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B,0x676767,0x535353, - 0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x707070,0x444444,0x00FF00,0x00FF00,0x00FF00,0x5C5C5C, - 0x616161,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161, - 0x616161,0x626262,0x636363,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x474747,0x535353,0x535353,0x585858,0x616161,0x676767, - 0x686868,0x616161,0x5B5B5B,0x545454,0x4F4F4F,0x494949,0x454545,0x444444, - 0x474747,0x3E3E3E,0x171717,0x00FF00,0x00FF00,0x303030,0x545454,0x535353, - 0x575757,0x606060,0x676767,0x696969,0x636363,0x585858,0x4D4D4D,0x444444, - 0x3F3F3F,0x3A3A3A,0x3E3E3E,0x282828,0x00FF00,0x202020,0x636363,0x343434, - 0x3B3B3B,0x5E5E5E,0x575757,0x525252,0x535353,0x535353,0x555555,0x565656, - 0x5A5A5A,0x626262,0x686868,0x696969,0x656565,0x5D5D5D,0x565656,0x4D4D4D, - 0x464646,0x414141,0x3D3D3D,0x3A3A3A,0x3A3A3A,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232, - 0x525252,0x505050,0x525252,0x555555,0x5B5B5B,0x646464,0x696969,0x696969, - 0x636363,0x595959,0x4F4F4F,0x444444,0x3F3F3F,0x3A3A3A,0x3C3C3C,0x202020, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3A3A3A, - 0x4F4F4F,0x505050,0x535353,0x565656,0x5A5A5A,0x656565,0x6A6A6A,0x696969, - 0x636363,0x575757,0x4C4C4C,0x434343,0x3E3E3E,0x3A3A3A,0x3B3B3B,0x1A1A1A, - 0x00FF00,0x363636,0x6F6F6F,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x717171,0x3C3C3C,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3F3F3F,0x4E4E4E,0x4F4F4F,0x535353, - 0x585858,0x626262,0x6A6A6A,0x696969,0x616161,0x565656,0x4E4E4E,0x484848, - 0x454545,0x414141,0x404040,0x444444,0x323232,0x00FF00,0x00FF00,0x2B2B2B, - 0x4E4E4E,0x4F4F4F,0x525252,0x585858,0x606060,0x676767,0x6C6C6C,0x656565, - 0x565656,0x4A4A4A,0x424242,0x3E3E3E,0x3C3C3C,0x2E2E2E,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2E2E2E,0x535353,0x4F4F4F, - 0x505050,0x525252,0x535353,0x565656,0x5A5A5A,0x5E5E5E,0x626262,0x676767, - 0x6B6B6B,0x6B6B6B,0x676767,0x606060,0x565656,0x4E4E4E,0x494949,0x444444, - 0x414141,0x3F3F3F,0x434343,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x5C5C5C,0x717171,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x747474,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x4B4B4B,0x727272,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x737373,0x2B2B2B,0x00FF00,0x00FF00,0x323232, - 0x525252,0x4F4F4F,0x505050,0x515151,0x535353,0x565656,0x5A5A5A,0x5E5E5E, - 0x646464,0x696969,0x6B6B6B,0x6E6E6E,0x6B6B6B,0x666666,0x5C5C5C,0x525252, - 0x4B4B4B,0x454545,0x414141,0x404040,0x3C3C3C,0x161616,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x353535,0x747474,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6B6B6B,0x737373, - 0x464646,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x2C2C2C,0x6B6B6B,0x6C6C6C,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B,0x646464, - 0x585858,0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x707070,0x3A3A3A,0x00FF00,0x00FF00,0x00FF00, - 0x5D5D5D,0x616161,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x616161,0x616161,0x616161,0x616161,0x616161, - 0x616161,0x616161,0x626262,0x636363,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x3B3B3B,0x545454,0x535353,0x585858,0x616161, - 0x686868,0x676767,0x616161,0x5B5B5B,0x545454,0x4E4E4E,0x4A4A4A,0x4B4B4B, - 0x464646,0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x292929,0x565656, - 0x535353,0x565656,0x5D5D5D,0x666666,0x696969,0x636363,0x585858,0x4D4D4D, - 0x444444,0x414141,0x404040,0x232323,0x00FF00,0x00FF00,0x181818,0x636363, - 0x373737,0x373737,0x575757,0x585858,0x535353,0x535353,0x535353,0x545454, - 0x575757,0x595959,0x626262,0x686868,0x696969,0x656565,0x5D5D5D,0x555555, - 0x4D4D4D,0x464646,0x414141,0x424242,0x3A3A3A,0x151515,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x4C4C4C,0x515151,0x525252,0x555555,0x5B5B5B,0x646464,0x696969, - 0x696969,0x636363,0x585858,0x4D4D4D,0x434343,0x414141,0x434343,0x1F1F1F, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x242424,0x565656,0x505050,0x525252,0x565656,0x5B5B5B,0x656565,0x6A6A6A, - 0x696969,0x626262,0x575757,0x4C4C4C,0x424242,0x404040,0x424242,0x1B1B1B, - 0x00FF00,0x00FF00,0x202020,0x6E6E6E,0x6A6A6A,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x727272,0x333333,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x262626,0x545454,0x4F4F4F, - 0x525252,0x585858,0x626262,0x6A6A6A,0x696969,0x606060,0x555555,0x4F4F4F, - 0x484848,0x444444,0x454545,0x414141,0x1E1E1E,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x4A4A4A,0x505050,0x525252,0x595959,0x606060,0x676767,0x6B6B6B, - 0x656565,0x565656,0x494949,0x424242,0x404040,0x3F3F3F,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2D2D2D, - 0x565656,0x515151,0x515151,0x535353,0x565656,0x5A5A5A,0x606060,0x626262, - 0x696969,0x6B6B6B,0x6B6B6B,0x686868,0x5F5F5F,0x565656,0x4E4E4E,0x494949, - 0x454545,0x414141,0x434343,0x3A3A3A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x616161,0x707070,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6E6E6E,0x707070,0x242424,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x4D4D4D,0x737373,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x767676,0x323232,0x00FF00,0x00FF00, - 0x00FF00,0x2C2C2C,0x545454,0x515151,0x505050,0x535353,0x565656,0x5A5A5A, - 0x5E5E5E,0x646464,0x696969,0x6C6C6C,0x6E6E6E,0x6B6B6B,0x656565,0x5B5B5B, - 0x515151,0x4B4B4B,0x454545,0x414141,0x414141,0x363636,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x454545,0x727272,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6B6B6B,0x6B6B6B, - 0x727272,0x434343,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x333333,0x6C6C6C,0x6C6C6C,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B, - 0x646464,0x5A5A5A,0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x717171,0x303030,0x00FF00,0x00FF00, - 0x161616,0x5F5F5F,0x606060,0x5F5F5F,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, - 0x606060,0x606060,0x606060,0x606060,0x616161,0x616161,0x616161,0x616161, - 0x616161,0x616161,0x616161,0x616161,0x646464,0x363636,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2F2F2F,0x5C5C5C,0x535353,0x575757, - 0x616161,0x686868,0x686868,0x626262,0x5B5B5B,0x565656,0x545454,0x4F4F4F, - 0x3D3D3D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323, - 0x565656,0x535353,0x565656,0x606060,0x666666,0x686868,0x646464,0x595959, - 0x4E4E4E,0x4C4C4C,0x414141,0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A, - 0x5E5E5E,0x333333,0x3A3A3A,0x656565,0x5E5E5E,0x575757,0x545454,0x535353, - 0x545454,0x565656,0x595959,0x616161,0x686868,0x696969,0x656565,0x5E5E5E, - 0x555555,0x4D4D4D,0x464646,0x484848,0x363636,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x353535,0x5B5B5B,0x535353,0x555555,0x5B5B5B,0x646464, - 0x696969,0x696969,0x636363,0x585858,0x4E4E4E,0x494949,0x3D3D3D,0x1E1E1E, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x3A3A3A,0x585858,0x525252,0x565656,0x5B5B5B,0x656565, - 0x6A6A6A,0x686868,0x616161,0x575757,0x4D4D4D,0x494949,0x3C3C3C,0x1D1D1D, - 0x00FF00,0x00FF00,0x00FF00,0x272727,0x717171,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x717171,0x3A3A3A, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636, - 0x575757,0x525252,0x585858,0x626262,0x6A6A6A,0x696969,0x606060,0x555555, - 0x4F4F4F,0x494949,0x494949,0x414141,0x161616,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x313131,0x585858,0x525252,0x595959,0x606060,0x676767, - 0x6B6B6B,0x646464,0x555555,0x494949,0x434343,0x434343,0x1E1E1E,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x2B2B2B,0x555555,0x535353,0x535353,0x565656,0x5A5A5A,0x606060, - 0x626262,0x6A6A6A,0x6B6B6B,0x6B6B6B,0x686868,0x5D5D5D,0x545454,0x4D4D4D, - 0x494949,0x464646,0x454545,0x3B3B3B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x656565,0x6F6F6F,0x6B6B6B,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6F6F6F,0x6B6B6B,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x5C5C5C,0x717171,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x737373,0x363636,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x232323,0x535353,0x555555,0x535353,0x565656, - 0x5B5B5B,0x606060,0x646464,0x696969,0x6C6C6C,0x6E6E6E,0x6A6A6A,0x656565, - 0x5A5A5A,0x505050,0x4A4A4A,0x454545,0x434343,0x424242,0x161616,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x474747,0x727272, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x757575,0x363636,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636,0x6E6E6E,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6C6C6C,0x616161,0x5B5B5B,0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, - 0x696969,0x696969,0x696969,0x696969,0x696969,0x6F6F6F,0x282828,0x00FF00, - 0x00FF00,0x00FF00,0x5B5B5B,0x676767,0x646464,0x656565,0x656565,0x656565, - 0x656565,0x656565,0x656565,0x656565,0x656565,0x656565,0x656565,0x656565, - 0x656565,0x656565,0x656565,0x656565,0x656565,0x666666,0x666666,0x666666, - 0x666666,0x666666,0x666666,0x666666,0x666666,0x6C6C6C,0x2E2E2E,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3A3A3A,0x585858, - 0x5B5B5B,0x616161,0x686868,0x6B6B6B,0x686868,0x626262,0x565656,0x383838, - 0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x363636,0x5B5B5B,0x595959,0x5D5D5D,0x666666,0x696969,0x666666, - 0x5E5E5E,0x515151,0x2E2E2E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x191919,0x666666,0x3C3C3C,0x343434,0x323232,0x323232,0x393939,0x565656, - 0x575757,0x555555,0x575757,0x595959,0x606060,0x676767,0x696969,0x656565, - 0x5E5E5E,0x575757,0x515151,0x4B4B4B,0x323232,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232,0x545454,0x5B5B5B,0x5C5C5C, - 0x646464,0x6A6A6A,0x6A6A6A,0x656565,0x5D5D5D,0x525252,0x3D3D3D,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x424242,0x585858,0x5B5B5B,0x5B5B5B, - 0x646464,0x6B6B6B,0x696969,0x636363,0x5C5C5C,0x515151,0x3C3C3C,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x353535,0x797979,0x6F6F6F,0x6F6F6F, - 0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F, - 0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x777777, - 0x444444,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x393939,0x5A5A5A,0x5A5A5A,0x636363,0x6B6B6B,0x6A6A6A,0x606060, - 0x595959,0x515151,0x4B4B4B,0x2A2A2A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x424242,0x5B5B5B,0x5A5A5A,0x626262, - 0x6B6B6B,0x6C6C6C,0x646464,0x565656,0x505050,0x454545,0x202020,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x282828,0x555555,0x585858,0x585858,0x5B5B5B, - 0x616161,0x626262,0x696969,0x6B6B6B,0x6B6B6B,0x676767,0x5D5D5D,0x545454, - 0x4E4E4E,0x4C4C4C,0x494949,0x282828,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x6C6C6C,0x757575,0x727272,0x727272, - 0x727272,0x727272,0x737373,0x737373,0x737373,0x737373,0x737373,0x737373, - 0x737373,0x737373,0x737373,0x737373,0x737373,0x747474,0x747474,0x1B1B1B, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x5A5A5A,0x797979,0x737373,0x737373, - 0x737373,0x737373,0x737373,0x737373,0x737373,0x737373,0x737373,0x737373, - 0x737373,0x737373,0x737373,0x737373,0x737373,0x747474,0x767676,0x1D1D1D, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0x4E4E4E,0x5A5A5A, - 0x5B5B5B,0x5B5B5B,0x606060,0x656565,0x696969,0x6B6B6B,0x6E6E6E,0x696969, - 0x636363,0x5A5A5A,0x505050,0x4A4A4A,0x484848,0x454545,0x1E1E1E,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4F4F4F, - 0x797979,0x737373,0x707070,0x6C6C6C,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6D6D6D,0x6D6D6D,0x6D6D6D,0x6D6D6D,0x6D6D6D,0x6D6D6D, - 0x6D6D6D,0x6D6D6D,0x727272,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3D3D3D,0x717171, - 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6E6E6E,0x5D5D5D,0x5C5C5C,0x6E6E6E,0x6B6B6B,0x6B6B6B,0x6B6B6B, - 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, - 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x717171,0x282828, - 0x00FF00,0x00FF00,0x00FF00,0x404040,0x434343,0x424242,0x434343,0x434343, - 0x434343,0x434343,0x434343,0x434343,0x434343,0x434343,0x434343,0x434343, - 0x434343,0x434343,0x434343,0x434343,0x434343,0x434343,0x434343,0x434343, - 0x434343,0x434343,0x434343,0x434343,0x434343,0x434343,0x484848,0x1A1A1A, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x353535,0x494949,0x666666,0x707070,0x5A5A5A,0x434343,0x3A3A3A,0x141414, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x393939,0x4B4B4B,0x656565,0x696969,0x707070, - 0x585858,0x404040,0x1E1E1E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x626262,0x383838,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x1E1E1E,0x444444,0x5A5A5A,0x5A5A5A,0x5C5C5C,0x656565,0x6B6B6B,0x6E6E6E, - 0x696969,0x636363,0x565656,0x363636,0x161616,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x272727,0x404040, - 0x5A5A5A,0x686868,0x6E6E6E,0x707070,0x5A5A5A,0x404040,0x232323,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828,0x3F3F3F, - 0x595959,0x696969,0x6F6F6F,0x707070,0x5B5B5B,0x3F3F3F,0x242424,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2B2B2B,0x4F4F4F,0x494949, - 0x494949,0x494949,0x494949,0x494949,0x494949,0x494949,0x494949,0x494949, - 0x494949,0x494949,0x494949,0x494949,0x494949,0x494949,0x494949,0x494949, - 0x4D4D4D,0x2C2C2C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x343434,0x565656,0x686868,0x6F6F6F,0x6E6E6E, - 0x666666,0x4A4A4A,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x393939,0x595959, - 0x676767,0x6F6F6F,0x6F6F6F,0x686868,0x545454,0x323232,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x141414,0x363636,0x555555, - 0x616161,0x636363,0x656565,0x6E6E6E,0x6C6C6C,0x6B6B6B,0x6A6A6A,0x616161, - 0x575757,0x515151,0x373737,0x171717,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x474747,0x4C4C4C,0x4A4A4A, - 0x4A4A4A,0x4A4A4A,0x4A4A4A,0x4A4A4A,0x4A4A4A,0x4B4B4B,0x4B4B4B,0x4B4B4B, - 0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4E4E4E, - 0x181818,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3E3E3E,0x4E4E4E,0x4B4B4B, - 0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B, - 0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x505050, - 0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x292929,0x4B4B4B,0x636363,0x646464,0x696969,0x6C6C6C,0x6C6C6C,0x6E6E6E, - 0x696969,0x646464,0x5C5C5C,0x525252,0x4E4E4E,0x343434,0x151515,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x272727,0x515151,0x494949,0x616161,0x737373,0x717171,0x717171,0x717171, - 0x717171,0x717171,0x707070,0x707070,0x707070,0x707070,0x707070,0x707070, - 0x707070,0x707070,0x707070,0x797979,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232, - 0x787878,0x707070,0x707070,0x707070,0x707070,0x707070,0x707070,0x6F6F6F, - 0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F, - 0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F, - 0x6F6F6F,0x6F6F6F,0x727272,0x585858,0x606060,0x717171,0x6F6F6F,0x6F6F6F, - 0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, - 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6F6F6F,0x727272, - 0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x202020,0x222222,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1F1F1F,0x1C1C1C, - 0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x1C1C1C,0x595959,0x1D1D1D,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x1C1C1C,0x202020,0x4A4A4A,0x4F4F4F,0x555555, - 0x575757,0x4F4F4F,0x202020,0x161616,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x1A1A1A,0x1D1D1D,0x1D1D1D,0x1F1F1F,0x141414,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x181818,0x1D1D1D,0x1D1D1D,0x1F1F1F,0x151515,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x161616,0x1D1D1D,0x1D1D1D, - 0x1D1D1D,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x181818,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x171717,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x151515,0x3A3A3A,0x525252,0x505050,0x555555,0x6B6B6B,0x696969,0x535353, - 0x4E4E4E,0x414141,0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x252525,0x4E4E4E,0x525252,0x5B5B5B,0x777777, - 0x797979,0x767676,0x676767,0x4A4A4A,0x404040,0x1D1D1D,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323,0x1E1E1E,0x1E1E1E, - 0x1E1E1E,0x1E1E1E,0x1E1E1E,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D, - 0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x202020,0x151515,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, - 0x00FF00,0x232323,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D, - 0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D, - 0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D, - 0x1D1D1D,0x1D1D1D,0x1D1D1D,0x202020,0x111111,0x151515,0x1F1F1F,0x1D1D1D, - 0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D, - 0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D, - 0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D, - 0x232323,0x00FF00,0x00FF00 -}; - -const uint8_t ft2InfoBadges[3200] = -{ - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP -}; - -const uint8_t ft2LogoBadges[19712] = -{ - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTONS, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON2,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND, - PAL_DSKTOP2,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1 -}; +#include +#include "../ft2_palette.h" + +const uint8_t aboutText[10121] = +{ + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BUTTONS,PAL_BUTTON1,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTON1,PAL_BUTTONS,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BUTTONS,PAL_BUTTON1,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_BUTTONS, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR +}; + +const uint32_t ft2Logo[33675] = +{ + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x999999,0xABABAB,0xA8A8A8,0xBBBBBB, + 0xB8B8B8,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6, + 0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6, + 0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB7B7B7,0xB6B6B6, + 0xB6B6B6,0xB6B6B6,0xB7B7B7,0xB7B7B7,0xB6B6B6,0xB6B6B6,0xB6B6B6,0xB6B6B6, + 0xB6B6B6,0xB6B6B6,0xB6B6B6,0xBDBDBD,0x898989,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x969696, + 0xA8A8A8,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xB2B2B2,0x343434,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x1E1E1E,0x414141,0x363636,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x363636,0x363636,0x363636,0x363636,0x363636,0x373737,0x373737,0x363636, + 0x363636,0x373737,0x363636,0x373737,0x393939,0x363636,0x363636,0x363636, + 0x363636,0x363636,0x363636,0x363636,0x363636,0x363636,0x363636,0x363636, + 0x363636,0x363636,0x363636,0x363636,0x353535,0x363636,0x363636,0x353535, + 0x353535,0x363636,0x363636,0x373737,0x323232,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x727272,0x8B8B8B,0x818181, + 0xAEAEAE,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9, + 0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xCBCBCB,0xCDCDCD, + 0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCBCBCB,0xCACACA,0xCACACA,0xCACACA, + 0xCBCBCB,0xCBCBCB,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9, + 0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xD3D3D3,0x717171,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0xA1A1A1,0xBABABA,0xB8B8B8,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB4B4B4, + 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xBCBCBC,0x6C6C6C,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x1F1F1F,0x848484,0xA2A2A2,0x9F9F9F,0x9E9E9E, + 0xB5B5B5,0xB4B4B4,0xB3B3B3,0xB2B2B2,0xB3B3B3,0xB3B3B3,0xB2B2B2,0xB2B2B2, + 0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB0B0B0, + 0xB2B2B2,0xB5B5B5,0x9B9B9B,0x9D9D9D,0x969696,0x838383,0x9E9E9E,0x9B9B9B, + 0x9B9B9B,0xB2B2B2,0xB1B1B1,0xAFAFAF,0xAEAEAE,0xAFAFAF,0xAFAFAF,0xAFAFAF, + 0xAFAFAF,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD, + 0xAEAEAE,0xAEAEAE,0xB2B2B2,0x9A9A9A,0x9D9D9D,0x9A9A9A,0x1F1F1F,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4A4A4A,0x5E5E5E, + 0x545454,0x545454,0x6A6A6A,0xBFBFBF,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC8C8C8,0xC2C2C2, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA5A5A5,0xC0C0C0,0xC2C2C2,0xC2C2C2, + 0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC8C8C8,0xCCCCCC,0xC7C7C7,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xCACACA,0x434343,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x6A6A6A,0x777777,0x989898,0xB5B5B5,0xB1B1B1,0xB1B1B1,0xB1B1B1, + 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB3B3B3,0xA8A8A8,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x515151,0x838383,0x7E7E7E, + 0x797979,0x909090,0xA0A0A0,0xA7A7A7,0xA6A6A6,0xA4A4A4,0xA4A4A4,0xA4A4A4, + 0xA5A5A5,0xA5A5A5,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA4A4A4,0xA3A3A3, + 0xA5A5A5,0xA1A1A1,0x808080,0x666666,0x787878,0x777777,0x5C5C5C,0x797979, + 0x7D7D7D,0x7D7D7D,0x939393,0x989898,0xA4A4A4,0xA5A5A5,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0x848484,0x6B6B6B,0x727272,0x868686,0x343434, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4E4E4E, + 0x656565,0x5B5B5B,0x535353,0x4F4F4F,0xB3B3B3,0xC9C9C9,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC8C8C8, + 0x666666,0x616161,0x606060,0x5E5E5E,0x5E5E5E,0x666666,0x707070,0x717171, + 0x707070,0x707070,0x6B6B6B,0x656565,0x777777,0x999999,0xC6C6C6,0xCBCBCB, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC8C8C8,0xB4B4B4,0x2D2D2D, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1E1E1E,0xA9A9A9, + 0x515151,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x474747,0xC9C9C9,0x3B3B3B,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x5C5C5C,0x575757,0x525252,0xA3A3A3,0xB4B4B4,0xB1B1B1, + 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB4B4B4,0xA0A0A0, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x575757,0x707070, + 0x6E6E6E,0x6A6A6A,0x6B6B6B,0x626262,0x6F6F6F,0xA6A6A6,0xA6A6A6,0xA4A4A4, + 0xA5A5A5,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA4A4A4, + 0xA3A3A3,0xA8A8A8,0x717171,0x474747,0x555555,0x666666,0x686868,0x585858, + 0x6B6B6B,0x6D6D6D,0x6E6E6E,0x707070,0x5E5E5E,0x676767,0x9F9F9F,0xA5A5A5, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA1A1A1, + 0xA2A2A2,0xA2A2A2,0xA6A6A6,0x7E7E7E,0x454545,0x515151,0x636363,0x6F6F6F, + 0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x4F4F4F,0x656565,0x5B5B5B,0x4F4F4F,0x707070,0xC8C8C8,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC9C9C9, + 0xB5B5B5,0x393939,0x636363,0x626262,0x626262,0x626262,0x626262,0x606060, + 0x5E5E5E,0x5E5E5E,0x5D5D5D,0x5A5A5A,0x585858,0x515151,0x4F4F4F,0x666666, + 0xA9A9A9,0xCECECE,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC4C4C4,0x3A3A3A, + 0x282828,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x848484, + 0xD4D4D4,0x3F3F3F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x6B6B6B,0xC5C5C5,0xB8B8B8,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x5E5E5E,0x5A5A5A,0x494949,0x626262,0xB2B2B2, + 0xB2B2B2,0xB0B0B0,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB3B3B3, + 0xA2A2A2,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x5E5E5E, + 0x727272,0x707070,0x6C6C6C,0x5D5D5D,0x515151,0x505050,0x6F6F6F,0xA6A6A6, + 0xA5A5A5,0xA5A5A5,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA5A5A5,0xA4A4A4,0xA4A4A4, + 0xA4A4A4,0xA5A5A5,0xA2A2A2,0x545454,0x444444,0x5A5A5A,0x6A6A6A,0x686868, + 0x5A5A5A,0x6E6E6E,0x6F6F6F,0x6F6F6F,0x626262,0x535353,0x4F4F4F,0x5B5B5B, + 0xA2A2A2,0xA5A5A5,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA7A7A7,0x606060,0x404040,0x565656,0x676767, + 0x717171,0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x3F3F3F,0x666666,0x5B5B5B,0x515151,0x999999,0xCCCCCC,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6, + 0xD1D1D1,0x797979,0x2D2D2D,0x646464,0x626262,0x626262,0x626262,0x626262, + 0x616161,0x616161,0x606060,0x5E5E5E,0x5C5C5C,0x5A5A5A,0x565656,0x535353, + 0x4D4D4D,0x525252,0x8E8E8E,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xCACACA,0xA6A6A6, + 0x252525,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x747474, + 0xCDCDCD,0xBFBFBF,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x262626,0xC6C6C6,0xC8C8C8,0xA0A0A0, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x5E5E5E,0x595959,0x4C4C4C,0x434343, + 0xAAAAAA,0xB3B3B3,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0, + 0xB0B0B0,0xB9B9B9,0x393939,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x151515, + 0x5F5F5F,0x727272,0x707070,0x6B6B6B,0x5C5C5C,0x515151,0x4D4D4D,0x414141, + 0x888888,0xA8A8A8,0xA5A5A5,0xA4A4A4,0xA5A5A5,0xA5A5A5,0xA4A4A4,0xA4A4A4, + 0xA3A3A3,0xA4A4A4,0xA5A5A5,0xA6A6A6,0x606060,0x444444,0x5C5C5C,0x6B6B6B, + 0x676767,0x5A5A5A,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x616161,0x535353,0x4E4E4E, + 0x424242,0x565656,0xA2A2A2,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA6A6A6,0x727272,0x464646,0x575757, + 0x696969,0x6A6A6A,0x141414,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x414141,0x676767,0x5A5A5A,0x5C5C5C,0xBFBFBF,0xC8C8C8, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6, + 0xC9C9C9,0xB3B3B3,0x3A3A3A,0x303030,0x656565,0x626262,0x626262,0x626262, + 0x626262,0x616161,0x616161,0x616161,0x5E5E5E,0x5C5C5C,0x5A5A5A,0x565656, + 0x535353,0x535353,0x4F4F4F,0x4C4C4C,0xB0B0B0,0xC9C9C9,0xC6C6C6,0xD0D0D0, + 0x6B6B6B,0x212121,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x707070, + 0xCDCDCD,0xC3C3C3,0xBBBBBB,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB2B2B2,0xC5C5C5,0xC7C7C7, + 0x8B8B8B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0x646464,0x585858,0x4D4D4D, + 0x424242,0xA9A9A9,0xB3B3B3,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xBDBDBD,0x3E3E3E,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x151515,0x626262,0x727272,0x707070,0x6A6A6A,0x5B5B5B,0x505050,0x4B4B4B, + 0x3D3D3D,0x444444,0xA2A2A2,0xA6A6A6,0xA4A4A4,0xA5A5A5,0xA5A5A5,0xA4A4A4, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA8A8A8,0x848484,0x4E4E4E,0x5D5D5D, + 0x6B6B6B,0x656565,0x5C5C5C,0x6F6F6F,0x707070,0x6E6E6E,0x606060,0x535353, + 0x4D4D4D,0x444444,0x353535,0x898989,0xA6A6A6,0xA2A2A2,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA3A3A3,0x9C9C9C,0x4F4F4F, + 0x575757,0x6B6B6B,0x646464,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x323232,0x686868,0x575757,0x7D7D7D,0xC9C9C9, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6, + 0xC7C7C7,0xCDCDCD,0x545454,0x1C1C1C,0x333333,0x636363,0x626262,0x626262, + 0x626262,0x626262,0x616161,0x616161,0x616161,0x5E5E5E,0x5C5C5C,0x5A5A5A, + 0x565656,0x535353,0x525252,0x515151,0x484848,0x7D7D7D,0xCBCBCB,0xC8C8C8, + 0xC7C7C7,0x404040,0x232323,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x292929, + 0xC7C7C7,0xC2C2C2,0xC6C6C6,0xA7A7A7,0x1F1F1F,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x202020,0x7E7E7E,0xC5C5C5,0xBFBFBF, + 0xC7C7C7,0x6F6F6F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1C1C1C,0x636363,0x585858, + 0x4D4D4D,0x404040,0xA8A8A8,0xB3B3B3,0xB2B2B2,0xB1B1B1,0xB1B1B1,0xB1B1B1, + 0xB0B0B0,0xB0B0B0,0xAFAFAF,0xBDBDBD,0x3D3D3D,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x181818,0x676767,0x717171,0x707070,0x696969,0x5A5A5A,0x515151, + 0x4B4B4B,0x3E3E3E,0x393939,0x909090,0xA7A7A7,0xA4A4A4,0xA4A4A4,0xA4A4A4, + 0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA4A4A4,0xA4A4A4,0xA5A5A5,0x9E9E9E,0x575757, + 0x5D5D5D,0x6C6C6C,0x646464,0x616161,0x6F6F6F,0x707070,0x6B6B6B,0x5E5E5E, + 0x525252,0x4D4D4D,0x434343,0x333333,0x626262,0xADADAD,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA6A6A6, + 0x6B6B6B,0x5E5E5E,0x6C6C6C,0x646464,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232,0x686868,0x5D5D5D,0xAEAEAE, + 0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC7C7C7, + 0xC6C6C6,0xC8C8C8,0xBFBFBF,0x2F2F2F,0x232323,0x313131,0x636363,0x626262, + 0x626262,0x626262,0x626262,0x616161,0x616161,0x616161,0x5E5E5E,0x5C5C5C, + 0x5A5A5A,0x565656,0x535353,0x525252,0x515151,0x494949,0x6A6A6A,0xC8C8C8, + 0xCBCBCB,0xBEBEBE,0x292929,0x272727,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x717171, + 0xC7C7C7,0xC4C4C4,0xC1C1C1,0xC9C9C9,0x7D7D7D,0x141414,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1E1E1E,0xC0C0C0,0xCBCBCB,0xBEBEBE, + 0xC1C1C1,0xB9B9B9,0x2C2C2C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1C1C1C,0x626262, + 0x585858,0x4B4B4B,0x3A3A3A,0xA1A1A1,0xB4B4B4,0xB1B1B1,0xB2B2B2,0xB1B1B1, + 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xBDBDBD,0x3C3C3C,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x202020,0x6E6E6E,0x707070,0x707070,0x686868,0x595959, + 0x505050,0x4B4B4B,0x3E3E3E,0x323232,0x6A6A6A,0xAEAEAE,0xA3A3A3,0xA4A4A4, + 0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA6A6A6, + 0x707070,0x5A5A5A,0x6E6E6E,0x606060,0x626262,0x6F6F6F,0x707070,0x6B6B6B, + 0x5C5C5C,0x515151,0x4C4C4C,0x414141,0x363636,0x3A3A3A,0x7F7F7F,0xA7A7A7, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA3A3A3,0x9A9A9A,0x717171,0x6A6A6A,0x5B5B5B,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232,0x6F6F6F,0x6F6F6F, + 0xC5C5C5,0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC6C6C6, + 0xC7C7C7,0xC6C6C6,0xCFCFCF,0x8A8A8A,0x222222,0x252525,0x303030,0x626262, + 0x636363,0x626262,0x626262,0x626262,0x616161,0x616161,0x606060,0x5E5E5E, + 0x5C5C5C,0x595959,0x565656,0x535353,0x525252,0x515151,0x4B4B4B,0x5E5E5E, + 0xC6C6C6,0xC9C9C9,0x4F4F4F,0x242424,0x282828,0x2D2D2D,0x161616,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x737373, + 0xCDCDCD,0xC2C2C2,0xC1C1C1,0xC1C1C1,0xCCCCCC,0x6A6A6A,0x1A1A1A,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x808080,0xCBCBCB,0xBFBFBF, + 0xBFBFBF,0xC3C3C3,0xAAAAAA,0x212121,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1B1B1B, + 0x626262,0x575757,0x4B4B4B,0x353535,0x8E8E8E,0xB6B6B6,0xB1B1B1,0xB1B1B1, + 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xBCBCBC,0x434343,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x262626,0x6E6E6E,0x707070,0x707070,0x666666, + 0x575757,0x4F4F4F,0x4A4A4A,0x3D3D3D,0x353535,0x3B3B3B,0x8A8A8A,0xA8A8A8, + 0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA4A4A4,0xA4A4A4,0xA3A3A3, + 0xA7A7A7,0x929292,0x727272,0x6E6E6E,0x5E5E5E,0x646464,0x6F6F6F,0x707070, + 0x696969,0x5A5A5A,0x515151,0x4C4C4C,0x414141,0x383838,0x323232,0x4A4A4A, + 0xA5A5A5,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA6A6A6,0x909090,0x7B7B7B,0x545454,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2C2C2C,0x777777, + 0xBFBFBF,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC6C6C6,0xC7C7C7,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC7C7C7,0xCBCBCB,0x505050,0x212121,0x262626,0x2F2F2F, + 0x626262,0x636363,0x626262,0x626262,0x626262,0x616161,0x616161,0x616161, + 0x5E5E5E,0x5C5C5C,0x5A5A5A,0x565656,0x535353,0x525252,0x515151,0x4A4A4A, + 0x6E6E6E,0xCECECE,0xA1A1A1,0x222222,0x272727,0x282828,0x2C2C2C,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x464646, + 0xD0D0D0,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC2C2C2,0xC8C8C8,0x555555,0x1B1B1B, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x717171,0xCBCBCB,0xBEBEBE, + 0xBFBFBF,0xBFBFBF,0xC6C6C6,0x8D8D8D,0x242424,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x171717,0x616161,0x565656,0x4B4B4B,0x353535,0x828282,0xB8B8B8,0xB1B1B1, + 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB4B4B4,0x9A9A9A, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2E2E2E,0x707070,0x707070,0x707070, + 0x666666,0x575757,0x4F4F4F,0x494949,0x3C3C3C,0x373737,0x303030,0x5D5D5D, + 0xAAAAAA,0xA5A5A5,0xA4A4A4,0xA5A5A5,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA4A4A4, + 0xA4A4A4,0xA3A3A3,0xA8A8A8,0x8C8C8C,0x7C7C7C,0x5A5A5A,0x646464,0x6F6F6F, + 0x707070,0x696969,0x5A5A5A,0x505050,0x4B4B4B,0x3F3F3F,0x373737,0x363636, + 0x383838,0x919191,0xA5A5A5,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xA1A1A1,0xA2A2A2,0xA2A2A2,0x9F9F9F,0x838383,0x494949,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1F1F1F, + 0x999999,0xCDCDCD,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC6C6C6,0xC6C6C6, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCFCFCF,0x737373,0x222222,0x272727,0x262626, + 0x2C2C2C,0x5D5D5D,0x646464,0x626262,0x626262,0x626262,0x616161,0x616161, + 0x5B5B5B,0x5E5E5E,0x5D5D5D,0x5A5A5A,0x565656,0x535353,0x535353,0x515151, + 0x4B4B4B,0x9D9D9D,0xD5D5D5,0x666666,0x202020,0x282828,0x282828,0x2D2D2D, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x494949, + 0xB7B7B7,0xC5C5C5,0xC1C1C1,0xC1C1C1,0xC2C2C2,0xC4C4C4,0xBDBDBD,0x3A3A3A, + 0x181818,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA5A5A5,0xC7C7C7,0xBFBFBF, + 0xBFBFBF,0xBFBFBF,0xBFBFBF,0xC8C8C8,0x787878,0x252525,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x262626,0x666666,0x555555,0x4B4B4B,0x343434,0x717171,0xB7B7B7, + 0xB2B2B2,0xB2B2B2,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB3B3B3, + 0xA2A2A2,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2F2F2F,0x707070,0x707070, + 0x707070,0x646464,0x565656,0x4F4F4F,0x494949,0x3B3B3B,0x373737,0x353535, + 0x444444,0xA1A1A1,0xA6A6A6,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA5A5A5, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA5A5A5,0x9D9D9D,0x7E7E7E,0x595959,0x656565, + 0x6F6F6F,0x707070,0x676767,0x595959,0x4F4F4F,0x4A4A4A,0x3F3F3F,0x373737, + 0x373737,0x313131,0x6B6B6B,0xACACAC,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA5A5A5,0x939393,0x454545, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x202020,0xB8B8B8,0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC7C7C7, + 0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC6C6C6,0x353535,0x232323,0x282828, + 0x272727,0x272727,0x565656,0x656565,0x626262,0x626262,0x626262,0x616161, + 0x5E5E5E,0x888888,0x646464,0x585858,0x5A5A5A,0x565656,0x535353,0x535353, + 0x515151,0x4C4C4C,0x8F8F8F,0xB5B5B5,0x3A3A3A,0x232323,0x282828,0x282828, + 0x2D2D2D,0x181818,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x727272, + 0xD1D1D1,0xC5C5C5,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC2C2C2,0xC5C5C5,0xBCBCBC, + 0x2E2E2E,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x727272,0xC7C7C7,0xC0C0C0, + 0xBFBFBF,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xC9C9C9,0x686868,0x212121,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x282828,0x666666,0x555555,0x4A4A4A,0x383838,0x404040, + 0xABABAB,0xB3B3B3,0xB0B0B0,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0, + 0xB4B4B4,0xA1A1A1,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232,0x727272, + 0x707070,0x6F6F6F,0x636363,0x555555,0x4F4F4F,0x484848,0x3B3B3B,0x373737, + 0x373737,0x393939,0x8F8F8F,0xA8A8A8,0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA4A4A4, + 0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA4A4A4,0x898989,0x585858, + 0x686868,0x6E6E6E,0x707070,0x666666,0x575757,0x505050,0x494949,0x3D3D3D, + 0x383838,0x373737,0x343434,0x3E3E3E,0x878787,0xA7A7A7,0xA1A1A1,0xA1A1A1, + 0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA6A6A6, + 0x414141,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x3C3C3C,0xCFCFCF,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC6C6C6, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCCCCCC,0xA0A0A0,0x252525,0x272727, + 0x282828,0x272727,0x272727,0x555555,0x656565,0x626262,0x626262,0x626262, + 0x5D5D5D,0x7A7A7A,0xB1B1B1,0x494949,0x5A5A5A,0x5A5A5A,0x565656,0x535353, + 0x525252,0x515151,0x4D4D4D,0x9F9F9F,0x9D9D9D,0x262626,0x272727,0x282828, + 0x282828,0x2A2A2A,0x151515,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x494949,0xAEAEAE, + 0xC9C9C9,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC2C2C2,0xC5C5C5, + 0x6A6A6A,0x252525,0x222222,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x242424,0x7F7F7F,0xCBCBCB,0xBFBFBF, + 0xC0C0C0,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xC9C9C9,0x626262,0x1C1C1C, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x282828,0x666666,0x555555,0x494949,0x373737, + 0x393939,0xA9A9A9,0xB3B3B3,0xB2B2B2,0xB0B0B0,0xB1B1B1,0xB0B0B0,0xB0B0B0, + 0xB0B0B0,0xB4B4B4,0xA0A0A0,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3A3A3A, + 0x737373,0x6F6F6F,0x6F6F6F,0x626262,0x545454,0x4F4F4F,0x474747,0x3A3A3A, + 0x373737,0x373737,0x323232,0x626262,0xA8A8A8,0xA5A5A5,0xA5A5A5,0xA4A4A4, + 0xA4A4A4,0xA3A3A3,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA6A6A6,0x909090, + 0x656565,0x6B6B6B,0x6F6F6F,0x707070,0x656565,0x565656,0x4F4F4F,0x4A4A4A, + 0x3C3C3C,0x373737,0x373737,0x373737,0x303030,0x535353,0xA6A6A6,0xA2A2A2, + 0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xAAAAAA,0x646464,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x222222,0xC4C4C4,0xC9C9C9,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xD2D2D2,0x595959,0x202020, + 0x282828,0x282828,0x272727,0x272727,0x535353,0x666666,0x626262,0x626262, + 0x616161,0x616161,0xB2B2B2,0x8D8D8D,0x303030,0x5F5F5F,0x5A5A5A,0x565656, + 0x535353,0x525252,0x505050,0x525252,0x8B8B8B,0x525252,0x222222,0x282828, + 0x282828,0x282828,0x2A2A2A,0x141414,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x242424,0x515151,0x454545,0x505050,0xB0B0B0,0xB8B8B8, + 0xB6B6B6,0xBDBDBD,0x7F7F7F,0x4D4D4D,0x414141,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x252525,0x4E4E4E,0x484848,0x7A7A7A,0xC3C3C3,0x797979,0x494949,0x404040, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x242424,0x4F4F4F,0x1B1B1B, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x767676,0xD0D0D0, + 0xC7C7C7,0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC4C4C4, + 0xBCBCBC,0x2C2C2C,0x202020,0x181818,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x717171,0xC7C7C7,0xCBCBCB,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xBFBFBF,0xBFBFBF,0xC0C0C0,0xC1C1C1,0x404040, + 0x1C1C1C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323,0x4A4A4A, + 0x424242,0x4A4A4A,0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x212121,0x474747,0x414141,0x404040,0x404040, + 0x414141,0x3C3C3C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3B3B3B,0x404040, + 0x3E3E3E,0x3E3E3E,0x484848,0x212121,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x272727,0x666666,0x545454,0x494949, + 0x383838,0x373737,0xA2A2A2,0xB4B4B4,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xB3B3B3,0xABABAB,0x404040,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x434343,0x737373,0x6F6F6F,0x6E6E6E,0x606060,0x535353,0x4F4F4F,0x464646, + 0x393939,0x373737,0x373737,0x373737,0x353535,0x7A7A7A,0xAAAAAA,0xA3A3A3, + 0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA5A5A5, + 0xA2A2A2,0x767676,0x696969,0x6F6F6F,0x707070,0x636363,0x555555,0x4F4F4F, + 0x484848,0x3B3B3B,0x373737,0x373737,0x373737,0x363636,0x3A3A3A,0x9B9B9B, + 0xA5A5A5,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA2A2A2,0xA7A7A7,0x1D1D1D,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x515151,0xD6D6D6,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCBCBCB,0xA2A2A2,0x2C2C2C, + 0x252525,0x282828,0x282828,0x282828,0x262626,0x525252,0x666666,0x626262, + 0x626262,0x5C5C5C,0x969696,0xBFBFBF,0x5B5B5B,0x2A2A2A,0x5E5E5E,0x5B5B5B, + 0x575757,0x545454,0x525252,0x515151,0x505050,0x5E5E5E,0x3A3A3A,0x252525, + 0x282828,0x282828,0x282828,0x2D2D2D,0x181818,0x00FF00,0x00FF00,0x00FF00, + 0x424242,0x515151,0xB0B0B0,0xC7C7C7,0xD7D7D7,0xD4D4D4,0xD3D3D3,0xCACACA, + 0xC9C9C9,0xC9C9C9,0xC9C9C9,0xCFCFCF,0xD5D5D5,0xD0D0D0,0xB9B9B9,0x292929, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x424242, + 0x7B7B7B,0xCACACA,0xD3D3D3,0xD1D1D1,0xCDCDCD,0xC6C6C6,0xCDCDCD,0xD1D1D1, + 0xCECECE,0xB0B0B0,0x494949,0x00FF00,0x00FF00,0x494949,0xD0D0D0,0xC9C9C9, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x747474,0xCECECE, + 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC1C1C1, + 0xC3C3C3,0xBBBBBB,0x525252,0x4C4C4C,0x525252,0x707070,0x464646,0x434343, + 0x434343,0x4A4A4A,0x191919,0x00FF00,0x747474,0xCDCDCD,0xC2C2C2,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xBFBFBF,0xC0C0C0,0xBFBFBF, + 0x636363,0x4B4B4B,0x4E4E4E,0x434343,0x434343,0x434343,0x434343,0x424242, + 0x434343,0x434343,0x424242,0x434343,0x434343,0x434343,0x434343,0x424242, + 0x424242,0x434343,0x424242,0x424242,0x424242,0x434343,0x3D3D3D,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3E3E3E,0x747474,0xC1C1C1, + 0xCBCBCB,0xC8C8C8,0xCACACA,0xC2C2C2,0x6E6E6E,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x222222,0x4D4D4D,0xA2A2A2,0xACACAC,0xB8B8B8,0xC7C7C7,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC1C1C1,0xADADAD,0xA2A2A2,0x424242,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x434343,0xA1A1A1,0xA9A9A9,0xBFBFBF, + 0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC2C2C2,0xB2B2B2,0xABABAB,0x757575,0x212121, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323,0x646464,0x545454, + 0x494949,0x383838,0x333333,0x8F8F8F,0xB5B5B5,0xB1B1B1,0xB1B1B1,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB4B4B4,0xADADAD,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x3D3D3D,0x999999,0x9F9F9F,0x9D9D9D,0x9C9C9C,0x9C9C9C,0x9F9F9F, + 0x949494,0x464646,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x161616,0x6F6F6F,0xA0A0A0,0x989898,0x999999,0x929292,0x464646, + 0x1E1E1E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x4C4C4C,0x737373,0x707070,0x6C6C6C,0x5F5F5F,0x525252,0x4E4E4E, + 0x454545,0x393939,0x373737,0x373737,0x373737,0x313131,0x5D5D5D,0xA9A9A9, + 0xA5A5A5,0xA4A4A4,0xA3A3A3,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3, + 0xA3A3A3,0xA6A6A6,0x959595,0x7B7B7B,0x6F6F6F,0x6F6F6F,0x626262,0x545454, + 0x4E4E4E,0x464646,0x3A3A3A,0x373737,0x373737,0x373737,0x373737,0x343434, + 0x737373,0xAAAAAA,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1, + 0xA2A2A2,0xA1A1A1,0xA1A1A1,0xAFAFAF,0x424242,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0xADADAD,0xCBCBCB,0xC7C7C7,0xC6C6C6,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC8C8C8,0x3B3B3B, + 0x222222,0x282828,0x282828,0x282828,0x282828,0x262626,0x505050,0x666666, + 0x626262,0x606060,0x767676,0xB5B5B5,0xB5B5B5,0x343434,0x343434,0x626262, + 0x5A5A5A,0x575757,0x545454,0x525252,0x515151,0x515151,0x666666,0x404040, + 0x252525,0x282828,0x282828,0x282828,0x2C2C2C,0x00FF00,0x00FF00,0x494949, + 0xB3B3B3,0xD0D0D0,0xD6D6D6,0xCECECE,0xCDCDCD,0xCACACA,0xCBCBCB,0xCBCBCB, + 0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xCCCCCC, + 0xCCCCCC,0x787878,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x767676, + 0xD3D3D3,0xCECECE,0xC6C6C6,0xC5C5C5,0xC8C8C8,0xC9C9C9,0xC9C9C9,0xC9C9C9, + 0xC6C6C6,0xC4C4C4,0xC9C9C9,0xCECECE,0xA7A7A7,0x7F7F7F,0xC3C3C3,0xCDCDCD, + 0x929292,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828,0xB6B6B6,0xC8C8C8, + 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC1C1C1,0xC2C2C2, + 0xC1C1C1,0xC2C2C2,0xC2C2C2,0xC5C5C5,0xC6C6C6,0xC6C6C6,0xCBCBCB,0xCECECE, + 0xCECECE,0xCECECE,0xD5D5D5,0x7F7F7F,0x707070,0xCACACA,0xC0C0C0,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xBFBFBF, + 0xC0C0C0,0xC5C5C5,0xC4C4C4,0xCCCCCC,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCCCCCC, + 0xCECECE,0xB9B9B9,0xB7B7B7,0xCECECE,0xCBCBCB,0xCBCBCB,0xCBCBCB,0xCBCBCB, + 0xCBCBCB,0xCBCBCB,0xCBCBCB,0xCACACA,0xCACACA,0xCACACA,0xCCCCCC,0xBBBBBB, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x6F6F6F,0xCBCBCB,0xC5C5C5, + 0xBCBCBC,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBCBCBC,0xC6C6C6,0x6C6C6C,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x434343, + 0xA4A4A4,0xB9B9B9,0xC7C7C7,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xBBBBBB,0xBABABA, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xBBBBBB,0xBCBCBC,0xC3C3C3,0xACACAC, + 0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x444444,0xA3A3A3,0xBFBFBF,0xB9B9B9,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB4B4B4,0xB3B3B3,0xB5B5B5,0xB5B5B5,0xBEBEBE, + 0xB3B3B3,0xA5A5A5,0x252525,0x00FF00,0x00FF00,0x00FF00,0x323232,0x636363, + 0x545454,0x484848,0x373737,0x323232,0x828282,0xB7B7B7,0xB1B1B1,0xB2B2B2, + 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB3B3B3,0xA1A1A1,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x333333,0x969696,0xA4A4A4, + 0xA1A1A1,0x9F9F9F,0xA0A0A0,0xA0A0A0,0x9F9F9F,0x9F9F9F,0x9F9F9F,0x9F9F9F, + 0x9E9E9E,0x9F9F9F,0x9F9F9F,0xA1A1A1,0x999999,0x404040,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x3E3E3E,0x9A9A9A,0xB6B6B6,0xAFAFAF,0xAEAEAE,0xB1B1B1,0xB2B2B2,0xB1B1B1, + 0xAFAFAF,0xAFAFAF,0xB9B9B9,0xACACAC,0x9F9F9F,0x232323,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x212121,0xA0A0A0,0x9F9F9F, + 0x9C9C9C,0x9B9B9B,0x9B9B9B,0x9B9B9B,0x9B9B9B,0x9B9B9B,0x9B9B9B,0x9B9B9B, + 0x9B9B9B,0x999999,0x9E9E9E,0x8E8E8E,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x1E1E1E,0x7D7D7D,0xB6B6B6,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xABABAB, + 0xB6B6B6,0xA7A7A7,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x505050,0x737373,0x707070,0x6B6B6B,0x5D5D5D,0x525252, + 0x4D4D4D,0x434343,0x383838,0x373737,0x373737,0x373737,0x353535,0x414141, + 0xA1A1A1,0xA6A6A6,0xA4A4A4,0xA3A3A3,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3, + 0xA3A3A3,0xA3A3A3,0xA4A4A4,0xA2A2A2,0x7F7F7F,0x6F6F6F,0x6E6E6E,0x616161, + 0x535353,0x4E4E4E,0x454545,0x3A3A3A,0x373737,0x373737,0x373737,0x373737, + 0x333333,0x4A4A4A,0x9A9A9A,0xA5A5A5,0xA2A2A2,0xA1A1A1,0xA2A2A2,0xA2A2A2, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA4A4A4,0x9D9D9D,0x1A1A1A,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x1F1F1F,0xC7C7C7,0xC8C8C8,0xC6C6C6,0xC6C6C6, + 0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCBCBCB,0xA6A6A6, + 0x252525,0x272727,0x282828,0x282828,0x282828,0x282828,0x252525,0x4F4F4F, + 0x666666,0x5D5D5D,0x616161,0xADADAD,0xB5B5B5,0x6E6E6E,0x222222,0x343434, + 0x606060,0x5A5A5A,0x575757,0x545454,0x525252,0x515151,0x505050,0x646464, + 0x434343,0x252525,0x282828,0x282828,0x252525,0x272727,0x4D4D4D,0xB2B2B2, + 0xD0D0D0,0xCBCBCB,0xCCCCCC,0xC9C9C9,0xAFAFAF,0xA1A1A1,0xA6A6A6,0xA1A1A1, + 0x9A9A9A,0xC5C5C5,0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC7C7C7,0xD9D9D9,0x3E3E3E,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x252525,0xB8B8B8, + 0xCBCBCB,0xC5C5C5,0xC5C5C5,0xC7C7C7,0xC7C7C7,0xADADAD,0x9F9F9F,0xA0A0A0, + 0x979797,0xBCBCBC,0xC9C9C9,0xC6C6C6,0xC3C3C3,0xC8C8C8,0xCCCCCC,0xC5C5C5, + 0xCECECE,0x6F6F6F,0x00FF00,0x00FF00,0x00FF00,0x717171,0xC9C9C9,0xC9C9C9, + 0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2, + 0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC1C1C1, + 0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC9C9C9,0xCACACA,0xBFBFBF,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0, + 0xBFBFBF,0xBFBFBF,0xBFBFBF,0xC0C0C0,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xBFBFBF, + 0xC0C0C0,0xB8B8B8,0x464646,0x696969,0xA7A7A7,0xC3C3C3,0xBDBDBD,0xBDBDBD, + 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBCBCBC,0xBCBCBC,0xBCBCBC,0xC0C0C0, + 0xAEAEAE,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA2A2A2,0xC3C3C3,0xBBBBBB, + 0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBFBFBF,0xB2B2B2, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x262626,0xACACAC, + 0xC5C5C5,0xBEBEBE,0xBCBCBC,0xBFBFBF,0xB6B6B6,0xADADAD,0x9B9B9B,0x9A9A9A, + 0xB2B2B2,0xBEBEBE,0xB9B9B9,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xBDBDBD,0xBEBEBE,0x6A6A6A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x202020,0x797979,0xC4C4C4,0xB9B9B9,0xB4B4B4,0xB4B4B4, + 0xBBBBBB,0x9F9F9F,0x949494,0x979797,0xB4B4B4,0xB4B4B4,0xB3B3B3,0xB3B3B3, + 0xB3B3B3,0xB4B4B4,0xB9B9B9,0xB9B9B9,0x696969,0x00FF00,0x00FF00,0x373737, + 0x656565,0x535353,0x454545,0x373737,0x323232,0x757575,0xB8B8B8,0xB2B2B2, + 0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xB4B4B4,0xA1A1A1, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x5F5F5F, + 0xA0A0A0,0xADADAD,0xB7B7B7,0xB3B3B3,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB2B2B2, + 0xB2B2B2,0xB0B0B0,0xB5B5B5,0xB4B4B4,0x9B9B9B,0x858585,0x595959,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x646464,0xBBBBBB,0xB0B0B0,0xACACAC,0xACACAC,0xAEAEAE,0x9A9A9A,0x8E8E8E, + 0x959595,0xA5A5A5,0xADADAD,0xAAAAAA,0xACACAC,0xB0B0B0,0xB1B1B1,0x616161, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x181818,0x919191, + 0xA2A2A2,0xADADAD,0xAEAEAE,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, + 0xACACAC,0xACACAC,0xACACAC,0xABABAB,0xB4B4B4,0x363636,0x00FF00,0x00FF00, + 0x00FF00,0x252525,0xA7A7A7,0xB2B2B2,0xA6A6A6,0xA7A7A7,0xA7A7A7,0xA6A6A6, + 0xA6A6A6,0xA6A6A6,0xACACAC,0xA8A8A8,0x1A1A1A,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x575757,0x767676,0x717171,0x6B6B6B,0x5C5C5C, + 0x525252,0x4D4D4D,0x424242,0x383838,0x373737,0x373737,0x373737,0x373737, + 0x373737,0x8A8A8A,0xA8A8A8,0xA3A3A3,0xA3A3A3,0xA4A4A4,0xA4A4A4,0xA4A4A4, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA5A5A5,0x8A8A8A,0x6C6C6C,0x6E6E6E, + 0x606060,0x525252,0x4D4D4D,0x454545,0x3A3A3A,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x323232,0x5B5B5B,0xA8A8A8,0xA2A2A2,0xA1A1A1,0xA2A2A2, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xADADAD,0x666666, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x848484,0xD1D1D1,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xD2D2D2, + 0x696969,0x202020,0x282828,0x282828,0x282828,0x282828,0x282828,0x252525, + 0x4F4F4F,0x606060,0x787878,0xB5B5B5,0xCCCCCC,0xA6A6A6,0x282828,0x232323, + 0x343434,0x616161,0x5B5B5B,0x575757,0x545454,0x525252,0x515151,0x505050, + 0x636363,0x444444,0x252525,0x282828,0x222222,0x2D2D2D,0x8E8E8E,0xD1D1D1, + 0xCCCCCC,0xC7C7C7,0xCFCFCF,0xAAAAAA,0x656565,0x5A5A5A,0x626262,0x676767, + 0x5D5D5D,0x565656,0x727272,0xB6B6B6,0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xCFCFCF,0x848484,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x252525,0xC5C5C5, + 0xCCCCCC,0xC5C5C5,0xC5C5C5,0xC7C7C7,0xC7C7C7,0x5C5C5C,0x4A4A4A,0x626262, + 0x626262,0x595959,0x5E5E5E,0x898989,0xC2C2C2,0xC6C6C6,0xC4C4C4,0xC4C4C4, + 0xC4C4C4,0xCBCBCB,0x595959,0x00FF00,0x00FF00,0x9B9B9B,0xCECECE,0xC9C9C9, + 0xC8C8C8,0xC7C7C7,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2, + 0xC2C2C2,0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC5C5C5,0xC7C7C7,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0, + 0xC0C0C0,0xBFBFBF,0xC1C1C1,0xC4C4C4,0xC4C4C4,0xC3C3C3,0xC3C3C3,0xC3C3C3, + 0xC3C3C3,0xC7C7C7,0xA8A8A8,0x262626,0x5B5B5B,0x515151,0x9D9D9D,0xC2C2C2, + 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBCBCBC,0xBCBCBC,0xBCBCBC, + 0xC1C1C1,0xA6A6A6,0x00FF00,0x00FF00,0x00FF00,0x707070,0xC5C5C5,0xBBBBBB, + 0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBCBCBC, + 0xB9B9B9,0x212121,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x6C6C6C,0xC0C0C0, + 0xC0C0C0,0xB9B9B9,0xBBBBBB,0xB4B4B4,0x777777,0x5D5D5D,0x6B6B6B,0x696969, + 0x6E6E6E,0x636363,0x7F7F7F,0xB4B4B4,0xBABABA,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB7B7B7,0xB8B8B8,0xC4C4C4,0x6C6C6C,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x232323,0xB6B6B6,0xC0C0C0,0xB4B4B4,0xB4B4B4,0xB5B5B5, + 0xBABABA,0x828282,0x525252,0x646464,0x5A5A5A,0x717171,0xB7B7B7,0xB4B4B4, + 0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB4B4B4,0xC5C5C5,0x424242,0x00FF00, + 0x353535,0x5D5D5D,0x5A5A5A,0x464646,0x373737,0x313131,0x6C6C6C,0xB9B9B9, + 0xB2B2B2,0xB0B0B0,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB4B4B4, + 0x9F9F9F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x4A4A4A,0x707070,0x646464,0x888888,0xADADAD,0xAEAEAE,0xAEAEAE,0xAEAEAE, + 0xAEAEAE,0xAEAEAE,0xB3B3B3,0x979797,0x616161,0x505050,0x616161,0x393939, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x909090,0xB4B4B4,0xACACAC,0xACACAC,0xACACAC,0xB0B0B0,0x767676,0x444444, + 0x616161,0x727272,0x5B5B5B,0x757575,0xAEAEAE,0xAAAAAA,0xAAAAAA,0xACACAC, + 0xB1B1B1,0x9F9F9F,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828, + 0x787878,0x6E6E6E,0x636363,0x959595,0xAEAEAE,0xA8A8A8,0xA8A8A8,0xA8A8A8, + 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xB4B4B4,0x434343,0x00FF00, + 0x00FF00,0x00FF00,0x6B6B6B,0xB4B4B4,0xA7A7A7,0xA6A6A6,0xA7A7A7,0xA6A6A6, + 0xA7A7A7,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xB2B2B2,0x6D6D6D,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x484848,0x696969,0x717171,0x757575, + 0x616161,0x525252,0x4C4C4C,0x414141,0x383838,0x373737,0x373737,0x373737, + 0x373737,0x323232,0x646464,0xA9A9A9,0xA5A5A5,0xA4A4A4,0xA4A4A4,0xA4A4A4, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA5A5A5,0x959595,0x828282, + 0x747474,0x646464,0x545454,0x4D4D4D,0x444444,0x393939,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x353535,0x3F3F3F,0x9D9D9D,0xA3A3A3,0xA1A1A1, + 0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2, + 0xA7A7A7,0x1D1D1D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x474747,0xD3D3D3,0xC6C6C6,0xC6C6C6, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9, + 0xC8C8C8,0x363636,0x242424,0x282828,0x282828,0x282828,0x282828,0x282828, + 0x252525,0x373737,0x7C7C7C,0xB9B9B9,0xCDCDCD,0xD1D1D1,0x818181,0x212121, + 0x262626,0x323232,0x5A5A5A,0x626262,0x5C5C5C,0x585858,0x555555,0x525252, + 0x505050,0x656565,0x464646,0x232323,0x222222,0x4A4A4A,0xB5B5B5,0xCFCFCF, + 0xC7C7C7,0xC7C7C7,0xC9C9C9,0x7F7F7F,0x383838,0x414141,0x565656,0x666666, + 0x6A6A6A,0x626262,0x555555,0x474747,0x8F8F8F,0xCDCDCD,0xC7C7C7,0xC7C7C7, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xD1D1D1,0x646464,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x262626,0xC5C5C5, + 0xCBCBCB,0xC5C5C5,0xC5C5C5,0xC6C6C6,0xC5C5C5,0x5E5E5E,0x323232,0x484848, + 0x666666,0x666666,0x585858,0x515151,0x4C4C4C,0x707070,0xC3C3C3,0xC5C5C5, + 0xC4C4C4,0xC5C5C5,0xC1C1C1,0x393939,0x00FF00,0x00FF00,0x666666,0x9F9F9F, + 0x999999,0x969696,0xA1A1A1,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2, + 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC1C1C1,0xC5C5C5,0xAEAEAE,0x959595,0x989898, + 0x989898,0x989898,0x979797,0x979797,0x979797,0x979797,0x979797,0x969696, + 0x979797,0xBEBEBE,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0, + 0xC0C0C0,0xBFBFBF,0xC1C1C1,0xB0B0B0,0x949494,0x969696,0x969696,0x969696, + 0x969696,0x969696,0x9B9B9B,0x797979,0x3C3C3C,0x616161,0x4C4C4C,0x767676, + 0xC4C4C4,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBCBCBC, + 0xBCBCBC,0xC9C9C9,0x464646,0x00FF00,0x00FF00,0x707070,0xC7C7C7,0xBBBBBB, + 0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBABABA, + 0xBABABA,0xCBCBCB,0x505050,0x00FF00,0x00FF00,0x00FF00,0x707070,0xC5C5C5, + 0xBBBBBB,0xB9B9B9,0xBABABA,0xBFBFBF,0x696969,0x373737,0x4E4E4E,0x616161, + 0x6C6C6C,0x676767,0x565656,0x4B4B4B,0x717171,0xBABABA,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB6B6B6,0xC3C3C3,0x6B6B6B,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x242424,0xB4B4B4,0xBBBBBB,0xB4B4B4,0xB5B5B5,0xB4B4B4, + 0xBABABA,0x787878,0x353535,0x4C4C4C,0x676767,0x555555,0x4A4A4A,0x909090, + 0xB9B9B9,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB5B5B5,0xA9A9A9, + 0x444444,0x00FF00,0x00FF00,0x242424,0x404040,0x393939,0x303030,0x686868, + 0xBABABA,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB1B1B1,0xB0B0B0,0xB0B0B0, + 0xB2B2B2,0xAFAFAF,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x5A5A5A,0x676767,0x575757,0x4D4D4D,0x838383,0xB3B3B3,0xAEAEAE, + 0xAEAEAE,0xAEAEAE,0xB4B4B4,0x949494,0x414141,0x3F3F3F,0x4D4D4D,0x636363, + 0x2D2D2D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x3F3F3F,0xA9A9A9,0xAEAEAE,0xACACAC,0xACACAC,0xADADAD,0xADADAD,0x4A4A4A, + 0x414141,0x656565,0x676767,0x515151,0x494949,0x8A8A8A,0xB2B2B2,0xA9A9A9, + 0xAAAAAA,0xAAAAAA,0xB1B1B1,0xAAAAAA,0x242424,0x00FF00,0x00FF00,0x00FF00, + 0x1C1C1C,0x6D6D6D,0x626262,0x4D4D4D,0x585858,0xA2A2A2,0xA9A9A9,0xA8A8A8, + 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xACACAC,0x929292, + 0x00FF00,0x00FF00,0x202020,0x9C9C9C,0xA9A9A9,0xA7A7A7,0xA7A7A7,0xA7A7A7, + 0xA6A6A6,0xA7A7A7,0xA7A7A7,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xB6B6B6,0x363636, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1D1D1D, + 0x2D2D2D,0x353535,0x4E4E4E,0x515151,0x414141,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x363636,0x373737,0x797979,0xAAAAAA,0xA4A4A4,0xA3A3A3, + 0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xACACAC, + 0x646464,0x2A2A2A,0x383838,0x515151,0x525252,0x444444,0x383838,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x343434,0x7D7D7D,0xA8A8A8, + 0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xAFAFAF,0x444444,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB3B3B3,0xCBCBCB,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8, + 0xC9C9C9,0x5E5E5E,0x242424,0x282828,0x282828,0x282828,0x282828,0x282828, + 0x262626,0x1B1B1B,0x2E2E2E,0xC7C7C7,0xCCCCCC,0xC8C8C8,0xCDCDCD,0x4E4E4E, + 0x212121,0x292929,0x222222,0x00FF00,0x222222,0x1F1F1F,0x2F2F2F,0x464646, + 0x545454,0x505050,0x646464,0x474747,0x1F1F1F,0x686868,0xCBCBCB,0xCDCDCD, + 0xC7C7C7,0xC7C7C7,0xC9C9C9,0xC5C5C5,0x3A3A3A,0x323232,0x454545,0x555555, + 0x656565,0x6A6A6A,0x626262,0x555555,0x4F4F4F,0x959595,0xCCCCCC,0xC7C7C7, + 0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xD2D2D2,0x5F5F5F, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB8B8B8, + 0xCCCCCC,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC8C8C8,0xB6B6B6,0x2D2D2D,0x393939, + 0x464646,0x646464,0x666666,0x585858,0x535353,0x505050,0x4A4A4A,0x9F9F9F, + 0xC9C9C9,0xC3C3C3,0xC6C6C6,0xBABABA,0x2F2F2F,0x00FF00,0x00FF00,0x232323, + 0x6A6A6A,0x636363,0x5D5D5D,0x909090,0xC7C7C7,0xC2C2C2,0xC2C2C2,0xC2C2C2, + 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC5C5C5,0x8A8A8A,0x606060, + 0x646464,0x646464,0x646464,0x646464,0x646464,0x646464,0x646464,0x646464, + 0x636363,0x6F6F6F,0xBBBBBB,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC4C4C4,0x999999,0x606060,0x646464,0x646464, + 0x646464,0x646464,0x646464,0x686868,0x515151,0x444444,0x5E5E5E,0x515151, + 0x4C4C4C,0xB6B6B6,0xC0C0C0,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC, + 0xBCBCBC,0xBCBCBC,0xC9C9C9,0x424242,0x1A1A1A,0xB1B1B1,0xC3C3C3,0xBBBBBB, + 0xBBBBBB,0xBCBCBC,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB, + 0xBABABA,0xBDBDBD,0xB4B4B4,0x212121,0x00FF00,0x00FF00,0x6A6A6A,0xC6C6C6, + 0xB9B9B9,0xBABABA,0xBABABA,0xBBBBBB,0xB2B2B2,0x3A3A3A,0x404040,0x4F4F4F, + 0x636363,0x6C6C6C,0x676767,0x575757,0x505050,0x484848,0xA1A1A1,0xBBBBBB, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB6B6B6,0xB7B7B7,0xC6C6C6, + 0x424242,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0xABABAB,0xBCBCBC,0xB5B5B5,0xB5B5B5,0xB4B4B4, + 0xB6B6B6,0xAAAAAA,0x3C3C3C,0x3B3B3B,0x505050,0x646464,0x565656,0x414141, + 0x6C6C6C,0xBBBBBB,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3, + 0xB9B9B9,0xB2B2B2,0x00FF00,0x00FF00,0x00FF00,0x161616,0x3C3C3C,0x303030, + 0x676767,0xB9B9B9,0xB2B2B2,0xB2B2B2,0xB0B0B0,0xB1B1B1,0xB1B1B1,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xBFBFBF,0x444444,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x545454,0x666666,0x585858,0x474747,0x737373,0xB5B5B5, + 0xAEAEAE,0xAEAEAE,0xB4B4B4,0x999999,0x3F3F3F,0x3A3A3A,0x454545,0x4E4E4E, + 0x666666,0x282828,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x3C3C3C,0xBFBFBF,0xADADAD,0xACACAC,0xACACAC,0xACACAC,0xB1B1B1,0x808080, + 0x343434,0x474747,0x666666,0x666666,0x525252,0x474747,0x4C4C4C,0x9C9C9C, + 0xAEAEAE,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xAEAEAE,0xB0B0B0,0x5D5D5D,0x00FF00, + 0x00FF00,0x252525,0x6D6D6D,0x616161,0x515151,0x414141,0x808080,0xAFAFAF, + 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xABABAB, + 0x999999,0x00FF00,0x161616,0xA4A4A4,0xADADAD,0xA7A7A7,0xA7A7A7,0xA7A7A7, + 0xA6A6A6,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xB4B4B4, + 0x434343,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232,0x454545,0x383838,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x313131,0x5A5A5A,0xA9A9A9,0xA4A4A4, + 0xA3A3A3,0xA3A3A3,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3, + 0xA8A8A8,0x898989,0x00FF00,0x00FF00,0x00FF00,0x323232,0x484848,0x393939, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x333333,0x525252, + 0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2, + 0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA5A5A5,0x3A3A3A,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3C3C3C,0xD1D1D1,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xCBCBCB,0xAEAEAE,0x242424,0x262626,0x282828,0x282828,0x282828,0x252525, + 0x202020,0x2B2B2B,0x575757,0xC6C6C6,0xCCCCCC,0xC7C7C7,0xCACACA,0xC0C0C0, + 0x2B2B2B,0x262626,0x292929,0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x202020,0x4C4C4C,0x656565,0x434343,0x515151,0xCDCDCD,0xC9C9C9, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCFCFCF,0x6A6A6A,0x303030,0x454545, + 0x555555,0x656565,0x6A6A6A,0x626262,0x545454,0x585858,0xBEBEBE,0xC8C8C8, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xCBCBCB, + 0xAAAAAA,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA6A6A6, + 0xC7C7C7,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xCCCCCC,0x838383,0x292929, + 0x3A3A3A,0x494949,0x676767,0x666666,0x585858,0x525252,0x515151,0x4B4B4B, + 0x5C5C5C,0xC3C3C3,0xC5C5C5,0xC9C9C9,0x959595,0x282828,0x00FF00,0x00FF00, + 0x363636,0x717171,0x686868,0x636363,0x999999,0xC8C8C8,0xC2C2C2,0xC2C2C2, + 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC3C3C3,0xB8B8B8,0x5C5C5C, + 0x6B6B6B,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x686868,0x797979,0xBCBCBC,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC6C6C6,0x9C9C9C,0x646464,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x707070,0x4F4F4F,0x262626,0x5A5A5A, + 0x505050,0x535353,0xBABABA,0xBFBFBF,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD, + 0xBDBDBD,0xBCBCBC,0xBDBDBD,0xC6C6C6,0x3A3A3A,0x424242,0xCCCCCC,0xBFBFBF, + 0xC1C1C1,0xC1C1C1,0xC0C0C0,0xBCBCBC,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB, + 0xBBBBBB,0xBABABA,0xC7C7C7,0x5E5E5E,0x00FF00,0x00FF00,0x1E1E1E,0xC1C1C1, + 0xBBBBBB,0xBABABA,0xBABABA,0xB9B9B9,0xBABABA,0xC0C0C0,0x767676,0x3A3A3A, + 0x505050,0x636363,0x6E6E6E,0x676767,0x575757,0x515151,0x464646,0x999999, + 0xBBBBBB,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7, + 0xBBBBBB,0xA2A2A2,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x686868,0xBDBDBD,0xB5B5B5,0xB5B5B5,0xB5B5B5, + 0xB4B4B4,0xB8B8B8,0xA6A6A6,0x303030,0x3D3D3D,0x585858,0x666666,0x565656, + 0x414141,0x6F6F6F,0xBCBCBC,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3, + 0xB3B3B3,0xB3B3B3,0xB3B3B3,0x949494,0x00FF00,0x00FF00,0x00FF00,0x2D2D2D, + 0x343434,0x555555,0xB4B4B4,0xB2B2B2,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xBDBDBD,0x3D3D3D,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x585858,0x656565,0x585858,0x474747,0x6B6B6B, + 0xB6B6B6,0xAEAEAE,0xB2B2B2,0x9B9B9B,0x404040,0x373737,0x3E3E3E,0x444444, + 0x4F4F4F,0x676767,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x1E1E1E,0xA8A8A8,0xAFAFAF,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xB1B1B1, + 0x7C7C7C,0x343434,0x494949,0x686868,0x656565,0x505050,0x4A4A4A,0x3F3F3F, + 0x555555,0xAAAAAA,0xABABAB,0xAAAAAA,0xA9A9A9,0xA9A9A9,0xADADAD,0xB2B2B2, + 0x1A1A1A,0x00FF00,0x282828,0x707070,0x5E5E5E,0x515151,0x404040,0x4F4F4F, + 0xA8A8A8,0xA9A9A9,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8, + 0xA9A9A9,0xA7A7A7,0x1B1B1B,0x1F1F1F,0xAEAEAE,0xA8A8A8,0xA8A8A8,0xA8A8A8, + 0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA6A6A6,0xA6A6A6, + 0xAAAAAA,0x8F8F8F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1D1D1D,0x3C3C3C, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x363636,0x414141,0x9F9F9F, + 0xA6A6A6,0xA3A3A3,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3, + 0xA3A3A3,0xA5A5A5,0xA5A5A5,0x1D1D1D,0x00FF00,0x00FF00,0x00FF00,0x1D1D1D, + 0x3D3D3D,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x323232,0x636363,0xA9A9A9,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA7A7A7,0x8D8D8D,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x7F7F7F,0xD1D1D1, + 0xC7C7C7,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xD0D0D0,0x656565,0x1A1A1A,0x212121,0x212121,0x212121,0x232323, + 0x2C2C2C,0x595959,0xB0B0B0,0xCECECE,0xCACACA,0xC7C7C7,0xC8C8C8,0xCDCDCD, + 0x6A6A6A,0x232323,0x282828,0x292929,0x252525,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x515151,0x7D7D7D,0xC8C8C8,0xC9C9C9, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCDCDCD,0x8E8E8E,0x333333, + 0x454545,0x555555,0x646464,0x6A6A6A,0x636363,0x525252,0x696969,0xC5C5C5, + 0xC8C8C8,0xC7C7C7,0xC6C6C6,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC6C6C6, + 0xD2D2D2,0x4F4F4F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828, + 0xC7C7C7,0xC8C8C8,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xCDCDCD,0x797979, + 0x262626,0x3A3A3A,0x464646,0x646464,0x676767,0x585858,0x525252,0x515151, + 0x4E4E4E,0x4A4A4A,0xA8A8A8,0xC7C7C7,0xCDCDCD,0x717171,0x242424,0x00FF00, + 0x00FF00,0x323232,0x6E6E6E,0x686868,0x6F6F6F,0xB0B0B0,0xC6C6C6,0xC2C2C2, + 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC6C6C6,0xA1A1A1, + 0x4D4D4D,0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x707070,0x939393,0xC2C2C2,0xC1C1C1,0xC0C0C0,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC1C1C1,0xBBBBBB,0x717171,0x676767, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x707070,0x444444,0x1C1C1C, + 0x5C5C5C,0x4E4E4E,0x616161,0xBFBFBF,0xBFBFBF,0xBDBDBD,0xBDBDBD,0xBDBDBD, + 0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBEBEBE,0xB7B7B7,0x585858,0xADADAD,0xC2C2C2, + 0xAAAAAA,0x8F8F8F,0x8D8D8D,0x9F9F9F,0xC1C1C1,0xBCBCBC,0xBBBBBB,0xBBBBBB, + 0xBBBBBB,0xBBBBBB,0xBBBBBB,0xC6C6C6,0x434343,0x00FF00,0x00FF00,0x7B7B7B, + 0xC4C4C4,0xBABABA,0xBABABA,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xBBBBBB,0xB4B4B4, + 0x4C4C4C,0x4F4F4F,0x646464,0x6E6E6E,0x666666,0x575757,0x515151,0x424242, + 0x585858,0xBBBBBB,0xB9B9B9,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xBABABA,0xA7A7A7,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x1E1E1E,0xBEBEBE,0xB6B6B6,0xB5B5B5,0xB4B4B4, + 0xB5B5B5,0xB5B5B5,0xBCBCBC,0x717171,0x2C2C2C,0x3C3C3C,0x5A5A5A,0x676767, + 0x555555,0x474747,0x474747,0xA6A6A6,0xB5B5B5,0xB3B3B3,0xB3B3B3,0xB3B3B3, + 0xB3B3B3,0xB3B3B3,0xB2B2B2,0xB4B4B4,0xB3B3B3,0x212121,0x00FF00,0x00FF00, + 0x272727,0x373737,0x4C4C4C,0xAFAFAF,0xB3B3B3,0xB1B1B1,0xB1B1B1,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xBDBDBD,0x3D3D3D,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x626262,0x646464,0x575757,0x4A4A4A, + 0x888888,0xB2B2B2,0xB0B0B0,0xAEAEAE,0x454545,0x353535,0x3B3B3B,0x3E3E3E, + 0x444444,0x4F4F4F,0x636363,0x1E1E1E,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x3D3D3D,0xBCBCBC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, + 0xB3B3B3,0x6A6A6A,0x323232,0x4C4C4C,0x696969,0x646464,0x505050,0x4A4A4A, + 0x444444,0x3B3B3B,0x9D9D9D,0xAEAEAE,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9, + 0xB2B2B2,0x7A7A7A,0x181818,0x2C2C2C,0x6E6E6E,0x5D5D5D,0x4F4F4F,0x434343, + 0x343434,0x808080,0xAEAEAE,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8, + 0xA7A7A7,0xA7A7A7,0xACACAC,0x999999,0x767676,0xAEAEAE,0xA8A8A8,0xA3A3A3, + 0xA0A0A0,0xA2A2A2,0xA8A8A8,0xA9A9A9,0xA7A7A7,0xA7A7A7,0xA6A6A6,0xA6A6A6, + 0xA7A7A7,0xA7A7A7,0xABABAB,0x242424,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x353535,0x3B3B3B,0x373737,0x373737,0x373737,0x373737,0x373737,0x363636, + 0x848484,0xA8A8A8,0xA3A3A3,0xA4A4A4,0xA4A4A4,0xA4A4A4,0xA3A3A3,0xA3A3A3, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xB3B3B3,0x464646,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x2B2B2B,0x3B3B3B,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x373737,0x343434,0x434343,0xA0A0A0,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA2A2A2,0x1D1D1D, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x484848,0xD3D3D3, + 0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC9C9C9,0x707070,0x484848,0x4F4F4F,0x4B4B4B,0x5B5B5B, + 0x999999,0xAFAFAF,0xCFCFCF,0xCCCCCC,0xC8C8C8,0xC7C7C7,0xC8C8C8,0xCCCCCC, + 0xA2A2A2,0x242424,0x272727,0x282828,0x292929,0x262626,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x494949,0xBDBDBD,0xCCCCCC, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xC0C0C0, + 0x424242,0x424242,0x555555,0x656565,0x6A6A6A,0x636363,0x4F4F4F,0x8B8B8B, + 0xCDCDCD,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC6C6C6, + 0xC8C8C8,0xC4C4C4,0x1E1E1E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0xB6B6B6,0xCBCBCB,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC6C6C6, + 0xC2C2C2,0x414141,0x343434,0x474747,0x666666,0x666666,0x585858,0x525252, + 0x515151,0x4F4F4F,0x414141,0x838383,0xCCCCCC,0xCBCBCB,0x585858,0x262626, + 0x00FF00,0x00FF00,0x2B2B2B,0x717171,0x656565,0x848484,0xC5C5C5,0xC3C3C3, + 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC9C9C9, + 0x7B7B7B,0x535353,0x6C6C6C,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x727272,0xBCBCBC,0xC2C2C2,0xC0C0C0,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC8C8C8,0x727272,0x323232, + 0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x707070,0x3A3A3A, + 0x222222,0x626262,0x4C4C4C,0x797979,0xC5C5C5,0xBDBDBD,0xBDBDBD,0xBDBDBD, + 0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBDBDBD,0xBCBCBC,0xBBBBBB,0xB8B8B8,0xC5C5C5, + 0xAFAFAF,0x3C3C3C,0x4C4C4C,0x616161,0x545454,0x868686,0xC0C0C0,0xBFBFBF, + 0xBBBBBB,0xBCBCBC,0xBCBCBC,0xC4C4C4,0x949494,0x202020,0x00FF00,0x3C3C3C, + 0xC8C8C8,0xB9B9B9,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xB9B9B9, + 0xBCBCBC,0xA1A1A1,0x505050,0x646464,0x6E6E6E,0x656565,0x565656,0x515151, + 0x424242,0x5B5B5B,0xBBBBBB,0xB9B9B9,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB7B7B7,0xB8B8B8,0xBBBBBB,0xA7A7A7,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x777777,0xC1C1C1,0xB5B5B5,0xB5B5B5, + 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xC0C0C0,0x616161,0x292929,0x3C3C3C,0x585858, + 0x676767,0x545454,0x474747,0x343434,0x999999,0xB8B8B8,0xB3B3B3,0xB3B3B3, + 0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB2B2B2,0xC2C2C2,0x474747,0x00FF00, + 0x00FF00,0x232323,0x393939,0x424242,0xADADAD,0xB3B3B3,0xB2B2B2,0xB1B1B1, + 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xBFBFBF,0x3B3B3B,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x5F5F5F,0x646464,0x525252, + 0x696969,0xAFAFAF,0xAFAFAF,0xB3B3B3,0x707070,0x373737,0x3A3A3A,0x3B3B3B, + 0x3F3F3F,0x454545,0x515151,0x666666,0x222222,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x686868,0xB5B5B5,0xACACAC,0xACACAC,0xACACAC,0xACACAC, + 0xACACAC,0xB4B4B4,0x636363,0x343434,0x4D4D4D,0x6A6A6A,0x636363,0x4F4F4F, + 0x494949,0x434343,0x3A3A3A,0x575757,0xAAAAAA,0xAAAAAA,0xA9A9A9,0xA9A9A9, + 0xA9A9A9,0xA8A8A8,0xB9B9B9,0x676767,0x2B2B2B,0x6F6F6F,0x5C5C5C,0x4F4F4F, + 0x414141,0x323232,0x696969,0xB0B0B0,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8, + 0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xAAAAAA,0xAEAEAE,0xA7A7A7,0xA9A9A9, + 0x585858,0x585858,0x707070,0x6C6C6C,0x9D9D9D,0xA9A9A9,0xA8A8A8,0xA7A7A7, + 0xA6A6A6,0xA6A6A6,0xA8A8A8,0xA9A9A9,0x232323,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x3A3A3A,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x313131,0x646464,0xADADAD,0xA3A3A3,0xA3A3A3,0xA4A4A4,0xA4A4A4,0xA3A3A3, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA6A6A6,0x9F9F9F,0x1A1A1A,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x373737,0x383838,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x343434,0x838383,0xA7A7A7,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xAFAFAF, + 0x424242,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB3B3B3, + 0xCBCBCB,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCBCBCB,0xCCCCCC,0xCCCCCC,0xCBCBCB, + 0xCECECE,0xCDCDCD,0xCBCBCB,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xD1D1D1,0x666666,0x202020,0x282828,0x282828,0x282828,0x282828,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x6D6D6D,0xD2D2D2, + 0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC9C9C9, + 0xC2C2C2,0x444444,0x424242,0x555555,0x646464,0x6A6A6A,0x636363,0x555555, + 0xA2A2A2,0xCCCCCC,0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC7C7C7,0xC6C6C6,0xC7C7C7, + 0xC6C6C6,0xCACACA,0xAEAEAE,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0xB8B8B8,0xC9C9C9,0xC6C6C6,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC6C6C6, + 0xC5C5C5,0xCBCBCB,0x989898,0x343434,0x454545,0x656565,0x676767,0x595959, + 0x535353,0x505050,0x4E4E4E,0x434343,0x6C6C6C,0xC9C9C9,0xC1C1C1,0x3A3A3A, + 0x272727,0x00FF00,0x00FF00,0x353535,0x707070,0x6E6E6E,0xA5A5A5,0xC8C8C8, + 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC4C4C4, + 0xBEBEBE,0x343434,0x464646,0x6E6E6E,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x686868,0x797979,0xBCBCBC,0xC1C1C1,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC9C9C9,0x636363, + 0x3A3A3A,0x6F6F6F,0x696969,0x696969,0x696969,0x696969,0x696969,0x6E6E6E, + 0x474747,0x3E3E3E,0x606060,0x4D4D4D,0x7E7E7E,0xC5C5C5,0xBDBDBD,0xBDBDBD, + 0xBDBDBD,0xBCBCBC,0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBCBCBC,0xBCBCBC,0xC1C1C1, + 0xAFAFAF,0x4F4F4F,0x343434,0x505050,0x686868,0x505050,0x4C4C4C,0x7F7F7F, + 0xAFAFAF,0xBCBCBC,0xBABABA,0xBFBFBF,0x979797,0x383838,0x202020,0x00FF00, + 0x424242,0xC7C7C7,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, + 0xB9B9B9,0xBABABA,0xBABABA,0x6A6A6A,0x616161,0x6E6E6E,0x656565,0x565656, + 0x515151,0x424242,0x656565,0xBEBEBE,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB7B7B7,0xB7B7B7,0xBABABA,0xA7A7A7,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xAFAFAF,0xB8B8B8,0xB5B5B5, + 0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB6B6B6,0xB7B7B7,0x4C4C4C,0x2C2C2C,0x3A3A3A, + 0x565656,0x666666,0x525252,0x454545,0x353535,0x7A7A7A,0xB8B8B8,0xB3B3B3, + 0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB2B2B2,0xC1C1C1,0x464646, + 0x00FF00,0x00FF00,0x212121,0x3C3C3C,0x3D3D3D,0xA9A9A9,0xB3B3B3,0xB2B2B2, + 0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xBABABA,0x6A6A6A, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x5D5D5D,0x616161, + 0x595959,0x9B9B9B,0xB3B3B3,0xB1B1B1,0x767676,0x363636,0x383838,0x3A3A3A, + 0x3B3B3B,0x3F3F3F,0x464646,0x525252,0x686868,0x232323,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0xA7A7A7,0xAEAEAE,0xACACAC,0xACACAC,0xACACAC, + 0xACACAC,0xACACAC,0xB1B1B1,0x7F7F7F,0x353535,0x4F4F4F,0x6C6C6C,0x616161, + 0x4E4E4E,0x494949,0x434343,0x3C3C3C,0x373737,0xA2A2A2,0xACACAC,0xA9A9A9, + 0xA9A9A9,0xAAAAAA,0xA9A9A9,0xAAAAAA,0xA3A3A3,0x4B4B4B,0x6A6A6A,0x5C5C5C, + 0x4E4E4E,0x434343,0x343434,0x555555,0xACACAC,0xA8A8A8,0xA8A8A8,0xA8A8A8, + 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xACACAC, + 0x8A8A8A,0x3A3A3A,0x575757,0x636363,0x4B4B4B,0x515151,0x717171,0xA5A5A5, + 0xA9A9A9,0xA8A8A8,0xA9A9A9,0xAEAEAE,0x444444,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x323232,0x3A3A3A,0x373737,0x373737,0x373737, + 0x373737,0x363636,0x3A3A3A,0x808080,0xA9A9A9,0xA3A3A3,0xA4A4A4,0xA3A3A3, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xAEAEAE,0x6B6B6B, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2B2B2B,0x3D3D3D,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x313131,0x5B5B5B,0xA8A8A8,0xA1A1A1, + 0xA2A2A2,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA3A3A3,0x9B9B9B,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3C3C3C, + 0xD1D1D1,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xCCCCCC,0xCCCCCC,0xCBCBCB,0xC9C9C9, + 0xC9C9C9,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC7C7C7, + 0xC9C9C9,0xC7C7C7,0x383838,0x242424,0x282828,0x282828,0x282828,0x282828, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB2B2B2, + 0xCBCBCB,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7, + 0xCFCFCF,0x9A9A9A,0x313131,0x454545,0x555555,0x646464,0x6A6A6A,0x626262, + 0x616161,0xBFBFBF,0xC9C9C9,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xD0D0D0,0x848484,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0xA7A7A7,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC5C5C5,0xC5C5C5,0xCECECE,0x969696,0x464646,0x696969,0x676767, + 0x595959,0x535353,0x515151,0x4F4F4F,0x474747,0x4D4D4D,0xB7B7B7,0xBDBDBD, + 0x2C2C2C,0x2C2C2C,0x181818,0x00FF00,0x232323,0x6C6C6C,0x747474,0xBCBCBC, + 0xC5C5C5,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2, + 0xC7C7C7,0xA5A5A5,0x212121,0x4E4E4E,0x6F6F6F,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x666666,0x8D8D8D,0xC2C2C2,0xC1C1C1, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC9C9C9, + 0x5B5B5B,0x424242,0x6F6F6F,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x6C6C6C,0x525252,0x474747,0x5E5E5E,0x4D4D4D,0x858585,0xC4C4C4,0xBDBDBD, + 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBCBCBC,0xBCBCBC, + 0xC6C6C6,0x717171,0x2B2B2B,0x3A3A3A,0x4B4B4B,0x686868,0x525252,0x4B4B4B, + 0x4B4B4B,0x606060,0x787878,0x858585,0x717171,0x434343,0x353535,0x202020, + 0x00FF00,0x414141,0xC8C8C8,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, + 0xBABABA,0xBABABA,0xB9B9B9,0xC1C1C1,0x898989,0x5C5C5C,0x6E6E6E,0x656565, + 0x565656,0x515151,0x414141,0x6E6E6E,0xC1C1C1,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7,0xB7B7B7,0xC1C1C1,0x3B3B3B,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3A3A3A,0xBFBFBF,0xB5B5B5, + 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB8B8B8,0xA9A9A9,0x2D2D2D,0x303030, + 0x3A3A3A,0x545454,0x656565,0x525252,0x464646,0x353535,0x4B4B4B,0xB2B2B2, + 0xB4B4B4,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB6B6B6, + 0x2A2A2A,0x00FF00,0x00FF00,0x00FF00,0x383838,0x3A3A3A,0xA9A9A9,0xB3B3B3, + 0xB0B0B0,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB3B3B3, + 0xA8A8A8,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x161616,0x656565, + 0x666666,0x959595,0xB4B4B4,0xB4B4B4,0x979797,0x373737,0x373737,0x3A3A3A, + 0x3A3A3A,0x3B3B3B,0x404040,0x474747,0x535353,0x626262,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x343434,0xB5B5B5,0xADADAD,0xACACAC,0xACACAC, + 0xACACAC,0xACACAC,0xACACAC,0xB4B4B4,0x656565,0x343434,0x505050,0x6C6C6C, + 0x606060,0x4F4F4F,0x484848,0x434343,0x3C3C3C,0x353535,0x8D8D8D,0xAEAEAE, + 0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xAAAAAA,0x9D9D9D,0x707070, + 0x5B5B5B,0x4E4E4E,0x404040,0x353535,0x414141,0xA5A5A5,0xAAAAAA,0xA8A8A8, + 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA8A8A8, + 0xACACAC,0x595959,0x383838,0x5B5B5B,0x616161,0x4D4D4D,0x4C4C4C,0x515151, + 0x636363,0x898989,0x9D9D9D,0x999999,0x767676,0x222222,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x212121,0x3D3D3D,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x313131,0x565656,0xA8A8A8,0xA4A4A4,0xA4A4A4, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA5A5A5, + 0x9E9E9E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636,0x393939, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x363636,0x373737,0x727272, + 0xA8A8A8,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA8A8A8,0x919191,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x797979,0xD1D1D1,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xB4B4B4,0x9C9C9C,0x999999,0xAEAEAE, + 0xC5C5C5,0xC8C8C8,0xCBCBCB,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC8C8C8, + 0xC7C7C7,0xCDCDCD,0xA5A5A5,0x252525,0x272727,0x282828,0x282828,0x282828, + 0x2A2A2A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x404040, + 0xD1D1D1,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC7C7C7, + 0xC9C9C9,0xCBCBCB,0x4A4A4A,0x303030,0x444444,0x545454,0x646464,0x6A6A6A, + 0x5E5E5E,0x808080,0xC9C9C9,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC6C6C6,0xC7C7C7,0xCDCDCD,0x5D5D5D,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0xBDBDBD,0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC6C6C6, + 0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC9C9C9,0xBDBDBD,0x828282, + 0x626262,0x585858,0x525252,0x505050,0x4F4F4F,0x484848,0x434343,0xBBBBBB, + 0x969696,0x242424,0x2C2C2C,0x00FF00,0x00FF00,0x303030,0x717171,0x727272, + 0xBFBFBF,0xC5C5C5,0xC2C2C2,0xC2C2C2,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2, + 0xC2C2C2,0xCBCBCB,0x7B7B7B,0x202020,0x575757,0x6E6E6E,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x646464,0x989898,0xC6C6C6, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC1C1C1, + 0xC2C2C2,0x434343,0x4C4C4C,0x6F6F6F,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x6F6F6F,0x505050,0x2F2F2F,0x5B5B5B,0x4B4B4B,0x8B8B8B,0xC4C4C4, + 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC,0xBDBDBD,0xBCBCBC, + 0xBFBFBF,0xB2B2B2,0x373737,0x323232,0x3A3A3A,0x4C4C4C,0x686868,0x525252, + 0x4C4C4C,0x4F4F4F,0x515151,0x5B5B5B,0x686868,0x545454,0x3F3F3F,0x383838, + 0x1E1E1E,0x00FF00,0x3D3D3D,0xC5C5C5,0xBABABA,0xBABABA,0xBABABA,0xBABABA, + 0xBABABA,0xBABABA,0xBABABA,0xB9B9B9,0xBFBFBF,0x7F7F7F,0x5D5D5D,0x6E6E6E, + 0x646464,0x555555,0x515151,0x414141,0x6B6B6B,0xC1C1C1,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB8B8B8,0xB8B8B8,0xC5C5C5,0x414141, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x707070,0xC0C0C0, + 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB7B7B7,0xACACAC,0x323232, + 0x303030,0x3A3A3A,0x535353,0x646464,0x525252,0x474747,0x393939,0x3B3B3B, + 0x848484,0xBBBBBB,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB9B9B9, + 0xA2A2A2,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x303030,0x3A3A3A,0xA8A8A8, + 0xB4B4B4,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0, + 0xB4B4B4,0xA1A1A1,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1E1E1E, + 0x6E6E6E,0x999999,0xB3B3B3,0xB2B2B2,0xAFAFAF,0x525252,0x343434,0x393939, + 0x393939,0x3A3A3A,0x3B3B3B,0x404040,0x474747,0x545454,0x666666,0x1A1A1A, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA3A3A3,0xAFAFAF,0xACACAC, + 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xB4B4B4,0x656565,0x353535,0x515151, + 0x6C6C6C,0x5D5D5D,0x4E4E4E,0x484848,0x424242,0x3C3C3C,0x333333,0x6B6B6B, + 0xB2B2B2,0xAAAAAA,0xAAAAAA,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xAAAAAA,0xACACAC, + 0x7B7B7B,0x575757,0x4C4C4C,0x414141,0x373737,0x393939,0x969696,0xACACAC, + 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA8A8A8, + 0xA8A8A8,0xADADAD,0x5B5B5B,0x393939,0x606060,0x606060,0x4C4C4C,0x4D4D4D, + 0x4F4F4F,0x515151,0x5C5C5C,0x6F6F6F,0x616161,0x434343,0x232323,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3E3E3E,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x363636,0x3E3E3E,0x9C9C9C,0xA5A5A5, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2, + 0xA3A3A3,0xAEAEAE,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1E1E1E, + 0x3D3D3D,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x333333, + 0x464646,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA2A2A2,0x1D1D1D,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x484848,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC7C7C7,0x595959,0x595959,0x585858, + 0x626262,0x626262,0x737373,0xAFAFAF,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC8C8C8, + 0xC8C8C8,0xC8C8C8,0xD0D0D0,0x646464,0x202020,0x282828,0x282828,0x282828, + 0x282828,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0xBDBDBD,0xCBCBCB,0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC9C9C9,0xCECECE,0x646464,0x222222,0x343434,0x444444,0x545454,0x646464, + 0x6A6A6A,0x5A5A5A,0x999999,0xCDCDCD,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC9C9C9,0xC5C5C5,0x3A3A3A,0x161616,0x00FF00, + 0x00FF00,0x00FF00,0x1F1F1F,0xC3C3C3,0xC8C8C8,0xC6C6C6,0xC6C6C6,0xC5C5C5, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC9C9C9, + 0xB8B8B8,0x6F6F6F,0x565656,0x535353,0x515151,0x4E4E4E,0x494949,0x434343, + 0x636363,0x4C4C4C,0x242424,0x2A2A2A,0x00FF00,0x00FF00,0x252525,0x696969, + 0x7E7E7E,0xC1C1C1,0xC4C4C4,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2, + 0xC2C2C2,0xC2C2C2,0xCDCDCD,0x6A6A6A,0x1D1D1D,0x434343,0x6E6E6E,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x646464,0x989898, + 0xC6C6C6,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0, + 0xC2C2C2,0xBBBBBB,0x343434,0x373737,0x6E6E6E,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x707070,0x434343,0x1B1B1B,0x575757,0x616161,0xAFAFAF, + 0xC1C1C1,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC, + 0xBCBCBC,0xC6C6C6,0x656565,0x252525,0x353535,0x3B3B3B,0x4F4F4F,0x686868, + 0x515151,0x4C4C4C,0x4F4F4F,0x535353,0x606060,0x6B6B6B,0x575757,0x3F3F3F, + 0x383838,0x1C1C1C,0x00FF00,0x00FF00,0x9E9E9E,0xC1C1C1,0xBABABA,0xBABABA, + 0xBABABA,0xBABABA,0xBABABA,0xB9B9B9,0xBEBEBE,0x919191,0x4B4B4B,0x676767, + 0x6E6E6E,0x636363,0x555555,0x505050,0x414141,0x6B6B6B,0xC0C0C0,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7,0xC5C5C5, + 0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB0B0B0, + 0xB9B9B9,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB7B7B7,0xADADAD, + 0x343434,0x303030,0x3F3F3F,0x535353,0x636363,0x525252,0x444444,0x383838, + 0x3A3A3A,0x4D4D4D,0x969696,0xBBBBBB,0xB4B4B4,0xB4B4B4,0xB3B3B3,0xB8B8B8, + 0xB5B5B5,0x4D4D4D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2C2C2C,0x383838, + 0x8F8F8F,0xB5B5B5,0xB2B2B2,0xB2B2B2,0xB0B0B0,0xB0B0B0,0xB1B1B1,0xB0B0B0, + 0xB0B0B0,0xB4B4B4,0x9F9F9F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x141414,0x7A7A7A,0xB3B3B3,0xB0B0B0,0xAAAAAA,0x525252,0x343434,0x393939, + 0x393939,0x393939,0x3A3A3A,0x3C3C3C,0x404040,0x474747,0x565656,0x646464, + 0x191919,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x393939,0xB6B6B6,0xACACAC, + 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xB1B1B1,0x7B7B7B,0x373737, + 0x545454,0x6E6E6E,0x5B5B5B,0x4E4E4E,0x474747,0x424242,0x3C3C3C,0x373737, + 0x3A3A3A,0x9C9C9C,0xACACAC,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9, + 0xACACAC,0x9D9D9D,0x5D5D5D,0x4C4C4C,0x3F3F3F,0x373737,0x343434,0x4A4A4A, + 0xA7A7A7,0xA9A9A9,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7, + 0xA8A8A8,0xA8A8A8,0xA9A9A9,0x555555,0x3B3B3B,0x5E5E5E,0x5E5E5E,0x4C4C4C, + 0x4D4D4D,0x4F4F4F,0x535353,0x626262,0x6F6F6F,0x606060,0x464646,0x1F1F1F, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828, + 0x3C3C3C,0x373737,0x373737,0x373737,0x373737,0x373737,0x363636,0x7F7F7F, + 0xA9A9A9,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3, + 0xA3A3A3,0xA3A3A3,0xACACAC,0x696969,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x3A3A3A,0x383838,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x8A8A8A,0xA5A5A5,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xAEAEAE,0x434343,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0xC6C6C6,0xCBCBCB,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCCCCCC,0xA7A7A7,0x393939,0x636363, + 0x5E5E5E,0x585858,0x535353,0x4F4F4F,0x505050,0x959595,0xCFCFCF,0xC8C8C8, + 0xC8C8C8,0xC8C8C8,0xD2D2D2,0x848484,0x242424,0x272727,0x282828,0x282828, + 0x282828,0x282828,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x636363,0xD1D1D1,0xCBCBCB,0xC9C9C9,0xC9C9C9,0xC8C8C8, + 0xCDCDCD,0xCBCBCB,0x838383,0x2B2B2B,0x282828,0x343434,0x444444,0x535353, + 0x636363,0x636363,0x7F7F7F,0xBABABA,0xC9C9C9,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCACACA,0xA8A8A8,0x2B2B2B,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB6B6B6,0xC9C9C9,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5, + 0xC5C5C5,0xC9C9C9,0xACACAC,0x626262,0x545454,0x515151,0x4F4F4F,0x494949, + 0x414141,0x5C5C5C,0x444444,0x252525,0x2D2D2D,0x141414,0x00FF00,0x202020, + 0x676767,0x979797,0xC8C8C8,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2, + 0xC2C2C2,0xC2C2C2,0xC3C3C3,0xC9C9C9,0x545454,0x1D1D1D,0x4C4C4C,0x6F6F6F, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x707070, + 0xA3A3A3,0xC5C5C5,0xC0C0C0,0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0, + 0xC0C0C0,0xC2C2C2,0xB8B8B8,0x2B2B2B,0x3C3C3C,0x6E6E6E,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x707070,0x3A3A3A,0x212121,0x595959,0x888888, + 0xC8C8C8,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC, + 0xBCBCBC,0xBDBDBD,0xC6C6C6,0x4E4E4E,0x262626,0x343434,0x3B3B3B,0x505050, + 0x676767,0x515151,0x4C4C4C,0x4F4F4F,0x535353,0x606060,0x6B6B6B,0x555555, + 0x3F3F3F,0x383838,0x1A1A1A,0x00FF00,0x00FF00,0x555555,0xAFAFAF,0xBFBFBF, + 0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBCBCBC,0xBEBEBE,0x494949,0x414141, + 0x686868,0x6D6D6D,0x636363,0x555555,0x505050,0x3D3D3D,0x666666,0xC1C1C1, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB8B8B8,0xB7B7B7, + 0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3F3F3F, + 0xC0C0C0,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB7B7B7, + 0xAFAFAF,0x393939,0x313131,0x414141,0x555555,0x626262,0x525252,0x444444, + 0x383838,0x3B3B3B,0x434343,0x535353,0x838383,0xADADAD,0xB0B0B0,0xB2B2B2, + 0x9A9A9A,0x5A5A5A,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828, + 0x363636,0x4D4D4D,0xAEAEAE,0xB2B2B2,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB1B1B1, + 0xB0B0B0,0xB0B0B0,0xB2B2B2,0xAEAEAE,0x232323,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x2C2C2C,0xB5B5B5,0xB2B2B2,0xB6B6B6,0x6F6F6F,0x303030,0x393939, + 0x393939,0x393939,0x3A3A3A,0x3A3A3A,0x3C3C3C,0x414141,0x494949,0x575757, + 0x5D5D5D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x373737,0xB8B8B8, + 0xADADAD,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xAEAEAE,0x9B9B9B, + 0x3C3C3C,0x555555,0x6D6D6D,0x5A5A5A,0x4E4E4E,0x484848,0x414141,0x3B3B3B, + 0x383838,0x323232,0x7A7A7A,0xAFAFAF,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9, + 0xA9A9A9,0xA9A9A9,0xACACAC,0x6A6A6A,0x484848,0x404040,0x373737,0x363636, + 0x393939,0x9C9C9C,0xABABAB,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8, + 0xA8A8A8,0xA7A7A7,0xA8A8A8,0xAAAAAA,0x545454,0x3B3B3B,0x636363,0x5C5C5C, + 0x4C4C4C,0x4D4D4D,0x4F4F4F,0x535353,0x626262,0x707070,0x5D5D5D,0x454545, + 0x181818,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x3B3B3B,0x383838,0x373737,0x373737,0x373737,0x373737,0x323232, + 0x5C5C5C,0xA7A7A7,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xB2B2B2,0x3D3D3D,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x2F2F2F,0x3A3A3A,0x373737,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x313131,0x646464,0xADADAD,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA5A5A5,0x8D8D8D, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x3C3C3C,0xD0D0D0,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xCECECE,0x656565,0x323232, + 0x656565,0x5E5E5E,0x5A5A5A,0x555555,0x535353,0x4F4F4F,0x515151,0xA9A9A9, + 0xCCCCCC,0xC8C8C8,0xC8C8C8,0xCDCDCD,0x4E4E4E,0x202020,0x282828,0x282828, + 0x282828,0x282828,0x282828,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x383838,0x8E8E8E,0xC0C0C0,0xC3C3C3,0xC3C3C3, + 0xC6C6C6,0xA9A9A9,0x616161,0x333333,0x2F2F2F,0x282828,0x333333,0x414141, + 0x565656,0x787878,0x9E9E9E,0xB7B7B7,0xCCCCCC,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xC3C3C3,0x363636,0x2A2A2A, + 0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x3E3E3E,0xCECECE,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC6C6C6, + 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC8C8C8,0xC0C0C0,0x737373,0x515151,0x4F4F4F, + 0x494949,0x424242,0x5C5C5C,0x515151,0x252525,0x2B2B2B,0x00FF00,0x00FF00, + 0x323232,0x6C6C6C,0x9B9B9B,0xC8C8C8,0xC3C3C3,0xC2C2C2,0xC3C3C3,0xC2C2C2, + 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC5C5C5,0xBFBFBF,0x393939,0x222222,0x585858, + 0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x686868, + 0x747474,0xBBBBBB,0xC2C2C2,0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC2C2C2,0xB4B4B4,0x252525,0x474747,0x6F6F6F,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x6F6F6F,0x414141,0x343434,0x5A5A5A, + 0x868686,0xC4C4C4,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD, + 0xBCBCBC,0xBCBCBC,0xC1C1C1,0xA0A0A0,0x313131,0x2B2B2B,0x353535,0x3A3A3A, + 0x535353,0x676767,0x505050,0x4C4C4C,0x4F4F4F,0x535353,0x606060,0x6B6B6B, + 0x545454,0x3F3F3F,0x383838,0x161616,0x00FF00,0x151515,0x474747,0x5B5B5B, + 0xA8A8A8,0xBDBDBD,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xB6B6B6,0x696969,0x2C2C2C, + 0x484848,0x686868,0x6D6D6D,0x636363,0x525252,0x525252,0x626262,0x989898, + 0xBCBCBC,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB8B8B8, + 0xB7B7B7,0xC5C5C5,0x3F3F3F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x3F3F3F,0xC4C4C4,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4, + 0xB7B7B7,0xB0B0B0,0x3B3B3B,0x313131,0x414141,0x626262,0x626262,0x515151, + 0x454545,0x383838,0x3B3B3B,0x454545,0x4D4D4D,0x545454,0x696969,0x7E7E7E, + 0x7C7C7C,0x555555,0x3D3D3D,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x232323,0x393939,0x404040,0xACACAC,0xB3B3B3,0xB1B1B1,0xB1B1B1,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xB6B6B6,0xA1A1A1,0x00FF00,0x00FF00, + 0x00FF00,0x1C1C1C,0xAEAEAE,0xB3B3B3,0xAEAEAE,0xAFAFAF,0xABABAB,0x5C5C5C, + 0x343434,0x393939,0x393939,0x3A3A3A,0x3A3A3A,0x3B3B3B,0x414141,0x494949, + 0x575757,0x626262,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x181818, + 0xA9A9A9,0xAEAEAE,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, + 0xACACAC,0x5C5C5C,0x515151,0x6A6A6A,0x565656,0x4A4A4A,0x434343,0x3D3D3D, + 0x373737,0x343434,0x2D2D2D,0x636363,0xB2B2B2,0xA9A9A9,0xA9A9A9,0xA9A9A9, + 0xA9A9A9,0xA9A9A9,0xA9A9A9,0xAEAEAE,0x8B8B8B,0x474747,0x3D3D3D,0x373737, + 0x373737,0x333333,0x7E7E7E,0xADADAD,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8, + 0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xAFAFAF,0x6C6C6C,0x3D3D3D,0x646464, + 0x595959,0x4C4C4C,0x4D4D4D,0x4F4F4F,0x545454,0x646464,0x707070,0x5A5A5A, + 0x414141,0x141414,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x323232,0x393939,0x373737,0x373737,0x373737,0x373737, + 0x373737,0x363636,0x707070,0xABABAB,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3, + 0xA3A3A3,0xA2A2A2,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA7A7A7,0x8F8F8F,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x1E1E1E,0x3F3F3F,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x353535,0x3A3A3A,0x838383,0xA6A6A6,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA5A5A5,0x848484,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x797979,0xD1D1D1,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xD0D0D0,0x858585,0x212121, + 0x333333,0x636363,0x5E5E5E,0x5A5A5A,0x555555,0x525252,0x525252,0x4D4D4D, + 0x5A5A5A,0xC7C7C7,0xC9C9C9,0xCBCBCB,0xBCBCBC,0x2B2B2B,0x262626,0x282828, + 0x282828,0x282828,0x282828,0x292929,0x232323,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232,0x545454,0x5C5C5C,0x686868, + 0x767676,0x757575,0x555555,0x3D3D3D,0x393939,0x2E2E2E,0x232323,0x323232, + 0x565656,0x969696,0xC1C1C1,0xCDCDCD,0xC9C9C9,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCBCBCB,0xAAAAAA,0x252525, + 0x292929,0x151515,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xBBBBBB,0xC8C8C8, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC5C5C5, + 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC9C9C9,0xC2C2C2,0x626262, + 0x4B4B4B,0x4A4A4A,0x414141,0x5B5B5B,0x464646,0x242424,0x2C2C2C,0x00FF00, + 0x00FF00,0x252525,0x767676,0xB3B3B3,0xC6C6C6,0xC3C3C3,0xC3C3C3,0xC3C3C3, + 0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC5C5C5,0xBBBBBB,0x2D2D2D,0x242424, + 0x4C4C4C,0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x686868,0x727272,0xBBBBBB,0xC2C2C2,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC6C6C6,0x969696,0x212121,0x525252,0x6F6F6F, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x6E6E6E,0x515151,0x464646, + 0x585858,0x8C8C8C,0xC4C4C4,0xBEBEBE,0xBDBDBD,0xBEBEBE,0xBDBDBD,0xBDBDBD, + 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC6C6C6,0x717171,0x222222,0x2D2D2D,0x343434, + 0x3B3B3B,0x545454,0x676767,0x505050,0x4C4C4C,0x4F4F4F,0x535353,0x616161, + 0x6B6B6B,0x535353,0x3D3D3D,0x363636,0x202020,0x00FF00,0x161616,0x494949, + 0x4C4C4C,0x545454,0x7B7B7B,0x979797,0x9A9A9A,0x8F8F8F,0x535353,0x3A3A3A, + 0x2E2E2E,0x4B4B4B,0x686868,0x696969,0x686868,0x636363,0x9B9B9B,0xBCBCBC, + 0xBEBEBE,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x484848,0xC2C2C2,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5, + 0xB5B5B5,0xB6B6B6,0xB2B2B2,0x3A3A3A,0x303030,0x404040,0x626262,0x626262, + 0x505050,0x434343,0x383838,0x3C3C3C,0x454545,0x4E4E4E,0x525252,0x5B5B5B, + 0x6C6C6C,0x686868,0x505050,0x404040,0x323232,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x202020,0x3A3A3A,0x3D3D3D,0xA9A9A9,0xB3B3B3,0xB2B2B2,0xB1B1B1, + 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF,0xB3B3B3,0xA2A2A2,0x00FF00, + 0x00FF00,0x00FF00,0x747474,0xBBBBBB,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xB3B3B3, + 0xA8A8A8,0x505050,0x363636,0x393939,0x393939,0x3A3A3A,0x3C3C3C,0x414141, + 0x494949,0x5A5A5A,0x525252,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x404040,0xBBBBBB,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, + 0xACACAC,0xAEAEAE,0xA1A1A1,0x888888,0x979797,0x898989,0x808080,0x7A7A7A, + 0x777777,0x727272,0x707070,0x6A6A6A,0x898989,0xAEAEAE,0xAAAAAA,0xAAAAAA, + 0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xACACAC,0xA0A0A0,0x4B4B4B,0x3D3D3D, + 0x373737,0x373737,0x303030,0x666666,0xB0B0B0,0xA8A8A8,0xA8A8A8,0xA8A8A8, + 0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA8A8A8,0xAAAAAA,0x949494,0x414141, + 0x656565,0x595959,0x4C4C4C,0x4E4E4E,0x4F4F4F,0x555555,0x646464,0x707070, + 0x585858,0x434343,0x141414,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x232323,0x3B3B3B,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x333333,0x505050,0xA6A6A6,0xA5A5A5,0xA3A3A3,0xA3A3A3, + 0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA3A3A3,0xA2A2A2,0xA3A3A3,0xA5A5A5,0xA4A4A4, + 0x1D1D1D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2D2D2D,0x3C3C3C,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x323232,0x494949,0xA4A4A4, + 0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA3A3A3,0xA5A5A5,0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x202020,0xCCCCCC,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xCCCCCC,0x4E4E4E, + 0x1F1F1F,0x303030,0x616161,0x5E5E5E,0x5A5A5A,0x555555,0x535353,0x525252, + 0x505050,0x4C4C4C,0xADADAD,0xCCCCCC,0xD1D1D1,0x848484,0x212121,0x282828, + 0x282828,0x282828,0x282828,0x282828,0x2E2E2E,0x171717,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3F3F3F,0x535353,0x535353, + 0x5B5B5B,0x676767,0x666666,0x535353,0x414141,0x323232,0x323232,0x4C4C4C, + 0x9F9F9F,0xC7C7C7,0xCECECE,0xD1D1D1,0xC3C3C3,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xD1D1D1,0x797979, + 0x202020,0x2A2A2A,0x1B1B1B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA1A1A1, + 0xCCCCCC,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5, + 0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC9C9C9, + 0xADADAD,0x545454,0x474747,0x434343,0x5C5C5C,0x4D4D4D,0x252525,0x2E2E2E, + 0x151515,0x00FF00,0x232323,0x7B7B7B,0xC0C0C0,0xC5C5C5,0xC3C3C3,0xC3C3C3, + 0xC2C2C2,0xC2C2C2,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC7C7C7,0xA7A7A7,0x262626, + 0x232323,0x464646,0x6F6F6F,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x686868,0x787878,0xBCBCBC,0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC8C8C8,0x7C7C7C,0x1F1F1F,0x434343, + 0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x6F6F6F,0x515151, + 0x3F3F3F,0x585858,0x989898,0xC3C3C3,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD, + 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC,0xC8C8C8,0x707070,0x222222,0x2D2D2D, + 0x343434,0x3B3B3B,0x555555,0x666666,0x4F4F4F,0x4C4C4C,0x4F4F4F,0x535353, + 0x606060,0x6B6B6B,0x535353,0x3E3E3E,0x343434,0x2A2A2A,0x00FF00,0x171717, + 0x4A4A4A,0x4F4F4F,0x525252,0x545454,0x626262,0x686868,0x5C5C5C,0x474747, + 0x3D3D3D,0x2E2E2E,0x494949,0x717171,0x8D8D8D,0xA0A0A0,0xB5B5B5,0xBCBCBC, + 0xBCBCBC,0xB7B7B7,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB7B7B7,0xB8B8B8,0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0xA0A0A0,0xBABABA,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5, + 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB8B8B8,0x686868,0x2F2F2F,0x3F3F3F,0x606060, + 0x626262,0x4F4F4F,0x424242,0x383838,0x3C3C3C,0x464646,0x4E4E4E,0x525252, + 0x5D5D5D,0x6E6E6E,0x696969,0x4F4F4F,0x414141,0x242424,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x1C1C1C,0x3A3A3A,0x3A3A3A,0xA9A9A9,0xB3B3B3,0xB1B1B1, + 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xB4B4B4,0xA1A1A1, + 0x00FF00,0x00FF00,0x676767,0xBABABA,0xAFAFAF,0xAFAFAF,0xAEAEAE,0xAFAFAF, + 0xAEAEAE,0xB3B3B3,0xA9A9A9,0x3F3F3F,0x363636,0x3A3A3A,0x3A3A3A,0x3C3C3C, + 0x414141,0x494949,0x5A5A5A,0x535353,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x2B2B2B,0xB3B3B3,0xADADAD,0xACACAC,0xADADAD,0xACACAC,0xACACAC, + 0xACACAC,0xACACAC,0xACACAC,0xADADAD,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAFAFAF, + 0xB0B0B0,0xB0B0B0,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xAEAEAE,0xA9A9A9,0xAAAAAA, + 0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xAAAAAA,0x676767, + 0x3A3A3A,0x373737,0x373737,0x333333,0x515151,0xA9A9A9,0xA8A8A8,0xA8A8A8, + 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA8A8A8,0xA7A7A7,0xACACAC,0x848484, + 0x444444,0x666666,0x555555,0x4C4C4C,0x4E4E4E,0x4F4F4F,0x565656,0x666666, + 0x707070,0x555555,0x424242,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x151515,0x3C3C3C,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x363636,0x3B3B3B,0x9C9C9C,0xA6A6A6,0xA3A3A3, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA3A3A3,0xA2A2A2, + 0xB2B2B2,0x464646,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3C3C3C, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x383838, + 0x8F8F8F,0xA5A5A5,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xACACAC,0x676767,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x858585,0xD2D2D2,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xBBBBBB, + 0x2A2A2A,0x252525,0x303030,0x606060,0x5E5E5E,0x5A5A5A,0x555555,0x535353, + 0x525252,0x4F4F4F,0x505050,0xBCBCBC,0xCCCCCC,0xC9C9C9,0x4A4A4A,0x222222, + 0x282828,0x282828,0x282828,0x282828,0x282828,0x2B2B2B,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636,0x555555, + 0x555555,0x5C5C5C,0x686868,0x676767,0x4F4F4F,0x444444,0x5C5C5C,0xAEAEAE, + 0xCCCCCC,0xCFCFCF,0xCECECE,0xC2C2C2,0x7A7A7A,0x828282,0xCACACA,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCDCDCD, + 0x545454,0x212121,0x2A2A2A,0x161616,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x606060,0xCCCCCC,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6, + 0xC5C5C5,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5, + 0xC5C5C5,0xCBCBCB,0xA7A7A7,0x4E4E4E,0x414141,0x575757,0x4F4F4F,0x252525, + 0x2B2B2B,0x00FF00,0x00FF00,0x2B2B2B,0x808080,0xC1C1C1,0xC5C5C5,0xC3C3C3, + 0xC3C3C3,0xC2C2C2,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xCBCBCB,0x7D7D7D, + 0x222222,0x252525,0x565656,0x6E6E6E,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x666666,0x8D8D8D,0xC2C2C2,0xC1C1C1,0xC0C0C0,0xC1C1C1, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC9C9C9,0x6C6C6C,0x1D1D1D, + 0x3A3A3A,0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x707070, + 0x454545,0x1D1D1D,0x5D5D5D,0xADADAD,0xC0C0C0,0xBDBDBD,0xBDBDBD,0xBDBDBD, + 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBFBFBF,0xBCBCBC,0x424242,0x262626, + 0x2D2D2D,0x353535,0x3B3B3B,0x545454,0x676767,0x505050,0x4C4C4C,0x4F4F4F, + 0x545454,0x616161,0x6B6B6B,0x525252,0x3E3E3E,0x343434,0x262626,0x00FF00, + 0x191919,0x4A4A4A,0x4F4F4F,0x525252,0x595959,0x676767,0x6D6D6D,0x606060, + 0x484848,0x3B3B3B,0x292929,0x565656,0xA7A7A7,0xBCBCBC,0xBCBCBC,0xBBBBBB, + 0xC2C2C2,0x898989,0x777777,0xBFBFBF,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB7B7B7,0xB7B7B7,0xB7B7B7,0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0xA9A9A9,0xB9B9B9,0xB5B5B5,0xB5B5B5,0xB5B5B5, + 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xBABABA,0x979797,0x303030,0x3E3E3E, + 0x5D5D5D,0x616161,0x4F4F4F,0x444444,0x383838,0x3C3C3C,0x474747,0x4E4E4E, + 0x525252,0x5D5D5D,0x6D6D6D,0x696969,0x4F4F4F,0x414141,0x262626,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x181818,0x3A3A3A,0x373737,0xA0A0A0,0xB4B4B4, + 0xB2B2B2,0xB2B2B2,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB4B4B4, + 0x9C9C9C,0x00FF00,0x919191,0xB8B8B8,0xAFAFAF,0xAFAFAF,0xAFAFAF,0xAFAFAF, + 0xAFAFAF,0xAFAFAF,0xAEAEAE,0xB5B5B5,0x7B7B7B,0x353535,0x393939,0x3A3A3A, + 0x3C3C3C,0x424242,0x4B4B4B,0x5A5A5A,0x5E5E5E,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x252525,0xADADAD,0xAEAEAE,0xACACAC,0xADADAD,0xADADAD, + 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xADADAD,0xAEAEAE,0xAEAEAE, + 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD,0xADADAD,0xADADAD, + 0xADADAD,0xADADAD,0xACACAC,0xADADAD,0xACACAC,0xACACAC,0xACACAC,0xAFAFAF, + 0x9D9D9D,0x3B3B3B,0x363636,0x373737,0x353535,0x404040,0xA3A3A3,0xA9A9A9, + 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA8A8A8,0xA7A7A7,0xACACAC, + 0x7F7F7F,0x464646,0x686868,0x555555,0x4C4C4C,0x4D4D4D,0x4F4F4F,0x565656, + 0x686868,0x6F6F6F,0x535353,0x3F3F3F,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232,0x3B3B3B, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x353535,0x787878,0xA9A9A9, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA3A3A3, + 0xA2A2A2,0xA6A6A6,0x929292,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x343434,0x393939,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x313131,0x676767,0xA8A8A8,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA3A3A3,0x9B9B9B,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x484848,0xD3D3D3,0xC6C6C6,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xD2D2D2, + 0x787878,0x202020,0x262626,0x303030,0x626262,0x606060,0x5A5A5A,0x555555, + 0x535353,0x525252,0x4F4F4F,0x535353,0xC2C2C2,0xD2D2D2,0x686868,0x1F1F1F, + 0x282828,0x282828,0x282828,0x282828,0x282828,0x292929,0x252525,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x333333, + 0x555555,0x545454,0x5B5B5B,0x626262,0x727272,0x909090,0xACACAC,0xCBCBCB, + 0xCDCDCD,0xCDCDCD,0xCBCBCB,0xA5A5A5,0x4F4F4F,0x343434,0x959595,0xCECECE, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9, + 0xC2C2C2,0x323232,0x252525,0x2A2A2A,0x1C1C1C,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x404040,0xC1C1C1,0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5, + 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xCDCDCD,0x8E8E8E,0x3B3B3B,0x5B5B5B,0x454545, + 0x252525,0x292929,0x00FF00,0x00FF00,0x181818,0xAEAEAE,0xC7C7C7,0xC3C3C3, + 0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xCDCDCD, + 0x6B6B6B,0x202020,0x252525,0x464646,0x6E6E6E,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x646464,0x999999,0xC6C6C6,0xC1C1C1,0xC1C1C1, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC9C9C9,0x626262, + 0x1D1D1D,0x444444,0x6F6F6F,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x707070,0x3B3B3B,0x212121,0x686868,0xB8B8B8,0xC0C0C0,0xBEBEBE,0xBEBEBE, + 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC0C0C0,0xAEAEAE,0x272727, + 0x292929,0x2E2E2E,0x353535,0x3B3B3B,0x4D4D4D,0x686868,0x505050,0x4C4C4C, + 0x4F4F4F,0x545454,0x616161,0x6B6B6B,0x515151,0x3E3E3E,0x353535,0x252525, + 0x00FF00,0x1C1C1C,0x4B4B4B,0x4F4F4F,0x525252,0x595959,0x676767,0x6D6D6D, + 0x5E5E5E,0x424242,0x404040,0x727272,0xB3B3B3,0xBCBCBC,0xB9B9B9,0xBDBDBD, + 0xB6B6B6,0x6F6F6F,0x393939,0x6F6F6F,0xC0C0C0,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7,0xC5C5C5,0x404040,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA6A6A6,0xBABABA,0xB5B5B5,0xB5B5B5, + 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB9B9B9,0x9A9A9A,0x323232, + 0x3D3D3D,0x5C5C5C,0x616161,0x4F4F4F,0x434343,0x383838,0x3D3D3D,0x484848, + 0x4F4F4F,0x525252,0x5D5D5D,0x6D6D6D,0x686868,0x4F4F4F,0x404040,0x292929, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x151515,0x3C3C3C,0x343434,0x8C8C8C, + 0xB6B6B6,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0, + 0xB3B3B3,0x939393,0x4A4A4A,0xB9B9B9,0xAFAFAF,0xAFAFAF,0xAFAFAF,0xAFAFAF, + 0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAFAFAF,0xB1B1B1,0x7C7C7C,0x353535, + 0x3A3A3A,0x3C3C3C,0x414141,0x4B4B4B,0x606060,0x4B4B4B,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0xACACAC,0xAEAEAE,0xACACAC,0xACACAC, + 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xADADAD,0x9B9B9B,0x8D8D8D, + 0x919191,0x919191,0x909090,0x909090,0x909090,0x909090,0x909090,0x909090, + 0x909090,0x909090,0x909090,0x909090,0x909090,0x909090,0x909090,0x909090, + 0x919191,0x838383,0x3A3A3A,0x363636,0x373737,0x373737,0x383838,0x9A9A9A, + 0xACACAC,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA8A8A8,0xA7A7A7, + 0xA9A9A9,0x9F9F9F,0x515151,0x686868,0x545454,0x4C4C4C,0x4E4E4E,0x505050, + 0x585858,0x696969,0x6E6E6E,0x515151,0x3C3C3C,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x3A3A3A,0x373737,0x373737,0x373737,0x373737,0x373737,0x323232,0x5A5A5A, + 0xACACAC,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA9A9A9,0x5E5E5E,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x242424,0x3D3D3D,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x373737,0x343434,0x464646,0xA5A5A5,0xA3A3A3,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0x898989, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xAEAEAE,0xCBCBCB,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9, + 0xC5C5C5,0x3D3D3D,0x222222,0x272727,0x2C2C2C,0x5B5B5B,0x616161,0x5A5A5A, + 0x555555,0x535353,0x525252,0x4F4F4F,0x565656,0xAFAFAF,0xB2B2B2,0x353535, + 0x242424,0x282828,0x282828,0x282828,0x282828,0x282828,0x2E2E2E,0x191919, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x323232,0x545454,0x4F4F4F,0x656565,0x9D9D9D,0xB6B6B6,0xCFCFCF,0xCCCCCC, + 0xC9C9C9,0xCECECE,0xB0B0B0,0x585858,0x3B3B3B,0x3A3A3A,0x4F4F4F,0xC0C0C0, + 0xC9C9C9,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xCCCCCC,0xAAAAAA,0x252525,0x272727,0x2A2A2A,0x181818,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x363636,0x737373,0xC9C9C9,0xC7C7C7,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC5C5C5, + 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC7C7C7,0xB5B5B5,0x4F4F4F,0x555555, + 0x535353,0x262626,0x232323,0x00FF00,0x00FF00,0x262626,0xC8C8C8,0xC5C5C5, + 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC3C3C3,0xC2C2C2,0xC2C2C2, + 0xCDCDCD,0x515151,0x202020,0x242424,0x414141,0x6F6F6F,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x646464,0x969696,0xC6C6C6,0xC1C1C1, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC1C1C1,0xC3C3C3, + 0x4A4A4A,0x1E1E1E,0x4E4E4E,0x6F6F6F,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x6F6F6F,0x3A3A3A,0x232323,0x505050,0xB4B4B4,0xC0C0C0,0xBFBFBF, + 0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC3C3C3,0x949494, + 0x262626,0x292929,0x2E2E2E,0x353535,0x3B3B3B,0x4F4F4F,0x676767,0x505050, + 0x4C4C4C,0x505050,0x545454,0x626262,0x6A6A6A,0x515151,0x3E3E3E,0x353535, + 0x232323,0x00FF00,0x1A1A1A,0x4D4D4D,0x4F4F4F,0x515151,0x5A5A5A,0x686868, + 0x6A6A6A,0x636363,0x707070,0xA1A1A1,0xC2C2C2,0xBBBBBB,0xB9B9B9,0xBFBFBF, + 0xAEAEAE,0x515151,0x353535,0x393939,0x737373,0xC0C0C0,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7,0xC5C5C5,0x404040, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA8A8A8,0xB9B9B9,0xB5B5B5, + 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB7B7B7,0xACACAC, + 0x3C3C3C,0x3E3E3E,0x606060,0x656565,0x545454,0x424242,0x373737,0x3D3D3D, + 0x484848,0x4F4F4F,0x525252,0x5E5E5E,0x6E6E6E,0x676767,0x4D4D4D,0x3F3F3F, + 0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3A3A3A,0x343434, + 0x7F7F7F,0xB8B8B8,0xB1B1B1,0xB0B0B0,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0, + 0xAFAFAF,0xB0B0B0,0xAEAEAE,0xACACAC,0xB1B1B1,0xAFAFAF,0xAFAFAF,0xAFAFAF, + 0xAFAFAF,0xAFAFAF,0xAFAFAF,0xAEAEAE,0xAFAFAF,0xAEAEAE,0xAFAFAF,0xB3B3B3, + 0x5B5B5B,0x393939,0x3D3D3D,0x434343,0x4F4F4F,0x676767,0x434343,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x141414,0x9E9E9E,0xAFAFAF,0xADADAD, + 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xADADAD,0x9C9C9C, + 0x747474,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6E6E6E,0x595959,0x393939,0x363636,0x373737,0x373737,0x343434, + 0x555555,0xA8A8A8,0xA9A9A9,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7, + 0xA7A7A7,0xA8A8A8,0xA7A7A7,0x707070,0x707070,0x515151,0x4C4C4C,0x4E4E4E, + 0x505050,0x595959,0x6A6A6A,0x6B6B6B,0x4F4F4F,0x363636,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x323232,0x393939,0x373737,0x373737,0x373737,0x373737,0x363636, + 0x3A3A3A,0x7F7F7F,0xA8A8A8,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3, + 0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA6A6A6,0x9F9F9F,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x3D3D3D,0x383838,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x656565,0xA2A2A2,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xAEAEAE,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1E1E1E,0xC7C7C7,0xC8C8C8,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xCDCDCD,0x525252,0x202020,0x282828,0x272727,0x292929,0x585858,0x626262, + 0x5A5A5A,0x565656,0x535353,0x525252,0x4B4B4B,0x7B7B7B,0xBFBFBF,0x8F8F8F, + 0x252525,0x272727,0x282828,0x282828,0x282828,0x282828,0x282828,0x2B2B2B, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x252525,0x595959,0x7F7F7F,0xB4B4B4,0xCECECE,0xC9C9C9,0xC8C8C8, + 0xC9C9C9,0xCFCFCF,0x979797,0x3C3C3C,0x373737,0x3F3F3F,0x404040,0xA0A0A0, + 0xCCCCCC,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xCECECE,0x707070,0x212121,0x282828,0x292929,0x1E1E1E,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x3A3A3A,0x494949,0x7F7F7F,0xCCCCCC,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC6C6C6,0xC5C5C5, + 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xCCCCCC,0x848484, + 0x525252,0x4C4C4C,0x262626,0x1C1C1C,0x00FF00,0x00FF00,0x393939,0xCCCCCC, + 0xC4C4C4,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC3C3C3,0xC2C2C2,0xC2C2C2, + 0xC8C8C8,0x989898,0x2B2B2B,0x252525,0x242424,0x505050,0x6F6F6F,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x767676,0xAEAEAE,0xC3C3C3, + 0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC1C1C1, + 0xBDBDBD,0x3A3A3A,0x212121,0x4F4F4F,0x6F6F6F,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x6F6F6F,0x474747,0x00FF00,0x252525,0xC0C0C0,0xC0C0C0, + 0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC5C5C5, + 0x7F7F7F,0x232323,0x292929,0x2E2E2E,0x353535,0x3C3C3C,0x515151,0x676767, + 0x4F4F4F,0x4C4C4C,0x505050,0x545454,0x636363,0x6A6A6A,0x515151,0x3E3E3E, + 0x363636,0x212121,0x00FF00,0x00FF00,0x464646,0x4F4F4F,0x525252,0x595959, + 0x6B6B6B,0x898989,0xA2A2A2,0xBBBBBB,0xBFBFBF,0xB9B9B9,0xB9B9B9,0xBFBFBF, + 0xA3A3A3,0x434343,0x373737,0x404040,0x3A3A3A,0x727272,0xC0C0C0,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB8B8B8,0xC6C6C6, + 0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA8A8A8,0xBABABA, + 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB5B5B5, + 0xBCBCBC,0x6C6C6C,0x202020,0x202020,0x222222,0x2A2A2A,0x434343,0x393939, + 0x3D3D3D,0x484848,0x4F4F4F,0x525252,0x606060,0x6E6E6E,0x666666,0x4C4C4C, + 0x3D3D3D,0x2E2E2E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x393939, + 0x333333,0x737373,0xB9B9B9,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB2B2B2,0xB0B0B0,0xB6B6B6,0xB0B0B0, + 0xAFAFAF,0xAFAFAF,0xAFAFAF,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE, + 0xB0B0B0,0xAEAEAE,0x4F4F4F,0x3C3C3C,0x3E3E3E,0x262626,0x232323,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1F1F1F,0x838383,0xB2B2B2, + 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, + 0xACACAC,0x848484,0x6C6C6C,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x717171,0x5D5D5D,0x393939,0x363636,0x373737,0x373737, + 0x373737,0x353535,0x959595,0xACACAC,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA8A8A8, + 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA9A9A9,0xA6A6A6,0x737373,0x505050,0x4C4C4C, + 0x4E4E4E,0x505050,0x5A5A5A,0x6B6B6B,0x6B6B6B,0x4E4E4E,0x383838,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x242424,0x3B3B3B,0x373737,0x373737,0x373737,0x373737, + 0x373737,0x333333,0x484848,0xA5A5A5,0xA5A5A5,0xA3A3A3,0xA3A3A3,0xA3A3A3, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xAEAEAE,0x333333, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323,0x3C3C3C,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x363636,0x353535,0x939393,0xA5A5A5, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA9A9A9,0x636363,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1F1F1F,0x959595,0xD0D0D0,0xC6C6C6, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8, + 0xC9C9C9,0xBDBDBD,0x2B2B2B,0x252525,0x282828,0x272727,0x292929,0x585858, + 0x616161,0x5A5A5A,0x565656,0x535353,0x525252,0x4A4A4A,0x7E7E7E,0xC5C5C5, + 0x5E5E5E,0x202020,0x282828,0x282828,0x282828,0x282828,0x282828,0x2D2D2D, + 0x141414,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x707070,0xB0B0B0,0xCCCCCC,0xCBCBCB,0xC8C8C8,0xC8C8C8, + 0xCBCBCB,0xC6C6C6,0x656565,0x343434,0x393939,0x3D3D3D,0x3D3D3D,0x484848, + 0xC0C0C0,0xC9C9C9,0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xCDCDCD,0x9C9C9C,0x252525,0x272727,0x282828,0x2A2A2A,0x1A1A1A, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x343434,0x4E4E4E,0x4B4B4B,0xA0A0A0, + 0xCDCDCD,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5, + 0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC8C8C8, + 0xA5A5A5,0x575757,0x4B4B4B,0x2B2B2B,0x151515,0x00FF00,0x00FF00,0x414141, + 0xD3D3D3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2, + 0xC2C2C2,0xCDCDCD,0x626262,0x1F1F1F,0x282828,0x252525,0x565656,0x737373, + 0x707070,0x707070,0x707070,0x707070,0x707070,0x696969,0x979797,0xC7C7C7, + 0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0, + 0xC2C2C2,0xB9B9B9,0x303030,0x222222,0x3A3A3A,0x747474,0x707070,0x707070, + 0x707070,0x707070,0x707070,0x787878,0x494949,0x00FF00,0x464646,0xCCCCCC, + 0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBCBCBC, + 0xC6C6C6,0x727272,0x232323,0x2A2A2A,0x2E2E2E,0x353535,0x3C3C3C,0x535353, + 0x666666,0x4F4F4F,0x4D4D4D,0x4F4F4F,0x555555,0x636363,0x6A6A6A,0x515151, + 0x3E3E3E,0x363636,0x1F1F1F,0x00FF00,0x00FF00,0x464646,0x4F4F4F,0x505050, + 0x606060,0x8B8B8B,0xBBBBBB,0xBFBFBF,0xBABABA,0xBABABA,0xB9B9B9,0xBFBFBF, + 0xA7A7A7,0x3D3D3D,0x363636,0x3C3C3C,0x3F3F3F,0x3A3A3A,0x737373,0xC0C0C0, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xA5A5A5, + 0xB9B9B9,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5, + 0xB4B4B4,0xC1C1C1,0x575757,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x292929, + 0x3D3D3D,0x3E3E3E,0x484848,0x4F4F4F,0x535353,0x616161,0x6E6E6E,0x656565, + 0x4B4B4B,0x3F3F3F,0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x373737,0x323232,0x6B6B6B,0xB9B9B9,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB1B1B1,0xAEAEAE,0x747474, + 0xA9A9A9,0xB1B1B1,0xAFAFAF,0xAFAFAF,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE, + 0xAEAEAE,0xAEAEAE,0xB2B2B2,0xA1A1A1,0x333333,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x181818,0x6F6F6F, + 0xB4B4B4,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, + 0xACACAC,0xAEAEAE,0x8E8E8E,0x696969,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x727272,0x4F4F4F,0x363636,0x373737,0x373737, + 0x373737,0x373737,0x323232,0x777777,0xAFAFAF,0xA8A8A8,0xA8A8A8,0xA7A7A7, + 0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xAAAAAA,0x828282,0x4E4E4E, + 0x4C4C4C,0x4E4E4E,0x515151,0x5B5B5B,0x6C6C6C,0x696969,0x4D4D4D,0x343434, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x151515,0x3C3C3C,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x3A3A3A,0x949494,0xA6A6A6,0xA3A3A3,0xA3A3A3, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA3A3A3,0xA2A2A2,0xACACAC, + 0x656565,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x383838,0x383838, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x323232,0x6A6A6A, + 0xA8A8A8,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA3A3A3,0x9B9B9B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x535353,0xDADADA,0xC6C6C6, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xD1D1D1,0x808080,0x212121,0x282828,0x282828,0x272727,0x292929, + 0x585858,0x626262,0x5A5A5A,0x565656,0x535353,0x525252,0x4B4B4B,0x858585, + 0xBABABA,0x353535,0x242424,0x282828,0x282828,0x282828,0x282828,0x282828, + 0x2A2A2A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x292929,0xBBBBBB,0xCECECE,0xCCCCCC,0xC8C8C8,0xC8C8C8,0xC8C8C8, + 0xCBCBCB,0xCDCDCD,0x5C5C5C,0x2E2E2E,0x393939,0x3B3B3B,0x3D3D3D,0x393939, + 0x6A6A6A,0xCBCBCB,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xD2D2D2,0x717171,0x202020,0x282828,0x282828,0x292929, + 0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x353535,0x4E4E4E,0x4B4B4B, + 0x4F4F4F,0xA8A8A8,0xCCCCCC,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5, + 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5, + 0xC8C8C8,0xA9A9A9,0x585858,0x545454,0x292929,0x00FF00,0x00FF00,0x00FF00, + 0x797979,0xCDCDCD,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC2C2C2, + 0xC2C2C2,0xC3C3C3,0xC7C7C7,0x4A4A4A,0x222222,0x282828,0x2B2B2B,0x262626, + 0x252525,0x252525,0x252525,0x252525,0x252525,0x252525,0x232323,0x696969, + 0xCBCBCB,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0, + 0xC0C0C0,0xC2C2C2,0xB7B7B7,0x2A2A2A,0x292929,0x272727,0x262626,0x252525, + 0x252525,0x252525,0x252525,0x252525,0x282828,0x181818,0x00FF00,0x434343, + 0xCCCCCC,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD, + 0xBCBCBC,0xC7C7C7,0x686868,0x222222,0x292929,0x2F2F2F,0x353535,0x3C3C3C, + 0x555555,0x666666,0x4F4F4F,0x4D4D4D,0x4F4F4F,0x555555,0x636363,0x6A6A6A, + 0x505050,0x3E3E3E,0x353535,0x1D1D1D,0x00FF00,0x00FF00,0x484848,0x4D4D4D, + 0x595959,0xA3A3A3,0xBDBDBD,0xBBBBBB,0xBABABA,0xB9B9B9,0xB9B9B9,0xBBBBBB, + 0xB8B8B8,0x585858,0x343434,0x3C3C3C,0x3C3C3C,0x3F3F3F,0x3A3A3A,0x767676, + 0xC0C0C0,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0xADADAD,0xB9B9B9,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5, + 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB8B8B8,0x373737,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x3A3A3A,0x3F3F3F,0x484848,0x4F4F4F,0x535353,0x626262,0x6E6E6E, + 0x646464,0x4A4A4A,0x404040,0x1B1B1B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x363636,0x313131,0x696969,0xBABABA,0xB1B1B1,0xB1B1B1,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xB7B7B7,0x828282, + 0x343434,0x717171,0xB8B8B8,0xAFAFAF,0xAFAFAF,0xAEAEAE,0xAFAFAF,0xAEAEAE, + 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xB9B9B9,0x696969,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x242424, + 0x3A3A3A,0x9C9C9C,0xAFAFAF,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, + 0xACACAC,0xACACAC,0xADADAD,0xA1A1A1,0x7A7A7A,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x777777,0x363636,0x222222,0x3A3A3A, + 0x373737,0x373737,0x373737,0x303030,0x656565,0xB0B0B0,0xA8A8A8,0xA8A8A8, + 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xACACAC,0x858585, + 0x4C4C4C,0x4C4C4C,0x4E4E4E,0x515151,0x5C5C5C,0x6E6E6E,0x676767,0x4A4A4A, + 0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x383838,0x383838,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x313131,0x707070,0xAAAAAA,0xA3A3A3, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, + 0xA4A4A4,0xA8A8A8,0x212121,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2A2A2A, + 0x3A3A3A,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x343434, + 0x494949,0xA5A5A5,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0x898989,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xADADAD,0xCBCBCB, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC8C8C8,0xCFCFCF,0x4B4B4B,0x212121,0x282828,0x282828,0x272727, + 0x282828,0x575757,0x626262,0x5A5A5A,0x565656,0x535353,0x515151,0x525252, + 0xACACAC,0x5B5B5B,0x242424,0x282828,0x282828,0x282828,0x282828,0x282828, + 0x2A2A2A,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x787878,0xCECECE,0xCECECE,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8, + 0xCBCBCB,0xC9C9C9,0x535353,0x303030,0x373737,0x3A3A3A,0x3A3A3A,0x3D3D3D, + 0x383838,0x8B8B8B,0xD0D0D0,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC9C9C9,0x484848,0x222222,0x282828,0x282828, + 0x2A2A2A,0x1B1B1B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x303030,0x4F4F4F, + 0x4D4D4D,0x4B4B4B,0x535353,0xB5B5B5,0xCECECE,0xC6C6C6,0xC5C5C5,0xC5C5C5, + 0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5, + 0xC5C5C5,0xC7C7C7,0xBBBBBB,0x656565,0x484848,0x262626,0x00FF00,0x00FF00, + 0x00FF00,0xBABABA,0xC6C6C6,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2, + 0xC2C2C2,0xC3C3C3,0xC5C5C5,0xBFBFBF,0x373737,0x252525,0x282828,0x2F2F2F, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0xA5A5A5,0xC6C6C6,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC6C6C6,0x8F8F8F,0x242424,0x2E2E2E,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x424242,0xCCCCCC,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xBEBEBE,0xBDBDBD,0xBDBDBD, + 0xBDBDBD,0xBDBDBD,0xC8C8C8,0x636363,0x222222,0x292929,0x2F2F2F,0x353535, + 0x3B3B3B,0x575757,0x686868,0x4F4F4F,0x4D4D4D,0x4F4F4F,0x545454,0x636363, + 0x6A6A6A,0x4F4F4F,0x3D3D3D,0x363636,0x1C1C1C,0x00FF00,0x00FF00,0x474747, + 0x5C5C5C,0xA8A8A8,0xC0C0C0,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, + 0xC3C3C3,0x727272,0x2E2E2E,0x3A3A3A,0x3B3B3B,0x3D3D3D,0x3F3F3F,0x3A3A3A, + 0x777777,0xC0C0C0,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7, + 0xB8B8B8,0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x6D6D6D,0xBBBBBB,0xB6B6B6,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5, + 0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xC0C0C0,0x717171,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x343434,0x404040,0x484848,0x4F4F4F,0x545454,0x626262, + 0x6F6F6F,0x646464,0x4B4B4B,0x404040,0x1F1F1F,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x333333,0x323232,0x5E5E5E,0xB8B8B8,0xB2B2B2,0xB1B1B1, + 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB4B4B4,0x8B8B8B, + 0x363636,0x3B3B3B,0x464646,0x797979,0xB4B4B4,0xAFAFAF,0xAEAEAE,0xAEAEAE, + 0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xB3B3B3,0xA5A5A5, + 0x1C1C1C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x2B2B2B,0x343434,0x7F7F7F,0xB2B2B2,0xACACAC,0xACACAC,0xACACAC,0xACACAC, + 0xACACAC,0xACACAC,0xACACAC,0xABABAB,0xAEAEAE,0x8A8A8A,0x6B6B6B,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x767676,0x282828,0x171717, + 0x3C3C3C,0x373737,0x373737,0x373737,0x343434,0x4D4D4D,0xA8A8A8,0xA9A9A9, + 0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xAAAAAA, + 0x909090,0x525252,0x4C4C4C,0x4E4E4E,0x525252,0x5D5D5D,0x6E6E6E,0x666666, + 0x494949,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828,0x3C3C3C, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x323232,0x545454,0xA8A8A8, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA3A3A3, + 0xA3A3A3,0xA2A2A2,0xA8A8A8,0x939393,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x181818,0x3D3D3D,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x848484,0xA5A5A5,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xAEAEAE,0x323232, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x202020,0xC7C7C7, + 0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC8C8C8,0xCCCCCC,0xA1A1A1,0x272727,0x272727,0x282828,0x282828, + 0x272727,0x282828,0x575757,0x636363,0x5A5A5A,0x565656,0x545454,0x4F4F4F, + 0x6C6C6C,0x9B9B9B,0x272727,0x262626,0x282828,0x282828,0x282828,0x282828, + 0x282828,0x2E2E2E,0x151515,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x1B1B1B,0x8A8A8A,0xD2D2D2,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8, + 0xC9C9C9,0xCECECE,0x606060,0x2C2C2C,0x343434,0x373737,0x3A3A3A,0x3B3B3B, + 0x3C3C3C,0x404040,0xB0B0B0,0xCBCBCB,0xC7C7C7,0xC8C8C8,0xC8C8C8,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xBFBFBF,0x2E2E2E,0x252525,0x282828, + 0x282828,0x292929,0x222222,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232, + 0x4F4F4F,0x4D4D4D,0x4E4E4E,0x4A4A4A,0x5A5A5A,0xA8A8A8,0xCBCBCB,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5, + 0xC5C5C5,0xC5C5C5,0xC6C6C6,0xC0C0C0,0x6E6E6E,0x525252,0x232323,0x00FF00, + 0x00FF00,0x00FF00,0xB0B0B0,0xC7C7C7,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3, + 0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC5C5C5,0xB9B9B9,0x2C2C2C,0x262626,0x292929, + 0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0xB1B1B1,0xC5C5C5,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC2C2C2,0xBCBCBC,0x373737,0x252525,0x2C2C2C,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x484848,0xCBCBCB,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBDBDBD,0xBDBDBD, + 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC8C8C8,0x5D5D5D,0x222222,0x2A2A2A,0x2E2E2E, + 0x353535,0x404040,0x585858,0x575757,0x545454,0x4E4E4E,0x4F4F4F,0x545454, + 0x636363,0x6A6A6A,0x4F4F4F,0x3C3C3C,0x383838,0x171717,0x00FF00,0x00FF00, + 0x525252,0xB0B0B0,0xC0C0C0,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, + 0xC0C0C0,0x8D8D8D,0x323232,0x353535,0x3A3A3A,0x3B3B3B,0x3D3D3D,0x3F3F3F, + 0x3A3A3A,0x777777,0xC0C0C0,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x3B3B3B,0xBCBCBC,0xB6B6B6,0xB5B5B5,0xB5B5B5,0xB5B5B5, + 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB8B8B8,0xABABAB,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x1D1D1D,0x434343,0x494949,0x4F4F4F,0x545454, + 0x636363,0x6E6E6E,0x636363,0x4A4A4A,0x3F3F3F,0x212121,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x2F2F2F,0x343434,0x4F4F4F,0xB2B2B2,0xB2B2B2, + 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF,0xB8B8B8, + 0x747474,0x323232,0x414141,0x444444,0x494949,0x9A9A9A,0xB4B4B4,0xAEAEAE, + 0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE, + 0xBCBCBC,0x707070,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x202020,0x353535,0x707070,0xB5B5B5,0xACACAC,0xACACAC,0xACACAC, + 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xABABAB,0xADADAD,0xA0A0A0,0x777777, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x777777,0x2F2F2F, + 0x00FF00,0x2E2E2E,0x393939,0x373737,0x373737,0x363636,0x3C3C3C,0xA1A1A1, + 0xA9A9A9,0xA7A7A7,0xA7A7A7,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7, + 0xA8A8A8,0xA1A1A1,0x565656,0x4D4D4D,0x4F4F4F,0x525252,0x5F5F5F,0x6E6E6E, + 0x646464,0x484848,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x333333,0x383838,0x373737,0x373737,0x373737,0x373737,0x363636,0x3B3B3B, + 0x939393,0xA6A6A6,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA4A4A4,0xA4A4A4,0x1D1D1D,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x333333,0x3B3B3B,0x373737,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x353535,0x3A3A3A,0x979797,0xA3A3A3,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xAAAAAA, + 0x616161,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x7F7F7F, + 0xD1D1D1,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC9C9C9,0xBFBFBF,0x2E2E2E,0x252525,0x282828,0x282828, + 0x282828,0x282828,0x252525,0x4C4C4C,0x646464,0x5A5A5A,0x565656,0x535353, + 0x515151,0x585858,0x5F5F5F,0x2C2C2C,0x262626,0x282828,0x282828,0x282828, + 0x282828,0x282828,0x2C2C2C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x8B8B8B,0xDADADA,0xC8C8C8,0xC8C8C8,0xC9C9C9,0xC8C8C8,0xC8C8C8, + 0xC9C9C9,0xCACACA,0x797979,0x282828,0x323232,0x343434,0x373737,0x3A3A3A, + 0x3B3B3B,0x3A3A3A,0x4D4D4D,0xC5C5C5,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCDCDCD,0x9B9B9B,0x232323,0x282828, + 0x282828,0x282828,0x292929,0x191919,0x3F3F3F,0x424242,0x00FF00,0x00FF00, + 0x2E2E2E,0x4F4F4F,0x4D4D4D,0x4F4F4F,0x4F4F4F,0x4B4B4B,0x4E4E4E,0xA3A3A3, + 0xCCCCCC,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5, + 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC6C6C6,0xBEBEBE,0x686868,0x525252,0x1A1A1A, + 0x00FF00,0x00FF00,0x232323,0xC3C3C3,0xC6C6C6,0xC3C3C3,0xC3C3C3,0xC3C3C3, + 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC8C8C8,0x9B9B9B,0x242424,0x272727, + 0x2E2E2E,0x161616,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0xADADAD,0xC5C5C5,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0, + 0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC2C2C2,0xB8B8B8,0x2E2E2E,0x272727,0x2B2B2B, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0xA6A6A6,0xC3C3C3,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD, + 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBEBEBE,0xC1C1C1,0x4A4A4A,0x222222,0x2A2A2A, + 0x2E2E2E,0x3C3C3C,0x303030,0x191919,0x00FF00,0x242424,0x4D4D4D,0x525252, + 0x555555,0x636363,0x6A6A6A,0x4F4F4F,0x3D3D3D,0x2F2F2F,0x00FF00,0x00FF00, + 0x151515,0x9E9E9E,0xC1C1C1,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, + 0xBABABA,0xC2C2C2,0x5C5C5C,0x2C2C2C,0x373737,0x3A3A3A,0x3B3B3B,0x3D3D3D, + 0x3F3F3F,0x3A3A3A,0x797979,0xBFBFBF,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x434343,0xBDBDBD,0xB6B6B6,0xB5B5B5,0xB5B5B5, + 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB5B5B5,0xB3B3B3, + 0x202020,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0x444444,0x494949,0x4F4F4F, + 0x545454,0x646464,0x6E6E6E,0x626262,0x494949,0x3D3D3D,0x252525,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2B2B2B,0x363636,0x484848,0xAEAEAE, + 0xB2B2B2,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF, + 0xB5B5B5,0x898989,0x343434,0x424242,0x474747,0x414141,0x5B5B5B,0xADADAD, + 0xB2B2B2,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE, + 0xAEAEAE,0xAEAEAE,0xADADAD,0x3D3D3D,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x292929,0x373737,0x4B4B4B,0xA3A3A3,0xAEAEAE,0xACACAC, + 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xABABAB,0xACACAC,0xABABAB, + 0x848484,0x7A7A7A,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6F6F6F,0x727272, + 0x232323,0x00FF00,0x212121,0x3D3D3D,0x373737,0x373737,0x373737,0x363636, + 0x8B8B8B,0xADADAD,0xA8A8A8,0xA7A7A7,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7, + 0xA7A7A7,0xA8A8A8,0xA6A6A6,0x595959,0x4C4C4C,0x4F4F4F,0x525252,0x616161, + 0x6F6F6F,0x616161,0x474747,0x262626,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x242424,0x3B3B3B,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x343434,0x454545,0xA1A1A1,0xA5A5A5,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xB2B2B2,0x464646,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3A3A3A,0x383838,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x343434,0x6F6F6F,0xA7A7A7,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA2A2A2,0xA7A7A7,0x1D1D1D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828, + 0xCBCBCB,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xD1D1D1,0x848484,0x202020,0x282828,0x282828, + 0x282828,0x282828,0x282828,0x252525,0x4F4F4F,0x646464,0x5A5A5A,0x565656, + 0x535353,0x515151,0x555555,0x5D5D5D,0x2D2D2D,0x262626,0x282828,0x282828, + 0x282828,0x282828,0x2B2B2B,0x171717,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x797979,0xD2D2D2,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8, + 0xC8C8C8,0xCBCBCB,0xC6C6C6,0x2D2D2D,0x2B2B2B,0x333333,0x343434,0x373737, + 0x393939,0x3B3B3B,0x3A3A3A,0x777777,0xCCCCCC,0xC8C8C8,0xC8C8C8,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xD2D2D2,0x717171,0x202020, + 0x282828,0x282828,0x282828,0x222222,0x373737,0xC0C0C0,0xB1B1B1,0x00FF00, + 0x00FF00,0x2E2E2E,0x4F4F4F,0x4D4D4D,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4D4D4D, + 0x525252,0xACACAC,0xC9C9C9,0xC5C5C5,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5, + 0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC7C7C7,0xB6B6B6,0x606060,0x515151, + 0x151515,0x00FF00,0x00FF00,0x4C4C4C,0xD3D3D3,0xC3C3C3,0xC3C3C3,0xC3C3C3, + 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC3C3C3,0xCBCBCB,0x7A7A7A,0x222222, + 0x282828,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x232323,0xC0C0C0,0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC1C1C1, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC2C2C2,0xB3B3B3,0x292929,0x272727, + 0x2A2A2A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0xB0B0B0,0xC2C2C2,0xBEBEBE,0xBEBEBE,0xBDBDBD, + 0xBDBDBD,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBFBFBF,0xBDBDBD,0x3D3D3D,0x252525, + 0x2B2B2B,0x333333,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x181818, + 0x515151,0x595959,0x656565,0x6B6B6B,0x505050,0x434343,0x161616,0x00FF00, + 0x00FF00,0x434343,0xC8C8C8,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, + 0xBABABA,0xBCBCBC,0xAFAFAF,0x303030,0x323232,0x373737,0x3A3A3A,0x3B3B3B, + 0x3D3D3D,0x3F3F3F,0x3A3A3A,0x797979,0xC0C0C0,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xC5C5C5,0x3F3F3F,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x434343,0xA0A0A0,0xBABABA,0xB5B5B5, + 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4, + 0xC3C3C3,0x4D4D4D,0x00FF00,0x00FF00,0x00FF00,0x151515,0x434343,0x4B4B4B, + 0x505050,0x555555,0x646464,0x6E6E6E,0x606060,0x484848,0x3E3E3E,0x1A1A1A, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x262626,0x393939,0x414141, + 0xACACAC,0xB3B3B3,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0, + 0xB0B0B0,0xB3B3B3,0x9F9F9F,0x363636,0x404040,0x474747,0x464646,0x414141, + 0x686868,0xB3B3B3,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE, + 0xAEAEAE,0xAEAEAE,0xADADAD,0xB0B0B0,0xBABABA,0x1C1C1C,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x2F2F2F,0x3A3A3A,0x303030,0x828282,0xB3B3B3, + 0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xABABAB, + 0xACACAC,0xA7A7A7,0x7B7B7B,0x6C6C6C,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6F6F6F, + 0x747474,0x242424,0x00FF00,0x00FF00,0x3C3C3C,0x373737,0x373737,0x373737, + 0x323232,0x696969,0xAEAEAE,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA8A8A8, + 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xB2B2B2,0x484848,0x2E2E2E,0x545454,0x565656, + 0x626262,0x6F6F6F,0x606060,0x484848,0x202020,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x151515,0x3C3C3C,0x373737,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x393939,0x8F8F8F,0xA7A7A7,0xA3A3A3,0xA3A3A3,0xA3A3A3, + 0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA7A7A7,0x8E8E8E, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2F2F2F,0x3A3A3A,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x333333,0x4D4D4D,0xA3A3A3, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xAEAEAE,0x454545,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0xB9B9B9,0xCCCCCC,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xCDCDCD,0x4E4E4E,0x212121,0x282828, + 0x282828,0x282828,0x282828,0x282828,0x252525,0x4B4B4B,0x656565,0x5B5B5B, + 0x565656,0x535353,0x515151,0x545454,0x5D5D5D,0x2D2D2D,0x262626,0x282828, + 0x282828,0x282828,0x292929,0x272727,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x767676,0xD4D4D4,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8, + 0xC9C9C9,0xC9C9C9,0xC8C8C8,0x626262,0x262626,0x2E2E2E,0x333333,0x343434, + 0x373737,0x3A3A3A,0x373737,0x545454,0xC6C6C6,0xC9C9C9,0xC7C7C7,0xC8C8C8, + 0xC8C8C8,0xC7C7C7,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC8C8C8,0xCECECE,0x484848, + 0x222222,0x282828,0x282828,0x272727,0x222222,0x9A9A9A,0xD1D1D1,0xB4B4B4, + 0x00FF00,0x00FF00,0x292929,0x4F4F4F,0x4D4D4D,0x4E4E4E,0x4F4F4F,0x4F4F4F, + 0x4F4F4F,0x4B4B4B,0x5A5A5A,0xC2C2C2,0xC8C8C8,0xC5C5C5,0xC5C5C5,0xC5C5C5, + 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xCDCDCD,0x888888,0x464646, + 0x5F5F5F,0x00FF00,0x00FF00,0x00FF00,0x4D4D4D,0xD1D1D1,0xC3C3C3,0xC3C3C3, + 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xCCCCCC,0x696969, + 0x202020,0x282828,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x4D4D4D,0xD1D1D1,0xC1C1C1,0xC1C1C1,0xC1C1C1, + 0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC6C6C6,0x939393,0x242424, + 0x2B2B2B,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xADADAD,0xC2C2C2,0xBEBEBE,0xBEBEBE, + 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC0C0C0,0xB9B9B9,0x363636, + 0x252525,0x2F2F2F,0x292929,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x181818,0x4F4F4F,0x666666,0x6D6D6D,0x494949,0x1E1E1E,0x00FF00, + 0x00FF00,0x252525,0xB4B4B4,0xBDBDBD,0xBABABA,0xBABABA,0xBABABA,0xBABABA, + 0xBABABA,0xBABABA,0xBCBCBC,0xADADAD,0x2D2D2D,0x333333,0x373737,0x3A3A3A, + 0x3B3B3B,0x3D3D3D,0x3F3F3F,0x3A3A3A,0x7A7A7A,0xBFBFBF,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xC5C5C5,0x404040, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x343434,0x898989,0xBCBCBC, + 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4, + 0xB4B4B4,0xB8B8B8,0xA1A1A1,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x333333, + 0x4D4D4D,0x4F4F4F,0x555555,0x656565,0x6E6E6E,0x5E5E5E,0x464646,0x3D3D3D, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323,0x3A3A3A, + 0x3D3D3D,0xA9A9A9,0xB3B3B3,0xB0B0B0,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xB1B1B1,0xB1B1B1,0x525252,0x3C3C3C,0x474747,0x464646, + 0x464646,0x454545,0x848484,0xB6B6B6,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE, + 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD,0xB8B8B8,0x707070,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828,0x3A3A3A,0x343434,0x525252, + 0xADADAD,0xADADAD,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, + 0xACACAC,0xACACAC,0xAEAEAE,0x949494,0x777777,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6F6F6F,0x6F6F6F,0x191919,0x171717,0x2C2C2C,0x393939,0x373737,0x373737, + 0x373737,0x363636,0x393939,0x8E8E8E,0xACACAC,0xA7A7A7,0xA8A8A8,0xA7A7A7, + 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA8A8A8,0xACACAC,0x353535,0x1E1E1E, + 0x515151,0x6C6C6C,0x7A7A7A,0x676767,0x3F3F3F,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x373737,0x383838,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x313131,0x696969,0xAAAAAA,0xA3A3A3,0xA3A3A3, + 0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA4A4A4, + 0xA4A4A4,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1D1D1D,0x3D3D3D, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x939393,0xA6A6A6,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA6A6A6,0x3A3A3A,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x3C3C3C,0xD2D2D2,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCBCBCB,0xB1B1B1,0x282828,0x262626, + 0x282828,0x282828,0x282828,0x282828,0x282828,0x252525,0x525252,0x6F6F6F, + 0x606060,0x585858,0x555555,0x515151,0x545454,0x616161,0x303030,0x262626, + 0x282828,0x282828,0x282828,0x2E2E2E,0x1C1C1C,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x4B4B4B,0xCACACA,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9, + 0xC8C8C8,0xC8C8C8,0xCACACA,0xBFBFBF,0x2B2B2B,0x272727,0x2E2E2E,0x333333, + 0x343434,0x373737,0x393939,0x343434,0x7E7E7E,0xD1D1D1,0xC8C8C8,0xC8C8C8, + 0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCDCDCD,0x969696, + 0x282828,0x272727,0x282828,0x282828,0x252525,0x2C2C2C,0xC1C1C1,0xCBCBCB, + 0xBABABA,0x00FF00,0x00FF00,0x282828,0x4F4F4F,0x4D4D4D,0x4E4E4E,0x4F4F4F, + 0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4D4D4D,0x6A6A6A,0xC2C2C2,0xC7C7C7,0xC5C5C5, + 0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC6C6C6,0xC5C5C5,0x3C3C3C, + 0x393939,0x545454,0x00FF00,0x00FF00,0x00FF00,0xADADAD,0xC8C8C8,0xC3C3C3, + 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC4C4C4,0xC9C9C9, + 0x525252,0x212121,0x282828,0x282828,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x434343,0xCFCFCF,0xC1C1C1,0xC1C1C1, + 0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC9C9C9,0x7A7A7A, + 0x222222,0x2C2C2C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xAEAEAE,0xC2C2C2,0xBEBEBE, + 0xBEBEBE,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC0C0C0,0xB6B6B6, + 0x303030,0x262626,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x181818,0x1E1E1E,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0xACACAC,0xC3C3C3,0xBABABA,0xBABABA,0xBABABA,0xBABABA, + 0xBABABA,0xBABABA,0xBABABA,0xBEBEBE,0x9A9A9A,0x2B2B2B,0x333333,0x373737, + 0x3A3A3A,0x3B3B3B,0x3D3D3D,0x3F3F3F,0x3A3A3A,0x7B7B7B,0xBFBFBF,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xC5C5C5, + 0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636,0x666666, + 0xB8B8B8,0xB6B6B6,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4, + 0xB4B4B4,0xB5B5B5,0xB4B4B4,0xBFBFBF,0x444444,0x00FF00,0x00FF00,0x00FF00, + 0x2E2E2E,0x505050,0x505050,0x555555,0x656565,0x6E6E6E,0x5E5E5E,0x454545, + 0x3F3F3F,0x171717,0x00FF00,0x202020,0x1D1D1D,0x00FF00,0x00FF00,0x1D1D1D, + 0x3C3C3C,0x3A3A3A,0xA9A9A9,0xB3B3B3,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF,0xB8B8B8,0x797979,0x3E3E3E,0x464646, + 0x464646,0x464646,0x454545,0x494949,0x919191,0xB5B5B5,0xAEAEAE,0xAEAEAE, + 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xACACAC,0xB3B3B3, + 0x949494,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636,0x383838,0x373737, + 0x353535,0xA1A1A1,0xAFAFAF,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xACACAC, + 0xABABAB,0xABABAB,0xABABAB,0xACACAC,0xACACAC,0x8D8D8D,0x777777,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6F6F6F,0x6F6F6F,0x00FF00,0x404040,0xA0A0A0,0x535353,0x343434, + 0x373737,0x373737,0x373737,0x313131,0x707070,0xAFAFAF,0xA8A8A8,0xA8A8A8, + 0xA7A7A7,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xB5B5B5,0x434343, + 0x00FF00,0x00FF00,0x272727,0x2F2F2F,0x282828,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2D2D2D,0x3D3D3D,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x343434,0x4C4C4C,0xA5A5A5,0xA5A5A5, + 0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA3A3A3,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xA7A7A7,0xA4A4A4,0x1C1C1C,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x3A3A3A,0x383838,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x343434,0x505050,0xA0A0A0,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA7A7A7,0x8E8E8E,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x787878,0xD1D1D1,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCFCFCF,0x6F6F6F,0x212121, + 0x282828,0x282828,0x282828,0x282828,0x282828,0x282828,0x282828,0x282828, + 0x2C2C2C,0x444444,0x535353,0x515151,0x5A5A5A,0x575757,0x5E5E5E,0x303030, + 0x262626,0x282828,0x282828,0x282828,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0xC7C7C7,0xCDCDCD,0xC8C8C8,0xC9C9C9,0xC9C9C9,0xC9C9C9, + 0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC9C9C9,0xC4C4C4,0x383838,0x262626,0x2D2D2D, + 0x323232,0x343434,0x373737,0x373737,0x303030,0x9F9F9F,0xCDCDCD,0xC8C8C8, + 0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC8C8C8, + 0x3D3D3D,0x222222,0x282828,0x282828,0x282828,0x222222,0x434343,0xC8C8C8, + 0xC9C9C9,0xC5C5C5,0x222222,0x00FF00,0x252525,0x4F4F4F,0x4D4D4D,0x4E4E4E, + 0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x494949,0x8B8B8B,0xCBCBCB, + 0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xCBCBCB,0x959595, + 0x1A1A1A,0x393939,0x515151,0x00FF00,0x00FF00,0x00FF00,0xB2B2B2,0xC8C8C8, + 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC5C5C5, + 0xBFBFBF,0x353535,0x242424,0x292929,0x252525,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4C4C4C,0xCECECE,0xC1C1C1, + 0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC9C9C9, + 0x6A6A6A,0x222222,0x2A2A2A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB1B1B1,0xC2C2C2, + 0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC0C0C0, + 0xB4B4B4,0x2C2C2C,0x292929,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0xAEAEAE,0xBFBFBF,0xBABABA,0xBABABA,0xBABABA, + 0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBFBFBF,0x979797,0x2B2B2B,0x323232, + 0x373737,0x3A3A3A,0x3C3C3C,0x3D3D3D,0x3F3F3F,0x393939,0x797979,0xBFBFBF, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7, + 0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x373737, + 0x464646,0xAEAEAE,0xB8B8B8,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5, + 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB5B5B5,0xBBBBBB,0x424242,0x00FF00, + 0x00FF00,0x00FF00,0x4C4C4C,0x535353,0x565656,0x666666,0x6D6D6D,0x5E5E5E, + 0x454545,0x3C3C3C,0x00FF00,0x00FF00,0x535353,0x8B8B8B,0x00FF00,0x00FF00, + 0x00FF00,0x323232,0x393939,0xA5A5A5,0xB4B4B4,0xB1B1B1,0xB0B0B0,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF,0xB5B5B5,0x818181,0x3E3E3E, + 0x464646,0x464646,0x464646,0x464646,0x414141,0x585858,0xA7A7A7,0xB1B1B1, + 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD,0xAEAEAE,0xADADAD, + 0xAEAEAE,0xBABABA,0x3C3C3C,0x00FF00,0x00FF00,0x00FF00,0x333333,0x393939, + 0x383838,0x363636,0x676767,0xB0B0B0,0xADADAD,0xACACAC,0xACACAC,0xACACAC, + 0xACACAC,0xABABAB,0xACACAC,0xABABAB,0xAAAAAA,0xACACAC,0xA7A7A7,0x7A7A7A, + 0x797979,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x707070,0x656565,0x00FF00,0x5E5E5E,0xB8B8B8,0x6F6F6F, + 0x333333,0x373737,0x373737,0x373737,0x313131,0x5D5D5D,0xAEAEAE,0xA8A8A8, + 0xA7A7A7,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xACACAC, + 0x929292,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636, + 0x383838,0x373737,0x373737,0x373737,0x373737,0x373737,0x3A3A3A,0x979797, + 0xA7A7A7,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xB3B3B3,0x474747,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x2C2C2C,0x3C3C3C,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x313131,0x717171,0xA7A7A7,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA2A2A2, + 0x1D1D1D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x202020,0xCCCCCC,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCFCFCF,0x8C8C8C,0x242424, + 0x272727,0x282828,0x282828,0x282828,0x282828,0x282828,0x292929,0x242424, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x252525,0x434343,0x656565, + 0x303030,0x252525,0x282828,0x282828,0x282828,0x282828,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0xABABAB,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC8C8C8,0xC8C8C8, + 0xC8C8C8,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xCACACA,0xC5C5C5,0x373737,0x252525, + 0x2E2E2E,0x323232,0x333333,0x2D2D2D,0x404040,0x7F7F7F,0xC5C5C5,0xC9C9C9, + 0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC9C9C9, + 0xBCBCBC,0x2C2C2C,0x262626,0x282828,0x282828,0x282828,0x1E1E1E,0x6C6C6C, + 0xD1D1D1,0xC7C7C7,0xD0D0D0,0x444444,0x00FF00,0x232323,0x4F4F4F,0x4D4D4D, + 0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x484848,0x686868, + 0xC7C7C7,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xCFCFCF, + 0x6F6F6F,0x242424,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323,0xC2C2C2, + 0xC6C6C6,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2, + 0xC5C5C5,0xBBBBBB,0x2D2D2D,0x262626,0x2A2A2A,0x1E1E1E,0x00FF00,0x00FF00, + 0x1C1C1C,0x444444,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xAAAAAA,0xC6C6C6, + 0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC1C1C1,0xC0C0C0, + 0xCACACA,0x626262,0x212121,0x292929,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x393939,0xC9C9C9, + 0xBFBFBF,0xBEBEBE,0xBFBFBF,0xBEBEBE,0xBDBDBD,0xBEBEBE,0xBDBDBD,0xBDBDBD, + 0xC0C0C0,0xB4B4B4,0x2A2A2A,0x2E2E2E,0x181818,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x3E3E3E,0xC5C5C5,0xBABABA,0xBBBBBB,0xBABABA, + 0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBBBBBB,0xBBBBBB,0x4D4D4D, + 0x2A2A2A,0x383838,0x3A3A3A,0x3C3C3C,0x3D3D3D,0x383838,0x414141,0x9A9A9A, + 0xBCBCBC,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7, + 0xB7B7B7,0xC5C5C5,0x404040,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x393939,0x3D3D3D,0x7B7B7B,0xBCBCBC,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB5B5B5, + 0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB9B9B9,0xAEAEAE, + 0x232323,0x00FF00,0x00FF00,0x1A1A1A,0x525252,0x5E5E5E,0x686868,0x6F6F6F, + 0x5E5E5E,0x4C4C4C,0x282828,0x00FF00,0x222222,0xACACAC,0xBFBFBF,0x282828, + 0x00FF00,0x00FF00,0x2F2F2F,0x353535,0x6A6A6A,0xB3B3B3,0xB2B2B2,0xB1B1B1, + 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB4B4B4,0x929292, + 0x3E3E3E,0x474747,0x464646,0x464646,0x464646,0x464646,0x414141,0x585858, + 0xACACAC,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE, + 0xADADAD,0xADADAD,0xB0B0B0,0xA8A8A8,0x212121,0x00FF00,0x00FF00,0x2D2D2D, + 0x3A3A3A,0x383838,0x3A3A3A,0x3B3B3B,0x8B8B8B,0xB1B1B1,0xACACAC,0xACACAC, + 0xACACAC,0xABABAB,0xABABAB,0xABABAB,0xACACAC,0xABABAB,0xAAAAAA,0xACACAC, + 0xA2A2A2,0x848484,0x777777,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x707070,0x646464,0x3C3C3C,0x949494,0xB5B5B5, + 0x4B4B4B,0x2D2D2D,0x373737,0x373737,0x373737,0x343434,0x464646,0xA6A6A6, + 0xA9A9A9,0xA7A7A7,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7, + 0xAAAAAA,0x9E9E9E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x232323,0x3B3B3B,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x585858,0xA2A2A2,0xA4A4A4,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA3A3A3, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA6A6A6,0x8F8F8F,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x333333,0x393939,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x333333,0x4F4F4F,0xA5A5A5,0xA2A2A2,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xAEAEAE,0x454545,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x858585,0xD2D2D2,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCDCDCD,0x4E4E4E, + 0x202020,0x282828,0x282828,0x282828,0x282828,0x282828,0x282828,0x2E2E2E, + 0x161616,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x5B5B5B,0x353535,0x252525,0x282828,0x282828,0x2E2E2E,0x1E1E1E,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0xBEBEBE,0xCCCCCC,0xC9C9C9,0xC9C9C9,0xC8C8C8, + 0xC8C8C8,0xC8C8C8,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC9C9C9,0xCDCDCD,0x5D5D5D, + 0x202020,0x232323,0x2C2C2C,0x3D3D3D,0x6F6F6F,0xB4B4B4,0xD2D2D2,0xC9C9C9, + 0xC7C7C7,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC8C8C8, + 0xCECECE,0x8E8E8E,0x222222,0x282828,0x272727,0x272727,0x282828,0x232323, + 0x939393,0xCCCCCC,0xC6C6C6,0xCBCBCB,0xB0B0B0,0x00FF00,0x1F1F1F,0x4D4D4D, + 0x4D4D4D,0x4E4E4E,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x464646, + 0x828282,0xCBCBCB,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC9C9C9, + 0xA7A7A7,0x2C2C2C,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4E4E4E, + 0xD3D3D3,0xC4C4C4,0xC3C3C3,0xC4C4C4,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2, + 0xC3C3C3,0xC8C8C8,0xA6A6A6,0x252525,0x272727,0x2E2E2E,0x181818,0x00FF00, + 0x00FF00,0x797979,0xBFBFBF,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB4B4B4, + 0xC5C5C5,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1, + 0xC1C1C1,0xC2C2C2,0x414141,0x232323,0x272727,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x999999,0x666666,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x767676, + 0xC8C8C8,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBDBDBD, + 0xBDBDBD,0xC1C1C1,0xA6A6A6,0x282828,0x282828,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x434343,0xC8C8C8,0xBBBBBB,0xBABABA, + 0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBCBCBC, + 0xA8A8A8,0x424242,0x2D2D2D,0x333333,0x343434,0x383838,0x5E5E5E,0xA0A0A0, + 0xBDBDBD,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xC5C5C5,0x3E3E3E,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x393939,0x3B3B3B,0x4A4A4A,0xAEAEAE,0xB8B8B8,0xB5B5B5,0xB5B5B5, + 0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB4B4B4, + 0xBABABA,0xB4B4B4,0x232323,0x00FF00,0x00FF00,0x00FF00,0x3A3A3A,0x656565, + 0x696969,0x515151,0x202020,0x00FF00,0x232323,0xB2B2B2,0xBFBFBF,0x929292, + 0x00FF00,0x00FF00,0x00FF00,0x2B2B2B,0x373737,0x414141,0xADADAD,0xB3B3B3, + 0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB2B2B2, + 0xA7A7A7,0x464646,0x454545,0x464646,0x464646,0x464646,0x464646,0x464646, + 0x434343,0x797979,0xB8B8B8,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE, + 0xAEAEAE,0xAEAEAE,0xADADAD,0xADADAD,0xB3B3B3,0xADADAD,0x202020,0x00FF00, + 0x363636,0x383838,0x383838,0x3A3A3A,0x383838,0x5A5A5A,0xB2B2B2,0xADADAD, + 0xACACAC,0xACACAC,0xABABAB,0xABABAB,0xABABAB,0xABABAB,0xABABAB,0xAAAAAA, + 0xAAAAAA,0xADADAD,0xA9A9A9,0x838383,0x777777,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x737373,0x979797,0xB1B1B1, + 0xA7A7A7,0x242424,0x272727,0x3A3A3A,0x373737,0x373737,0x363636,0x3A3A3A, + 0xA0A0A0,0xA9A9A9,0xA8A8A8,0xA7A7A7,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7, + 0xA7A7A7,0xA7A7A7,0xB2B2B2,0x3A3A3A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x151515,0x3C3C3C,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x373737,0x333333,0x838383,0xA8A8A8,0xA3A3A3,0xA2A2A2,0xA3A3A3,0xA2A2A2, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA6A6A6,0x999999,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323,0x3D3D3D,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x393939,0x919191,0xA5A5A5, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA2A2A2,0xA6A6A6,0x3A3A3A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x474747,0xD3D3D3,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xBCBCBC, + 0x2B2B2B,0x262626,0x282828,0x282828,0x282828,0x282828,0x282828,0x282828, + 0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x5A5A5A,0x383838,0x252525,0x282828,0x282828,0x282828,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x3E3E3E,0xD3D3D3,0xC9C9C9,0xC9C9C9,0xC9C9C9, + 0xC9C9C9,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC9C9C9,0xC9C9C9,0xC8C8C8,0xC9C9C9, + 0xCCCCCC,0x949494,0x626262,0x808080,0xC0C0C0,0xD2D2D2,0xD2D2D2,0xC6C6C6, + 0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC8C8C8,0xC7C7C7, + 0xC7C7C7,0xD2D2D2,0x6A6A6A,0x1F1F1F,0x252525,0x252525,0x252525,0x252525, + 0x313131,0xC3C3C3,0xC8C8C8,0xC7C7C7,0xC9C9C9,0xBABABA,0x00FF00,0x191919, + 0x4F4F4F,0x4D4D4D,0x4E4E4E,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F, + 0x4A4A4A,0x5E5E5E,0xC3C3C3,0xC6C6C6,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC7C7C7, + 0xC5C5C5,0x3B3B3B,0x262626,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x414141,0xD2D2D2,0xC3C3C3,0xC4C4C4,0xC4C4C4,0xC3C3C3,0xC3C3C3,0xC3C3C3, + 0xC3C3C3,0xC3C3C3,0xCCCCCC,0x747474,0x202020,0x282828,0x2E2E2E,0x00FF00, + 0x00FF00,0x474747,0xC3C3C3,0x7B7B7B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0xAEAEAE,0xC5C5C5,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC1C1C1, + 0xC0C0C0,0xC2C2C2,0xC4C4C4,0x4D4D4D,0x232323,0x232323,0x00FF00,0x00FF00, + 0x00FF00,0x676767,0xBEBEBE,0x5B5B5B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0xB6B6B6,0xC1C1C1,0xBFBFBF,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE, + 0xBDBDBD,0xBDBDBD,0xC3C3C3,0x898989,0x252525,0x262626,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x424242,0xC8C8C8,0xBBBBBB, + 0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, + 0xB9B9B9,0xBEBEBE,0xB3B3B3,0x6A6A6A,0x636363,0x6B6B6B,0x7F7F7F,0xBCBCBC, + 0xBFBFBF,0xBABABA,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB7B7B7,0xB8B8B8,0xC4C4C4,0x454545,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x393939,0x3E3E3E,0x3E3E3E,0x7A7A7A,0xBCBCBC,0xB5B5B5, + 0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB5B5B5,0xB4B4B4, + 0xB4B4B4,0xB4B4B4,0xBABABA,0xB3B3B3,0x252525,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x434343,0xAEAEAE,0xB9B9B9,0xB9B9B9, + 0x4E4E4E,0x00FF00,0x00FF00,0x00FF00,0x252525,0x3A3A3A,0x3B3B3B,0xA9A9A9, + 0xB3B3B3,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0, + 0xB2B2B2,0xA9A9A9,0x4E4E4E,0x454545,0x464646,0x464646,0x464646,0x464646, + 0x464646,0x444444,0x494949,0x909090,0xB3B3B3,0xAEAEAE,0xAEAEAE,0xAEAEAE, + 0xAEAEAE,0xAEAEAE,0xADADAD,0xADADAD,0xADADAD,0xADADAD,0xB4B4B4,0x9E9E9E, + 0x00FF00,0x343434,0x393939,0x383838,0x3A3A3A,0x3D3D3D,0x424242,0x6F6F6F, + 0xAFAFAF,0xACACAC,0xACACAC,0xACACAC,0xACACAC,0xABABAB,0xABABAB,0xABABAB, + 0xABABAB,0xAAAAAA,0xAAAAAA,0xACACAC,0xAAAAAA,0x949494,0x797979,0x6B6B6B, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6D6D6D,0x6C6C6C,0x737373,0x8C8C8C,0xADADAD, + 0xADADAD,0x8F8F8F,0x00FF00,0x1F1F1F,0x3B3B3B,0x373737,0x373737,0x373737, + 0x353535,0x808080,0xADADAD,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7, + 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xB5B5B5,0x383838,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x363636,0x383838,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x313131,0x626262,0xA9A9A9,0xA2A2A2,0xA2A2A2,0xA3A3A3, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA8A8A8, + 0x626262,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3B3B3B,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x313131,0x696969, + 0xA8A8A8,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA7A7A7,0x8E8E8E,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0xB3B3B3,0xCACACA,0xC7C7C7,0xC7C7C7,0xC6C6C6, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCECECE, + 0x717171,0x212121,0x282828,0x282828,0x282828,0x282828,0x282828,0x282828, + 0x2D2D2D,0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x585858,0x3A3A3A,0x252525,0x282828,0x2E2E2E,0x161616, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x7F7F7F,0xD1D1D1,0xC9C9C9,0xC9C9C9, + 0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC8C8C8,0xC8C8C8, + 0xC8C8C8,0xC9C9C9,0xCECECE,0xD2D2D2,0xD0D0D0,0xCDCDCD,0xC9C9C9,0x8F8F8F, + 0xB5B5B5,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xCECECE,0x898989,0x212121,0x292929,0x878787,0x898989, + 0x252525,0x171717,0xB7B7B7,0xC9C9C9,0xC7C7C7,0xC7C7C7,0xCBCBCB,0x717171, + 0x1D1D1D,0x4A4A4A,0x4D4D4D,0x4E4E4E,0x4F4F4F,0x4F4F4F,0x4F4F4F,0x4F4F4F, + 0x4F4F4F,0x4C4C4C,0xA8A8A8,0xC8C8C8,0xC5C5C5,0xC6C6C6,0xC5C5C5,0xC5C5C5, + 0xCDCDCD,0x969696,0x262626,0x2A2A2A,0x2A2A2A,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x767676,0xCDCDCD,0xC4C4C4,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3, + 0xC3C3C3,0xC3C3C3,0xC2C2C2,0xCACACA,0x818181,0x1F1F1F,0x242424,0x232323, + 0x00FF00,0x666666,0xB1B1B1,0xAEAEAE,0x3A3A3A,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x707070,0xCBCBCB,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1, + 0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC7C7C7,0x999999,0x242424,0x191919,0x00FF00, + 0x00FF00,0xA5A5A5,0xCBCBCB,0xB6B6B6,0x333333,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0xADADAD,0xC2C2C2,0xBFBFBF,0xBEBEBE,0xBEBEBE,0xBFBFBF,0xBEBEBE, + 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC5C5C5,0x7B7B7B,0x272727,0x1A1A1A,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x424242,0xC8C8C8, + 0xBABABA,0xBBBBBB,0xBBBBBB,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, + 0xBABABA,0xBABABA,0xB9B9B9,0xBBBBBB,0xC2C2C2,0xC1C1C1,0xC2C2C2,0xC0C0C0, + 0xBBBBBB,0xB5B5B5,0xA6A6A6,0xBABABA,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xBBBBBB,0xA2A2A2,0x00FF00,0x00FF00, + 0x424242,0xA0A0A0,0x2C2C2C,0x323232,0x3F3F3F,0x404040,0x4C4C4C,0xB2B2B2, + 0xB9B9B9,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4, + 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB8B8B8,0xB3B3B3,0x9F9F9F,0x474747, + 0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3F3F3F,0x707070,0xC3C3C3,0xB5B5B5,0xB6B6B6, + 0x959595,0x323232,0x00FF00,0x00FF00,0x00FF00,0x222222,0x383838,0x4A4A4A, + 0xAFAFAF,0xB3B3B3,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF, + 0xAFAFAF,0xB2B2B2,0xACACAC,0x535353,0x444444,0x464646,0x464646,0x464646, + 0x464646,0x464646,0x464646,0x424242,0x4F4F4F,0xA1A1A1,0xB2B2B2,0xAEAEAE, + 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD,0xADADAD,0xADADAD,0xADADAD, + 0xAEAEAE,0x9A9A9A,0x3D3D3D,0x353535,0x383838,0x3A3A3A,0x3E3E3E,0x404040, + 0x3F3F3F,0x909090,0xB2B2B2,0xACACAC,0xACACAC,0xABABAB,0xACACAC,0xACACAC, + 0xABABAB,0xABABAB,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xABABAB,0xAEAEAE,0x9C9C9C, + 0x838383,0x787878,0x787878,0x787878,0x777777,0x787878,0x8D8D8D,0xA8A8A8, + 0xA9A9A9,0xB0B0B0,0x6B6B6B,0x00FF00,0x151515,0x3C3C3C,0x373737,0x373737, + 0x373737,0x313131,0x686868,0xAFAFAF,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7, + 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xADADAD,0x737373,0x1A1A1A,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2B2B2B,0x3A3A3A,0x373737,0x373737, + 0x373737,0x373737,0x373737,0x343434,0x464646,0xA1A1A1,0xA4A4A4,0xA3A3A3, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xB5B5B5,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232, + 0x393939,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x343434, + 0x484848,0xA2A2A2,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA2A2A2,0xA1A1A1,0x202020,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x767676,0xCDCDCD,0xC6C6C6,0xC7C7C7,0xC7C7C7, + 0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xCDCDCD,0x565656,0x202020,0x282828,0x282828,0x282828,0x282828,0x282828, + 0x282828,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x585858,0x3C3C3C,0x252525,0x282828,0x2B2B2B, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xC4C4C4,0xCBCBCB,0xC9C9C9, + 0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9, + 0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xCDCDCD,0xC7C7C7,0x626262, + 0x414141,0xC3C3C3,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC8C8C8, + 0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC8C8C8,0xC4C4C4,0xB6B6B6,0xB8B8B8,0xCECECE, + 0x5D5D5D,0x1D1D1D,0x242424,0xC6C6C6,0xC9C9C9,0xC7C7C7,0xC6C6C6,0xC6C6C6, + 0xD1D1D1,0x8E8E8E,0x444444,0x4D4D4D,0x4E4E4E,0x4F4F4F,0x4F4F4F,0x4F4F4F, + 0x4F4F4F,0x4D4D4D,0x747474,0xC7C7C7,0xC7C7C7,0xC5C5C5,0xC5C5C5,0xC5C5C5, + 0xCBCBCB,0xAAAAAA,0x343434,0x282828,0x2B2B2B,0x282828,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x3C3C3C,0xC6C6C6,0xC5C5C5,0xC3C3C3,0xC4C4C4,0xC3C3C3, + 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC3C3C3,0xC7C7C7,0x6F6F6F,0x333333, + 0x424242,0x848484,0xCDCDCD,0xAFAFAF,0x5A5A5A,0x2F2F2F,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x686868,0xC8C8C8,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1, + 0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC1C1C1,0xBFBFBF,0x535353,0x1D1D1D, + 0x434343,0xABABAB,0xC3C3C3,0xC5C5C5,0x626262,0x2A2A2A,0x00FF00,0x00FF00, + 0x00FF00,0x1E1E1E,0xBFBFBF,0xC0C0C0,0xBEBEBE,0xBFBFBF,0xBEBEBE,0xBFBFBF, + 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC7C7C7,0x6B6B6B,0x242424,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x191919, + 0xB1B1B1,0xBEBEBE,0xBBBBBB,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, + 0xBABABA,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9, + 0xBBBBBB,0xBBBBBB,0x575757,0x797979,0xBFBFBF,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7,0xB7B7B7,0xB7B7B7,0x999999, + 0x737373,0xB7B7B7,0xA9A9A9,0x353535,0x2F2F2F,0x3F3F3F,0x414141,0x444444, + 0x686868,0xB6B6B6,0xB8B8B8,0xB5B5B5,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4, + 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB3B3B3,0xB4B4B4,0xB8B8B8, + 0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC1C1C1,0xBBBBBB,0xB2B2B2,0xB4B4B4, + 0xB2B2B2,0x434343,0x303030,0x00FF00,0x00FF00,0x00FF00,0x1E1E1E,0x343434, + 0x6B6B6B,0xBABABA,0xB0B0B0,0xB1B1B1,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF, + 0xB0B0B0,0xAFAFAF,0xB1B1B1,0xAFAFAF,0x595959,0x414141,0x464646,0x464646, + 0x464646,0x464646,0x464646,0x464646,0x464646,0x414141,0x636363,0xB4B4B4, + 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD,0xADADAD,0xADADAD, + 0xADADAD,0xAEAEAE,0xB2B2B2,0x616161,0x323232,0x383838,0x3A3A3A,0x3E3E3E, + 0x414141,0x414141,0x505050,0xA5A5A5,0xAFAFAF,0xACACAC,0xABABAB,0xACACAC, + 0xABABAB,0xAAAAAA,0xABABAB,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xA9A9A9,0xA9A9A9, + 0xADADAD,0xAAAAAA,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xACACAC, + 0xAAAAAA,0xA9A9A9,0xACACAC,0x464646,0x00FF00,0x00FF00,0x393939,0x383838, + 0x373737,0x373737,0x323232,0x525252,0xAAAAAA,0xA8A8A8,0xA8A8A8,0xA7A7A7, + 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA6A6A6,0xBBBBBB,0x474747, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0x3D3D3D,0x373737, + 0x373737,0x373737,0x373737,0x373737,0x373737,0x373737,0x898989,0xA7A7A7, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xA2A2A2,0xACACAC,0x696969,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x202020,0x3E3E3E,0x373737,0x373737,0x373737,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x8A8A8A,0xA5A5A5,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA5A5A5,0xA2A2A2, + 0x191919,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x232323,0x858585,0xCFCFCF,0xC6C6C6,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xD1D1D1,0x777777,0x1D1D1D,0x282828,0x282828,0x282828,0x282828, + 0x282828,0x2E2E2E,0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x575757,0x3D3D3D,0x252525,0x292929, + 0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x212121,0xCBCBCB,0xC9C9C9, + 0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC9C9C9,0xC8C8C8,0xC8C8C8, + 0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xCBCBCB,0xD1D1D1,0xACACAC,0x4E4E4E, + 0x303030,0x727272,0xCECECE,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC8C8C8, + 0xC8C8C8,0xC7C7C7,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xCECECE,0xCFCFCF, + 0x696969,0x2F2F2F,0x00FF00,0x464646,0xD7D7D7,0xC7C7C7,0xC7C7C7,0xC6C6C6, + 0xC6C6C6,0xC7C7C7,0xC9C9C9,0x5A5A5A,0x444444,0x4D4D4D,0x4F4F4F,0x4F4F4F, + 0x4E4E4E,0x4D4D4D,0x5C5C5C,0xC2C2C2,0xC7C7C7,0xC5C5C5,0xC5C5C5,0xC5C5C5, + 0xCDCDCD,0xB4B4B4,0x383838,0x2B2B2B,0x2B2B2B,0x2A2A2A,0x2B2B2B,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x161616,0xC1C1C1,0xC6C6C6,0xC3C3C3,0xC4C4C4, + 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC3C3C3,0xC2C2C2,0xC3C3C3,0xC9C9C9, + 0xB4B4B4,0xC3C3C3,0xCBCBCB,0xCDCDCD,0x7A7A7A,0x282828,0x333333,0x161616, + 0x00FF00,0x00FF00,0x00FF00,0x313131,0xC2C2C2,0xC3C3C3,0xC1C1C1,0xC1C1C1, + 0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC1C1C1,0xC0C0C0, + 0xAAAAAA,0xCDCDCD,0xC5C5C5,0xCBCBCB,0x7B7B7B,0x2B2B2B,0x303030,0x00FF00, + 0x00FF00,0x00FF00,0x797979,0xC8C8C8,0xBEBEBE,0xBEBEBE,0xBEBEBE,0xBEBEBE, + 0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xC6C6C6,0x797979,0x242424, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0xA0A0A0,0xC0C0C0,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBABABA, + 0xBABABA,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9,0xB9B9B9, + 0xBCBCBC,0xBBBBBB,0x5C5C5C,0x303030,0x545454,0xB8B8B8,0xB9B9B9,0xB8B8B8, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7,0xB7B7B7,0xB6B6B6, + 0xBBBBBB,0xC0C0C0,0xC2C2C2,0x5E5E5E,0x00FF00,0x343434,0x3E3E3E,0x414141, + 0x444444,0x444444,0x6A6A6A,0xBABABA,0xB5B5B5,0xB5B5B5,0xB4B4B4,0xB4B4B4, + 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB3B3B3, + 0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB2B2B2,0xB3B3B3, + 0xB9B9B9,0x717171,0x343434,0x323232,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A, + 0x363636,0x5B5B5B,0xB7B7B7,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF,0xB2B2B2,0x969696,0x454545,0x464646, + 0x464646,0x464646,0x464646,0x464646,0x464646,0x464646,0x454545,0x424242, + 0x8F8F8F,0xB2B2B2,0xAEAEAE,0xAEAEAE,0xADADAD,0xADADAD,0xADADAD,0xADADAD, + 0xADADAD,0xADADAD,0xADADAD,0xAEAEAE,0xB2B2B2,0x5A5A5A,0x303030,0x3A3A3A, + 0x3E3E3E,0x414141,0x434343,0x464646,0x525252,0x9B9B9B,0xAFAFAF,0xABABAB, + 0xABABAB,0xABABAB,0xABABAB,0xABABAB,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xAAAAAA, + 0xA9A9A9,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xABABAB,0xABABAB,0xAAAAAA,0xAAAAAA, + 0xA9A9A9,0xA9A9A9,0xAEAEAE,0x8A8A8A,0x353535,0x00FF00,0x00FF00,0x353535, + 0x393939,0x373737,0x373737,0x363636,0x3D3D3D,0xA1A1A1,0xA9A9A9,0xA8A8A8, + 0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xAAAAAA, + 0x949494,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828, + 0x3A3A3A,0x373737,0x373737,0x373737,0x373737,0x373737,0x313131,0x737373, + 0xA9A9A9,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xB2B2B2,0x3F3F3F,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x2B2B2B,0x3C3C3C,0x373737,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x313131,0x5E5E5E,0xA7A7A7,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xAAAAAA,0x747474,0x1C1C1C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x474747,0xBFBFBF,0xD1D1D1,0xC6C6C6,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC9C9C9,0xC3C3C3,0x383838,0x1E1E1E,0x242424,0x242424, + 0x242424,0x282828,0x2C2C2C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x545454,0x3E3E3E,0x242424, + 0x2E2E2E,0x191919,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x8B8B8B, + 0xD2D2D2,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC8C8C8, + 0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC9C9C9,0xD2D2D2,0xB4B4B4,0x787878,0x414141, + 0x393939,0x373737,0x6A6A6A,0xCBCBCB,0xC9C9C9,0xC8C8C8,0xC8C8C8,0xC8C8C8, + 0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCCCCCC,0xC5C5C5, + 0x616161,0x303030,0x353535,0x00FF00,0x767676,0xCECECE,0xC7C7C7,0xC6C6C6, + 0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC8C8C8,0xB8B8B8,0x7F7F7F,0x525252,0x484848, + 0x494949,0x545454,0x7B7B7B,0xC1C1C1,0xC7C7C7,0xC5C5C5,0xC5C5C5,0xC5C5C5, + 0xCBCBCB,0xB6B6B6,0x515151,0x2C2C2C,0x2E2E2E,0x2A2A2A,0x2A2A2A,0x292929, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1D1D1D,0x969696,0xC9C9C9,0xC4C4C4, + 0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC3C3C3,0xC3C3C3,0xC2C2C2, + 0xC2C2C2,0xC5C5C5,0xC7C7C7,0xC7C7C7,0x838383,0x353535,0x313131,0x323232, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x303030,0x9D9D9D,0xC9C9C9,0xC1C1C1, + 0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0, + 0xC1C1C1,0xC3C3C3,0xC0C0C0,0xC9C9C9,0x9C9C9C,0x393939,0x303030,0x2B2B2B, + 0x00FF00,0x00FF00,0x282828,0xC4C4C4,0xC0C0C0,0xBFBFBF,0xBEBEBE,0xBEBEBE, + 0xBFBFBF,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBFBFBF,0xBABABA, + 0x333333,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x666666,0xC1C1C1,0xBBBBBB,0xBABABA,0xBABABA,0xBABABA, + 0xBABABA,0xBABABA,0xBABABA,0xB9B9B9,0xBABABA,0xBABABA,0xB9B9B9,0xB9B9B9, + 0xBEBEBE,0xB3B3B3,0x5C5C5C,0x343434,0x3A3A3A,0x414141,0xB0B0B0,0xBBBBBB, + 0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB7B7B7,0xB7B7B7, + 0xB6B6B6,0xB6B6B6,0xBFBFBF,0x959595,0x373737,0x161616,0x343434,0x3E3E3E, + 0x414141,0x454545,0x464646,0x4C4C4C,0x939393,0xBDBDBD,0xB5B5B5,0xB4B4B4, + 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4, + 0xB4B4B4,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB2B2B2, + 0xBABABA,0x777777,0x343434,0x343434,0x343434,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x333333,0x616161,0xB5B5B5,0xB2B2B2,0xB2B2B2,0xB1B1B1,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB1B1B1,0xAEAEAE,0x535353, + 0x414141,0x434343,0x464646,0x464646,0x464646,0x464646,0x464646,0x464646, + 0x414141,0x454545,0xAAAAAA,0xAFAFAF,0xAEAEAE,0xADADAD,0xADADAD,0xADADAD, + 0xADADAD,0xADADAD,0xADADAD,0xADADAD,0xADADAD,0xAFAFAF,0xA7A7A7,0x545454, + 0x353535,0x3A3A3A,0x404040,0x444444,0x464646,0x414141,0x585858,0xACACAC, + 0xAFAFAF,0xABABAB,0xABABAB,0xABABAB,0xABABAB,0xAAAAAA,0xAAAAAA,0xAAAAAA, + 0xAAAAAA,0xAAAAAA,0xAAAAAA,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9, + 0xA9A9A9,0xA9A9A9,0xAAAAAA,0xB0B0B0,0x505050,0x2D2D2D,0x00FF00,0x00FF00, + 0x2B2B2B,0x3A3A3A,0x373737,0x373737,0x333333,0x3A3A3A,0xA2A2A2,0xA9A9A9, + 0xA7A7A7,0xA7A7A7,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7, + 0xA7A7A7,0xAEAEAE,0x616161,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x141414,0x3C3C3C,0x373737,0x373737,0x373737,0x373737,0x333333,0x373737, + 0x919191,0xA6A6A6,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA3A3A3,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA3A3A3,0xA4A4A4,0x616161, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3C3C3C,0x373737,0x373737,0x373737, + 0x373737,0x373737,0x353535,0x2E2E2E,0x636363,0xA8A8A8,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA0A0A0,0xAAAAAA,0x9E9E9E,0x3C3C3C,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x404040,0x474747,0x454545, + 0x4C4C4C,0xAEAEAE,0xB9B9B9,0xCECECE,0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC6C6C6, + 0xC6C6C6,0xC6C6C6,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7, + 0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xCCCCCC,0xA8A8A8,0x6E6E6E,0x3A3A3A, + 0x373737,0x393939,0x2C2C2C,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x585858,0x404040, + 0x252525,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x3F3F3F,0xD1D1D1,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC8C8C8,0xC9C9C9, + 0xC8C8C8,0xC8C8C8,0xCACACA,0xD0D0D0,0xC2C2C2,0x818181,0x474747,0x373737, + 0x3D3D3D,0x3E3E3E,0x3A3A3A,0x484848,0xC7C7C7,0xC9C9C9,0xC8C8C8,0xC8C8C8, + 0xC8C8C8,0xC8C8C8,0xC8C8C8,0xC7C7C7,0xC7C7C7,0xC8C8C8,0xCFCFCF,0xADADAD, + 0x494949,0x313131,0x353535,0x323232,0x00FF00,0xB9B9B9,0xC9C9C9,0xC8C8C8, + 0xCCCCCC,0xCACACA,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xC9C9C9,0xCBCBCB,0xAFAFAF, + 0x9A9A9A,0x9B9B9B,0xAFAFAF,0xCBCBCB,0xC8C8C8,0xC5C5C5,0xC6C6C6,0xC7C7C7, + 0xCDCDCD,0xA3A3A3,0x404040,0x2F2F2F,0x323232,0x2F2F2F,0x2B2B2B,0x2A2A2A, + 0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x151515,0x535353,0xC2C2C2, + 0xC9C9C9,0xC3C3C3,0xC3C3C3,0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC3C3C3,0xC2C2C2, + 0xC2C2C2,0xC3C3C3,0xC7C7C7,0xC4C4C4,0x676767,0x313131,0x343434,0x323232, + 0x313131,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x242424,0x565656,0xAFAFAF, + 0xC6C6C6,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC0C0C0,0xC0C0C0,0xC0C0C0,0xC0C0C0, + 0xC0C0C0,0xC0C0C0,0xC2C2C2,0xC8C8C8,0x919191,0x373737,0x323232,0x303030, + 0x323232,0x414141,0x737373,0xC4C4C4,0xC1C1C1,0xBFBFBF,0xBFBFBF,0xBFBFBF, + 0xBFBFBF,0xBFBFBF,0xBEBEBE,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD,0xBDBDBD, + 0xC1C1C1,0xA1A1A1,0x9F9F9F,0x494949,0x414141,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x3C3C3C,0xA9A9A9,0xC0C0C0,0xBABABA,0xBABABA, + 0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xB9B9B9,0xBABABA,0xBABABA,0xBDBDBD, + 0xC3C3C3,0x8E8E8E,0x3F3F3F,0x3A3A3A,0x3C3C3C,0x3B3B3B,0x383838,0x7A7A7A, + 0xC2C2C2,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB7B7B7,0xB8B8B8, + 0xB8B8B8,0xB7B7B7,0xBFBFBF,0x949494,0x383838,0x323232,0x151515,0x323232, + 0x3F3F3F,0x414141,0x454545,0x474747,0x474747,0x4D4D4D,0x8B8B8B,0xBABABA, + 0xB9B9B9,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4, + 0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB4B4B4, + 0xBBBBBB,0x898989,0x383838,0x353535,0x363636,0x2C2C2C,0x00FF00,0x00FF00, + 0x00FF00,0x3C3C3C,0x7B7B7B,0xAFAFAF,0xB3B3B3,0xB1B1B1,0xB1B1B1,0xB0B0B0, + 0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xB0B0B0,0xAFAFAF,0xAFAFAF,0xB2B2B2, + 0xA6A6A6,0x676767,0x535353,0x454545,0x454545,0x464646,0x464646,0x464646, + 0x464646,0x414141,0x6A6A6A,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xADADAD,0xAEAEAE, + 0xADADAD,0xADADAD,0xADADAD,0xADADAD,0xADADAD,0xADADAD,0xACACAC,0xB0B0B0, + 0xAEAEAE,0x5F5F5F,0x4D4D4D,0x424242,0x414141,0x464646,0x474747,0x4B4B4B, + 0x5F5F5F,0xA3A3A3,0xB2B2B2,0xACACAC,0xABABAB,0xAAAAAA,0xAAAAAA,0xAAAAAA, + 0xAAAAAA,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9, + 0xA9A9A9,0xA9A9A9,0xAAAAAA,0xB2B2B2,0x797979,0x343434,0x333333,0x00FF00, + 0x00FF00,0x212121,0x3E3E3E,0x373737,0x353535,0x3E3E3E,0x7E7E7E,0xADADAD, + 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA8A8A8,0xA7A7A7,0xA7A7A7,0xA7A7A7, + 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xAEAEAE,0x949494,0x3D3D3D,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x363636,0x353535,0x333333,0x323232,0x373737,0x464646, + 0x666666,0xA6A6A6,0xA4A4A4,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA3A3A3, + 0xA9A9A9,0x909090,0x464646,0x1E1E1E,0x00FF00,0x323232,0x343434,0x343434, + 0x333333,0x333333,0x323232,0x383838,0x5A5A5A,0x919191,0xA3A3A3,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA3A3A3,0xAEAEAE,0x646464,0x363636, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0xB7B7B7,0xC8C8C8, + 0xC5C5C5,0xD6D6D6,0xCFCFCF,0xCECECE,0xCBCBCB,0xCBCBCB,0xCBCBCB,0xCBCBCB, + 0xCBCBCB,0xCBCBCB,0xCBCBCB,0xCCCCCC,0xCCCCCC,0xCCCCCC,0xCCCCCC,0xCCCCCC, + 0xCCCCCC,0xCCCCCC,0xCCCCCC,0xCCCCCC,0xCCCCCC,0xCBCBCB,0xD2D2D2,0xBFBFBF, + 0xB3B3B3,0xB6B6B6,0xA7A7A7,0x323232,0x171717,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4A4A4A, + 0x424242,0x292929,0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x232323,0x999999,0xD2D2D2,0xCACACA,0xC9C9C9,0xC9C9C9,0xC9C9C9, + 0xC9C9C9,0xCECECE,0xCECECE,0xC0C0C0,0x8E8E8E,0x585858,0x3F3F3F,0x414141, + 0x414141,0x3F3F3F,0x3E3E3E,0x3B3B3B,0x3E3E3E,0xA3A3A3,0xCDCDCD,0xCCCCCC, + 0xC8C8C8,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xCACACA,0xCDCDCD,0xC7C7C7,0x9F9F9F, + 0x404040,0x353535,0x373737,0x363636,0x2A2A2A,0x282828,0xC5C5C5,0xCECECE, + 0xC1C1C1,0x919191,0xA8A8A8,0xC9C9C9,0xCDCDCD,0xC8C8C8,0xC7C7C7,0xC7C7C7, + 0xC9C9C9,0xCBCBCB,0xCBCBCB,0xC9C9C9,0xC6C6C6,0xC6C6C6,0xC8C8C8,0xCCCCCC, + 0xC5C5C5,0x979797,0x3C3C3C,0x343434,0x343434,0x323232,0x2F2F2F,0x2B2B2B, + 0x2A2A2A,0x2C2C2C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x151515,0x4D4D4D, + 0x6A6A6A,0xAEAEAE,0xCBCBCB,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC5C5C5,0xC4C4C4, + 0xC3C3C3,0xC7C7C7,0xC6C6C6,0xBABABA,0x5C5C5C,0x343434,0x393939,0x353535, + 0x323232,0x333333,0x171717,0x00FF00,0x00FF00,0x00FF00,0x232323,0x494949, + 0x5B5B5B,0xB9B9B9,0xC8C8C8,0xC2C2C2,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1, + 0xC1C1C1,0xC4C4C4,0xC7C7C7,0xBCBCBC,0x767676,0x373737,0x373737,0x353535, + 0x2B2B2B,0x484848,0xBEBEBE,0xCBCBCB,0xC5C5C5,0xC3C3C3,0xC3C3C3,0xC3C3C3, + 0xC3C3C3,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2,0xC2C2C2, + 0xC2C2C2,0xC2C2C2,0xC6C6C6,0xC6C6C6,0xD2D2D2,0x858585,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x393939,0x585858,0xA9A9A9,0xBEBEBE, + 0xBCBCBC,0xBBBBBB,0xBABABA,0xBABABA,0xBABABA,0xBABABA,0xBEBEBE,0xBDBDBD, + 0xA2A2A2,0x707070,0x3F3F3F,0x3D3D3D,0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3B3B3B, + 0x454545,0x949494,0xC1C1C1,0xBABABA,0xB9B9B9,0xB8B8B8,0xB8B8B8,0xB8B8B8, + 0xB8B8B8,0xB9B9B9,0xC1C1C1,0x919191,0x3A3A3A,0x343434,0x353535,0x151515, + 0x313131,0x404040,0x414141,0x454545,0x464646,0x494949,0x4B4B4B,0x4F4F4F, + 0x717171,0xA2A2A2,0xBBBBBB,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB4B4B4, + 0xB4B4B4,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB3B3B3,0xB4B4B4,0xB9B9B9, + 0xB6B6B6,0x8A8A8A,0x3C3C3C,0x393939,0x373737,0x363636,0x2A2A2A,0x00FF00, + 0x00FF00,0x404040,0xC1C1C1,0xB8B8B8,0xB3B3B3,0xB2B2B2,0xB2B2B2,0xB2B2B2, + 0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB1B1B1,0xB1B1B1,0xB1B1B1,0xB0B0B0, + 0xAFAFAF,0xB3B3B3,0xB3B3B3,0xACACAC,0x828282,0x4F4F4F,0x454545,0x464646, + 0x454545,0x444444,0x808080,0xAFAFAF,0xB0B0B0,0xAEAEAE,0xAFAFAF,0xAEAEAE, + 0xAEAEAE,0xADADAD,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD, + 0xADADAD,0xAFAFAF,0xAFAFAF,0xACACAC,0x909090,0x5A5A5A,0x414141,0x474747, + 0x4A4A4A,0x4A4A4A,0x575757,0x7E7E7E,0xA9A9A9,0xAFAFAF,0xACACAC,0xABABAB, + 0xAAAAAA,0xAAAAAA,0xAAAAAA,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xAAAAAA,0xA9A9A9, + 0xA9A9A9,0xA9A9A9,0xACACAC,0xAEAEAE,0x888888,0x393939,0x363636,0x2F2F2F, + 0x00FF00,0x00FF00,0x00FF00,0x323232,0x353535,0x5D5D5D,0x9F9F9F,0xACACAC, + 0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA8A8A8,0xA7A7A7,0xA7A7A7, + 0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xA7A7A7,0xABABAB,0xB1B1B1,0x9B9B9B, + 0xA7A7A7,0x343434,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x282828,0x595959,0x7C7C7C,0x787878,0x797979, + 0xA0A0A0,0xA5A5A5,0xA5A5A5,0xA3A3A3,0xA3A3A3,0xA3A3A3,0xA2A2A2,0xA3A3A3, + 0xA3A3A3,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA2A2A2, + 0xA2A2A2,0xA2A2A2,0xA7A7A7,0xB2B2B2,0xA3A3A3,0x919191,0x767676,0x797979, + 0x5D5D5D,0x6E6E6E,0x777777,0x717171,0x808080,0xA5A5A5,0xA5A5A5,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xAAAAAA, + 0xACACAC,0x959595,0x949494,0x949494,0xA0A0A0,0x3B3B3B,0x282828,0x878787, + 0x878787,0x858585,0x969696,0x969696,0x969696,0x969696,0x969696,0x979797, + 0x969696,0x969696,0x969696,0x979797,0x969696,0x969696,0x969696,0x979797, + 0x979797,0x979797,0x979797,0x979797,0x989898,0x979797,0x989898,0x979797, + 0x878787,0x898989,0x8F8F8F,0x5E5E5E,0x282828,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x414141,0x474747,0x262626,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x282828,0x545454,0x909090,0xC1C1C1,0xC5C5C5,0xC5C5C5, + 0xC5C5C5,0xC2C2C2,0x9C9C9C,0x909090,0x5C5C5C,0x4C4C4C,0x454545,0x454545, + 0x424242,0x414141,0x3F3F3F,0x3E3E3E,0x3B3B3B,0x3D3D3D,0x4E4E4E,0x797979, + 0xB4B4B4,0xC5C5C5,0xC3C3C3,0xC4C4C4,0xC6C6C6,0xAEAEAE,0x909090,0x5D5D5D, + 0x434343,0x3C3C3C,0x3A3A3A,0x373737,0x353535,0x272727,0x717171,0xC5C5C5, + 0x969696,0x505050,0x5E5E5E,0x555555,0x767676,0x989898,0xBDBDBD,0xC7C7C7, + 0xCCCCCC,0xCBCBCB,0xC7C7C7,0xC7C7C7,0xC9C9C9,0xC9C9C9,0xCACACA,0xBFBFBF, + 0x8A8A8A,0x545454,0x404040,0x3A3A3A,0x393939,0x343434,0x323232,0x2E2E2E, + 0x2B2B2B,0x2A2A2A,0x292929,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x212121, + 0x4F4F4F,0x474747,0x525252,0x959595,0xBFBFBF,0xBFBFBF,0xBFBFBF,0xC0C0C0, + 0xBFBFBF,0xC1C1C1,0xACACAC,0x727272,0x484848,0x3C3C3C,0x3B3B3B,0x383838, + 0x353535,0x323232,0x333333,0x141414,0x00FF00,0x00FF00,0x00FF00,0x2C2C2C, + 0x4E4E4E,0x4F4F4F,0x565656,0x898989,0xBABABA,0xBCBCBC,0xBCBCBC,0xBCBCBC, + 0xBCBCBC,0xBFBFBF,0xA5A5A5,0x818181,0x4F4F4F,0x3C3C3C,0x3A3A3A,0x393939, + 0x353535,0x2C2C2C,0x474747,0x8D8D8D,0x9A9A9A,0x9A9A9A,0x9A9A9A,0x9A9A9A, + 0x9A9A9A,0x9A9A9A,0x999999,0x9A9A9A,0x999999,0x999999,0x999999,0x999999, + 0x999999,0x999999,0x999999,0x999999,0x999999,0xA2A2A2,0x535353,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x404040,0x494949,0x4F4F4F, + 0x7F7F7F,0xB8B8B8,0xB6B6B6,0xBDBDBD,0xBFBFBF,0xBABABA,0xB8B8B8,0xA1A1A1, + 0x696969,0x474747,0x3C3C3C,0x404040,0x3F3F3F,0x3D3D3D,0x3B3B3B,0x3B3B3B, + 0x3C3C3C,0x444444,0x4F4F4F,0x828282,0xB0B0B0,0xB5B5B5,0xBBBBBB,0xBBBBBB, + 0xBBBBBB,0xB4B4B4,0xAFAFAF,0x797979,0x414141,0x393939,0x373737,0x363636, + 0x151515,0x313131,0x404040,0x414141,0x444444,0x464646,0x494949,0x4C4C4C, + 0x4E4E4E,0x4A4A4A,0x5A5A5A,0x898989,0xAEAEAE,0xB9B9B9,0xB9B9B9,0xB6B6B6, + 0xB4B4B4,0xB5B5B5,0xB4B4B4,0xB4B4B4,0xB4B4B4,0xB6B6B6,0xB9B9B9,0xB2B2B2, + 0x8E8E8E,0x5B5B5B,0x404040,0x3C3C3C,0x3A3A3A,0x373737,0x343434,0x2E2E2E, + 0x00FF00,0x00FF00,0x4C4C4C,0xBABABA,0xAFAFAF,0xAEAEAE,0xAEAEAE,0xAEAEAE, + 0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xADADAD,0xADADAD, + 0xADADAD,0xADADAD,0xADADAD,0xADADAD,0xAFAFAF,0xAFAFAF,0x575757,0x434343, + 0x464646,0x464646,0x404040,0xA7A7A7,0xAFAFAF,0xACACAC,0xACACAC,0xACACAC, + 0xACACAC,0xACACAC,0xABABAB,0xABABAB,0xABABAB,0xABABAB,0xAAAAAA,0xAAAAAA, + 0xAAAAAA,0xAAAAAA,0xAAAAAA,0xABABAB,0xABABAB,0xB4B4B4,0x767676,0x404040, + 0x484848,0x4A4A4A,0x4C4C4C,0x4C4C4C,0x4D4D4D,0x656565,0x8D8D8D,0xA8A8A8, + 0xAEAEAE,0xADADAD,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xAAAAAA,0xAAAAAA, + 0xA9A9A9,0xACACAC,0xAFAFAF,0xA8A8A8,0x646464,0x3B3B3B,0x393939,0x373737, + 0x313131,0x00FF00,0x00FF00,0x00FF00,0x222222,0x353535,0x6B6B6B,0xB0B0B0, + 0xA7A7A7,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xA6A6A6,0xA5A5A5, + 0xA5A5A5,0xA5A5A5,0xA5A5A5,0xA5A5A5,0xA5A5A5,0xA5A5A5,0xA5A5A5,0xA5A5A5, + 0xA8A8A8,0xB0B0B0,0x626262,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x161616,0x626262,0xAEAEAE,0xA8A8A8, + 0xA7A7A7,0xA3A3A3,0xA2A2A2,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1,0xA1A1A1, + 0xA1A1A1,0xA0A0A0,0xA1A1A1,0xA0A0A0,0xA0A0A0,0xA2A2A2,0xA4A4A4,0xA6A6A6, + 0xA7A7A7,0x9A9A9A,0x979797,0xA6A6A6,0xA5A5A5,0xA3A3A3,0xA0A0A0,0xA0A0A0, + 0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0, + 0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0,0xA0A0A0, + 0xA0A0A0,0xA0A0A0,0xA2A2A2,0xA2A2A2,0xA2A2A2,0xA7A7A7,0x8D8D8D,0x00FF00, + 0x4E4E4E,0x5C5C5C,0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A, + 0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A,0x5A5A5A, + 0x5A5A5A,0x5B5B5B,0x5B5B5B,0x5B5B5B,0x5B5B5B,0x5B5B5B,0x5B5B5B,0x5B5B5B, + 0x5B5B5B,0x5B5B5B,0x5B5B5B,0x616161,0x434343,0x181818,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x414141,0x4F4F4F,0x1C1C1C,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x232323,0x525252,0x525252,0x606060,0x696969, + 0x727272,0x7A7A7A,0x777777,0x636363,0x545454,0x515151,0x4F4F4F,0x484848, + 0x454545,0x434343,0x404040,0x3F3F3F,0x3E3E3E,0x3C3C3C,0x3D3D3D,0x4C4C4C, + 0x4E4E4E,0x5D5D5D,0x6B6B6B,0x767676,0x7D7D7D,0x7F7F7F,0x6C6C6C,0x505050, + 0x484848,0x434343,0x3E3E3E,0x3A3A3A,0x363636,0x353535,0x2D2D2D,0x626262, + 0x747474,0x2C2C2C,0x3F3F3F,0x606060,0x545454,0x4F4F4F,0x535353,0x5C5C5C, + 0x7B7B7B,0x9A9A9A,0x9A9A9A,0xC1C1C1,0xC1C1C1,0xA2A2A2,0xA1A1A1,0x979797, + 0x616161,0x4A4A4A,0x444444,0x414141,0x3C3C3C,0x393939,0x353535,0x323232, + 0x2F2F2F,0x2B2B2B,0x2A2A2A,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x1A1A1A,0x4B4B4B,0x4F4F4F,0x4F4F4F,0x535353,0x626262,0x696969,0x727272, + 0x7A7A7A,0x7A7A7A,0x767676,0x626262,0x4A4A4A,0x444444,0x3F3F3F,0x3B3B3B, + 0x393939,0x353535,0x333333,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x323232,0x4C4C4C,0x4E4E4E,0x4F4F4F,0x525252,0x616161,0x686868,0x747474, + 0x7B7B7B,0x7B7B7B,0x787878,0x626262,0x494949,0x424242,0x3F3F3F,0x3B3B3B, + 0x393939,0x353535,0x2E2E2E,0x444444,0x696969,0x656565,0x656565,0x656565, + 0x656565,0x656565,0x656565,0x656565,0x656565,0x656565,0x656565,0x656565, + 0x656565,0x656565,0x656565,0x656565,0x656565,0x656565,0x6A6A6A,0x4A4A4A, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x414141,0x4B4B4B, + 0x4E4E4E,0x535353,0x606060,0x6E6E6E,0x9A9A9A,0xA2A2A2,0x838383,0x666666, + 0x565656,0x454545,0x464646,0x434343,0x414141,0x3F3F3F,0x3D3D3D,0x3B3B3B, + 0x3B3B3B,0x3D3D3D,0x464646,0x4D4D4D,0x505050,0x5D5D5D,0x707070,0x9A9A9A, + 0x9F9F9F,0x999999,0x6B6B6B,0x585858,0x424242,0x3F3F3F,0x3B3B3B,0x373737, + 0x343434,0x131313,0x313131,0x3F3F3F,0x414141,0x444444,0x464646,0x494949, + 0x4C4C4C,0x4E4E4E,0x4F4F4F,0x4F4F4F,0x555555,0x616161,0x8A8A8A,0x919191, + 0xA9A9A9,0xB4B4B4,0xB3B3B3,0xB2B2B2,0xB2B2B2,0xB4B4B4,0xA3A3A3,0x8A8A8A, + 0x616161,0x484848,0x404040,0x404040,0x3D3D3D,0x3A3A3A,0x373737,0x343434, + 0x313131,0x00FF00,0x00FF00,0x343434,0x888888,0x7F7F7F,0x7F7F7F,0x7F7F7F, + 0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F, + 0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x828282,0x717171,0x4C4C4C, + 0x454545,0x464646,0x464646,0x414141,0x6F6F6F,0x838383,0x7F7F7F,0x7F7F7F, + 0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F, + 0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x535353, + 0x444444,0x474747,0x494949,0x4C4C4C,0x4F4F4F,0x505050,0x4E4E4E,0x565656, + 0x656565,0x888888,0x9B9B9B,0xACACAC,0xA9A9A9,0xA9A9A9,0xA9A9A9,0xA9A9A9, + 0xA8A8A8,0xAAAAAA,0x9A9A9A,0x7C7C7C,0x535353,0x414141,0x3E3E3E,0x3A3A3A, + 0x373737,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00,0x181818,0x3A3A3A,0x545454, + 0x858585,0x808080,0x808080,0x808080,0x808080,0x808080,0x808080,0x808080, + 0x808080,0x808080,0x808080,0x808080,0x808080,0x808080,0x808080,0x808080, + 0x808080,0x808080,0x898989,0x505050,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3C3C3C,0x797979, + 0x848484,0x838383,0x838383,0x838383,0x838383,0x838383,0x838383,0x838383, + 0x838383,0x818181,0x818181,0x818181,0x818181,0x818181,0x838383,0x838383, + 0x818181,0x818181,0x818181,0x818181,0x7F7F7F,0x7F7F7F,0x7F7F7F,0x808080, + 0x7F7F7F,0x7F7F7F,0x808080,0x686868,0x7D7D7D,0x7E7E7E,0x7E7E7E,0x7D7D7D, + 0x7E7E7E,0x7E7E7E,0x7E7E7E,0x7E7E7E,0x7E7E7E,0x7E7E7E,0x7E7E7E,0x7E7E7E, + 0x7E7E7E,0x7E7E7E,0x7D7D7D,0x7D7D7D,0x7D7D7D,0x7D7D7D,0x7D7D7D,0x7D7D7D, + 0x7D7D7D,0x7D7D7D,0x7D7D7D,0x7D7D7D,0x7D7D7D,0x7D7D7D,0x808080,0x686868, + 0x00FF00,0x505050,0x636363,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161, + 0x616161,0x616161,0x616161,0x616161,0x656565,0x515151,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x3F3F3F,0x515151,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x222222,0x525252,0x525252,0x525252, + 0x585858,0x626262,0x676767,0x666666,0x626262,0x5A5A5A,0x525252,0x4F4F4F, + 0x484848,0x454545,0x424242,0x414141,0x3F3F3F,0x3E3E3E,0x3C3C3C,0x3C3C3C, + 0x4B4B4B,0x525252,0x525252,0x565656,0x5E5E5E,0x666666,0x686868,0x616161, + 0x575757,0x4B4B4B,0x434343,0x3E3E3E,0x3A3A3A,0x363636,0x353535,0x2C2C2C, + 0x484848,0x515151,0x2E2E2E,0x454545,0x616161,0x555555,0x535353,0x535353, + 0x525252,0x515151,0x515151,0x5C5C5C,0x767676,0x7B7B7B,0x707070,0x616161, + 0x595959,0x535353,0x4C4C4C,0x464646,0x414141,0x3C3C3C,0x393939,0x353535, + 0x323232,0x2F2F2F,0x2B2B2B,0x2A2A2A,0x2B2B2B,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x141414,0x4A4A4A,0x4F4F4F,0x515151,0x525252,0x535353,0x595959, + 0x626262,0x686868,0x686868,0x646464,0x5A5A5A,0x4F4F4F,0x444444,0x3F3F3F, + 0x3A3A3A,0x393939,0x353535,0x323232,0x323232,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x1E1E1E,0x4D4D4D,0x4E4E4E,0x505050,0x525252,0x545454,0x595959, + 0x646464,0x696969,0x696969,0x646464,0x5B5B5B,0x4F4F4F,0x434343,0x3F3F3F, + 0x3A3A3A,0x393939,0x353535,0x2D2D2D,0x4E4E4E,0x6E6E6E,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x6E6E6E, + 0x535353,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x424242, + 0x4C4C4C,0x4F4F4F,0x515151,0x545454,0x5D5D5D,0x656565,0x686868,0x646464, + 0x5A5A5A,0x515151,0x4A4A4A,0x464646,0x434343,0x414141,0x3F3F3F,0x3D3D3D, + 0x3B3B3B,0x3B3B3B,0x3D3D3D,0x464646,0x4E4E4E,0x515151,0x545454,0x5B5B5B, + 0x636363,0x686868,0x666666,0x5C5C5C,0x4E4E4E,0x454545,0x404040,0x3B3B3B, + 0x373737,0x363636,0x161616,0x323232,0x3F3F3F,0x424242,0x454545,0x464646, + 0x494949,0x4C4C4C,0x4D4D4D,0x4F4F4F,0x515151,0x535353,0x535353,0x535353, + 0x575757,0x707070,0x7E7E7E,0x848484,0x848484,0x838383,0x7B7B7B,0x696969, + 0x4E4E4E,0x484848,0x464646,0x434343,0x404040,0x3D3D3D,0x3A3A3A,0x373737, + 0x343434,0x323232,0x00FF00,0x00FF00,0x333333,0x727272,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6E6E6E,0x626262, + 0x444444,0x464646,0x464646,0x444444,0x4B4B4B,0x696969,0x6C6C6C,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6E6E6E, + 0x4D4D4D,0x434343,0x484848,0x4A4A4A,0x4D4D4D,0x4F4F4F,0x4F4F4F,0x515151, + 0x535353,0x555555,0x565656,0x696969,0x7B7B7B,0x808080,0x838383,0x848484, + 0x828282,0x797979,0x6F6F6F,0x5C5C5C,0x454545,0x434343,0x414141,0x3E3E3E, + 0x3A3A3A,0x373737,0x292929,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636, + 0x535353,0x707070,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x747474,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x303030, + 0x676767,0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x6A6A6A,0x676767,0x575757,0x6A6A6A,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x686868,0x686868,0x686868,0x686868,0x686868, + 0x686868,0x686868,0x686868,0x686868,0x686868,0x686868,0x686868,0x6E6E6E, + 0x4F4F4F,0x00FF00,0x545454,0x626262,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x616161,0x616161,0x616161,0x616161, + 0x616161,0x616161,0x616161,0x616161,0x616161,0x656565,0x505050,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x383838,0x4F4F4F,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x202020,0x525252,0x525252, + 0x545454,0x5A5A5A,0x626262,0x686868,0x676767,0x626262,0x595959,0x525252, + 0x4F4F4F,0x494949,0x444444,0x424242,0x404040,0x3F3F3F,0x3E3E3E,0x3C3C3C, + 0x3C3C3C,0x4B4B4B,0x525252,0x535353,0x585858,0x626262,0x676767,0x696969, + 0x626262,0x565656,0x4B4B4B,0x434343,0x3E3E3E,0x3A3A3A,0x373737,0x343434, + 0x2E2E2E,0x404040,0x5A5A5A,0x2F2F2F,0x404040,0x5D5D5D,0x555555,0x535353, + 0x535353,0x535353,0x555555,0x565656,0x5A5A5A,0x616161,0x666666,0x6A6A6A, + 0x666666,0x5E5E5E,0x555555,0x4C4C4C,0x464646,0x414141,0x3C3C3C,0x3A3A3A, + 0x353535,0x323232,0x2F2F2F,0x2B2B2B,0x2A2A2A,0x2B2B2B,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x1F1F1F,0x4F4F4F,0x4E4E4E,0x505050,0x525252,0x555555, + 0x5A5A5A,0x636363,0x696969,0x696969,0x656565,0x5C5C5C,0x4F4F4F,0x444444, + 0x3F3F3F,0x3A3A3A,0x393939,0x353535,0x313131,0x343434,0x181818,0x00FF00, + 0x00FF00,0x00FF00,0x242424,0x4F4F4F,0x4E4E4E,0x505050,0x525252,0x555555, + 0x5A5A5A,0x666666,0x696969,0x696969,0x656565,0x5B5B5B,0x4F4F4F,0x444444, + 0x3E3E3E,0x3A3A3A,0x393939,0x343434,0x2D2D2D,0x4F4F4F,0x6C6C6C,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x6E6E6E,0x535353,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x434343,0x4C4C4C,0x4F4F4F,0x515151,0x555555,0x5E5E5E,0x686868,0x6B6B6B, + 0x666666,0x5B5B5B,0x515151,0x494949,0x474747,0x424242,0x404040,0x3F3F3F, + 0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3D3D3D,0x464646,0x4E4E4E,0x515151,0x555555, + 0x5D5D5D,0x666666,0x6B6B6B,0x696969,0x5D5D5D,0x4F4F4F,0x454545,0x404040, + 0x3A3A3A,0x383838,0x323232,0x00FF00,0x333333,0x414141,0x424242,0x454545, + 0x474747,0x4A4A4A,0x4C4C4C,0x4D4D4D,0x4F4F4F,0x515151,0x535353,0x545454, + 0x585858,0x5D5D5D,0x5E5E5E,0x646464,0x6A6A6A,0x6A6A6A,0x686868,0x626262, + 0x5A5A5A,0x525252,0x4A4A4A,0x474747,0x434343,0x404040,0x3D3D3D,0x393939, + 0x363636,0x353535,0x2A2A2A,0x00FF00,0x00FF00,0x343434,0x767676,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6E6E6E, + 0x676767,0x464646,0x464646,0x464646,0x444444,0x444444,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6E6E6E, + 0x6C6C6C,0x4D4D4D,0x444444,0x484848,0x4B4B4B,0x4C4C4C,0x4E4E4E,0x505050, + 0x515151,0x535353,0x565656,0x5B5B5B,0x5F5F5F,0x646464,0x676767,0x6B6B6B, + 0x6C6C6C,0x696969,0x636363,0x575757,0x4F4F4F,0x4A4A4A,0x444444,0x414141, + 0x3D3D3D,0x393939,0x373737,0x292929,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x323232,0x545454,0x707070,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x747474,0x3A3A3A,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x2F2F2F,0x6E6E6E,0x6C6C6C,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B,0x676767,0x545454,0x6B6B6B,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x6F6F6F,0x464646,0x00FF00,0x4E4E4E,0x636363,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x616161,0x616161,0x616161, + 0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x656565,0x515151, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1C1C1C,0x515151, + 0x525252,0x545454,0x5A5A5A,0x636363,0x696969,0x676767,0x626262,0x5A5A5A, + 0x525252,0x4F4F4F,0x494949,0x444444,0x434343,0x414141,0x3E3E3E,0x3E3E3E, + 0x3C3C3C,0x3C3C3C,0x4B4B4B,0x525252,0x535353,0x585858,0x616161,0x676767, + 0x696969,0x636363,0x575757,0x4C4C4C,0x434343,0x3E3E3E,0x3A3A3A,0x373737, + 0x353535,0x2B2B2B,0x424242,0x575757,0x2F2F2F,0x444444,0x626262,0x545454, + 0x535353,0x535353,0x535353,0x555555,0x565656,0x5A5A5A,0x636363,0x686868, + 0x696969,0x656565,0x606060,0x545454,0x4B4B4B,0x464646,0x414141,0x3C3C3C, + 0x393939,0x343434,0x323232,0x2F2F2F,0x2B2B2B,0x2A2A2A,0x2E2E2E,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4A4A4A,0x4E4E4E,0x505050,0x525252, + 0x565656,0x5A5A5A,0x636363,0x696969,0x696969,0x646464,0x5B5B5B,0x4F4F4F, + 0x444444,0x3F3F3F,0x3B3B3B,0x393939,0x353535,0x323232,0x333333,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x2D2D2D,0x4D4D4D,0x4E4E4E,0x515151,0x525252, + 0x555555,0x5A5A5A,0x646464,0x696969,0x696969,0x656565,0x595959,0x505050, + 0x454545,0x3E3E3E,0x3A3A3A,0x383838,0x343434,0x2E2E2E,0x4C4C4C,0x6C6C6C, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x6E6E6E,0x515151,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x444444,0x4C4C4C,0x4F4F4F,0x515151,0x555555,0x5E5E5E,0x686868, + 0x6B6B6B,0x656565,0x5A5A5A,0x515151,0x494949,0x474747,0x424242,0x404040, + 0x3F3F3F,0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3E3E3E,0x464646,0x4E4E4E,0x515151, + 0x565656,0x5D5D5D,0x666666,0x6C6C6C,0x696969,0x5D5D5D,0x4E4E4E,0x454545, + 0x404040,0x3A3A3A,0x383838,0x2D2D2D,0x00FF00,0x2B2B2B,0x414141,0x424242, + 0x454545,0x474747,0x4A4A4A,0x4C4C4C,0x4D4D4D,0x4F4F4F,0x515151,0x525252, + 0x545454,0x585858,0x5C5C5C,0x606060,0x666666,0x6B6B6B,0x6C6C6C,0x6A6A6A, + 0x646464,0x5B5B5B,0x515151,0x4A4A4A,0x464646,0x424242,0x404040,0x3D3D3D, + 0x3A3A3A,0x363636,0x373737,0x202020,0x00FF00,0x00FF00,0x373737,0x767676, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6E6E6E,0x606060,0x464646,0x464646,0x464646,0x464646,0x414141,0x676767, + 0x6E6E6E,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6E6E6E,0x696969,0x464646,0x454545,0x484848,0x4A4A4A,0x4D4D4D,0x4F4F4F, + 0x505050,0x515151,0x535353,0x565656,0x5B5B5B,0x616161,0x666666,0x696969, + 0x6E6E6E,0x6E6E6E,0x6B6B6B,0x646464,0x585858,0x505050,0x4A4A4A,0x454545, + 0x414141,0x3D3D3D,0x393939,0x383838,0x232323,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x282828,0x5C5C5C,0x707070,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x747474,0x2B2B2B,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x3D3D3D,0x707070,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B,0x636363,0x565656,0x6C6C6C, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x707070,0x3C3C3C,0x00FF00,0x444444,0x646464,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x616161,0x616161, + 0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x656565, + 0x515151,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1D1D1D, + 0x515151,0x525252,0x545454,0x5A5A5A,0x646464,0x696969,0x676767,0x616161, + 0x5A5A5A,0x525252,0x4F4F4F,0x494949,0x444444,0x434343,0x414141,0x3E3E3E, + 0x3E3E3E,0x3C3C3C,0x3C3C3C,0x4B4B4B,0x525252,0x545454,0x585858,0x616161, + 0x676767,0x696969,0x636363,0x575757,0x4B4B4B,0x434343,0x3E3E3E,0x3A3A3A, + 0x373737,0x353535,0x303030,0x434343,0x5C5C5C,0x303030,0x3D3D3D,0x5C5C5C, + 0x555555,0x535353,0x535353,0x535353,0x555555,0x575757,0x5B5B5B,0x646464, + 0x686868,0x696969,0x656565,0x5D5D5D,0x545454,0x4C4C4C,0x464646,0x414141, + 0x3C3C3C,0x393939,0x343434,0x323232,0x2F2F2F,0x2B2B2B,0x2A2A2A,0x2B2B2B, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x141414,0x4C4C4C,0x4F4F4F,0x515151, + 0x525252,0x555555,0x5B5B5B,0x646464,0x696969,0x696969,0x656565,0x595959, + 0x4F4F4F,0x444444,0x3F3F3F,0x3B3B3B,0x393939,0x343434,0x333333,0x323232, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2D2D2D,0x4C4C4C,0x4E4E4E,0x505050, + 0x525252,0x555555,0x5A5A5A,0x646464,0x6A6A6A,0x696969,0x656565,0x595959, + 0x4F4F4F,0x444444,0x3F3F3F,0x3A3A3A,0x393939,0x343434,0x2D2D2D,0x414141, + 0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x707070,0x4A4A4A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x454545,0x4C4C4C,0x4F4F4F,0x515151,0x565656,0x606060, + 0x686868,0x6B6B6B,0x656565,0x5A5A5A,0x515151,0x4A4A4A,0x464646,0x424242, + 0x404040,0x3F3F3F,0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3E3E3E,0x474747,0x4E4E4E, + 0x515151,0x565656,0x5D5D5D,0x666666,0x6C6C6C,0x686868,0x5C5C5C,0x4E4E4E, + 0x444444,0x404040,0x3A3A3A,0x383838,0x2F2F2F,0x00FF00,0x161616,0x444444, + 0x424242,0x454545,0x474747,0x4A4A4A,0x4C4C4C,0x4E4E4E,0x4F4F4F,0x515151, + 0x535353,0x545454,0x585858,0x5C5C5C,0x616161,0x666666,0x6B6B6B,0x6B6B6B, + 0x6A6A6A,0x646464,0x5A5A5A,0x515151,0x4B4B4B,0x474747,0x424242,0x404040, + 0x3C3C3C,0x3A3A3A,0x363636,0x353535,0x252525,0x00FF00,0x00FF00,0x474747, + 0x727272,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x707070,0x595959,0x434343,0x464646,0x464646,0x454545,0x4C4C4C, + 0x6A6A6A,0x6E6E6E,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x4A4A4A,0x444444,0x484848,0x4B4B4B,0x4D4D4D, + 0x4F4F4F,0x505050,0x515151,0x535353,0x575757,0x5B5B5B,0x616161,0x676767, + 0x6A6A6A,0x6E6E6E,0x6E6E6E,0x6A6A6A,0x646464,0x585858,0x505050,0x494949, + 0x444444,0x414141,0x3D3D3D,0x393939,0x363636,0x262626,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x202020,0x616161,0x707070,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6E6E6E,0x727272,0x282828, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x434343,0x6F6F6F,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B,0x616161,0x595959, + 0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x717171,0x313131,0x00FF00,0x3C3C3C,0x656565,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x616161, + 0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161, + 0x646464,0x575757,0x191919,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x181818,0x505050,0x525252,0x545454,0x5A5A5A,0x636363,0x696969,0x676767, + 0x626262,0x5A5A5A,0x525252,0x4F4F4F,0x494949,0x454545,0x434343,0x414141, + 0x3F3F3F,0x3E3E3E,0x3C3C3C,0x3B3B3B,0x4A4A4A,0x525252,0x545454,0x575757, + 0x606060,0x676767,0x696969,0x636363,0x575757,0x4B4B4B,0x434343,0x3E3E3E, + 0x3A3A3A,0x373737,0x353535,0x2C2C2C,0x3B3B3B,0x585858,0x2F2F2F,0x424242, + 0x626262,0x555555,0x535353,0x535353,0x535353,0x555555,0x565656,0x5A5A5A, + 0x636363,0x686868,0x696969,0x656565,0x5D5D5D,0x555555,0x4B4B4B,0x464646, + 0x414141,0x3C3C3C,0x393939,0x353535,0x323232,0x2F2F2F,0x2B2B2B,0x2A2A2A, + 0x282828,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0x4E4E4E,0x4E4E4E, + 0x505050,0x525252,0x555555,0x5B5B5B,0x646464,0x696969,0x696969,0x656565, + 0x5A5A5A,0x4E4E4E,0x434343,0x3F3F3F,0x3B3B3B,0x393939,0x353535,0x323232, + 0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1C1C1C,0x4D4D4D,0x4E4E4E, + 0x505050,0x525252,0x555555,0x5A5A5A,0x656565,0x6A6A6A,0x696969,0x646464, + 0x5A5A5A,0x4E4E4E,0x434343,0x3F3F3F,0x3B3B3B,0x393939,0x343434,0x2D2D2D, + 0x424242,0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x707070,0x434343,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x464646,0x4C4C4C,0x4F4F4F,0x525252,0x565656, + 0x616161,0x686868,0x6A6A6A,0x656565,0x5A5A5A,0x515151,0x494949,0x464646, + 0x424242,0x404040,0x3F3F3F,0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3E3E3E,0x484848, + 0x4E4E4E,0x525252,0x565656,0x5D5D5D,0x666666,0x6C6C6C,0x686868,0x5B5B5B, + 0x4E4E4E,0x444444,0x404040,0x3A3A3A,0x383838,0x2F2F2F,0x00FF00,0x00FF00, + 0x424242,0x434343,0x454545,0x474747,0x4A4A4A,0x4C4C4C,0x4E4E4E,0x505050, + 0x515151,0x535353,0x545454,0x585858,0x5D5D5D,0x616161,0x666666,0x6C6C6C, + 0x6B6B6B,0x6A6A6A,0x646464,0x595959,0x505050,0x4A4A4A,0x474747,0x424242, + 0x3F3F3F,0x3C3C3C,0x3A3A3A,0x363636,0x343434,0x282828,0x00FF00,0x00FF00, + 0x414141,0x737373,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x707070,0x626262,0x464646,0x464646,0x464646,0x434343, + 0x4B4B4B,0x707070,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6E6E6E,0x656565,0x464646,0x454545,0x484848,0x4B4B4B, + 0x4C4C4C,0x4F4F4F,0x505050,0x515151,0x545454,0x575757,0x5B5B5B,0x606060, + 0x676767,0x6A6A6A,0x6E6E6E,0x6E6E6E,0x6A6A6A,0x636363,0x585858,0x4F4F4F, + 0x484848,0x444444,0x414141,0x3C3C3C,0x383838,0x383838,0x1C1C1C,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x666666,0x707070,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6E6E6E,0x707070, + 0x1E1E1E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x454545,0x707070,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6C6C6C,0x5E5E5E, + 0x5B5B5B,0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x6F6F6F,0x262626,0x00FF00,0x363636,0x656565, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161, + 0x616161,0x646464,0x575757,0x181818,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x161616,0x4F4F4F,0x525252,0x545454,0x595959,0x636363,0x686868, + 0x676767,0x626262,0x5A5A5A,0x535353,0x4F4F4F,0x494949,0x454545,0x434343, + 0x414141,0x3F3F3F,0x3E3E3E,0x3D3D3D,0x3B3B3B,0x494949,0x525252,0x545454, + 0x575757,0x616161,0x676767,0x696969,0x636363,0x575757,0x4C4C4C,0x444444, + 0x3F3F3F,0x3A3A3A,0x373737,0x353535,0x303030,0x323232,0x5B5B5B,0x313131, + 0x3C3C3C,0x5B5B5B,0x555555,0x535353,0x535353,0x535353,0x555555,0x575757, + 0x5A5A5A,0x636363,0x686868,0x696969,0x656565,0x5E5E5E,0x555555,0x4C4C4C, + 0x464646,0x414141,0x3C3C3C,0x393939,0x353535,0x323232,0x2F2F2F,0x2B2B2B, + 0x2F2F2F,0x242424,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x484848, + 0x4F4F4F,0x505050,0x525252,0x555555,0x5B5B5B,0x636363,0x696969,0x696969, + 0x646464,0x5A5A5A,0x4F4F4F,0x434343,0x3E3E3E,0x3A3A3A,0x393939,0x353535, + 0x313131,0x343434,0x181818,0x00FF00,0x00FF00,0x00FF00,0x242424,0x4E4E4E, + 0x4E4E4E,0x505050,0x525252,0x555555,0x5A5A5A,0x656565,0x696969,0x696969, + 0x646464,0x5A5A5A,0x4E4E4E,0x434343,0x3E3E3E,0x3A3A3A,0x393939,0x353535, + 0x2D2D2D,0x4C4C4C,0x6E6E6E,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x727272,0x3A3A3A,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x141414,0x474747,0x4B4B4B,0x4F4F4F,0x525252, + 0x565656,0x616161,0x686868,0x6A6A6A,0x656565,0x595959,0x505050,0x494949, + 0x464646,0x424242,0x404040,0x3F3F3F,0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3E3E3E, + 0x484848,0x4F4F4F,0x525252,0x565656,0x5D5D5D,0x666666,0x6C6C6C,0x686868, + 0x5B5B5B,0x4E4E4E,0x444444,0x3F3F3F,0x3A3A3A,0x373737,0x303030,0x00FF00, + 0x00FF00,0x323232,0x464646,0x454545,0x474747,0x4A4A4A,0x4C4C4C,0x4E4E4E, + 0x505050,0x515151,0x525252,0x555555,0x585858,0x5E5E5E,0x616161,0x666666, + 0x6C6C6C,0x6B6B6B,0x6A6A6A,0x636363,0x595959,0x4F4F4F,0x4A4A4A,0x464646, + 0x424242,0x404040,0x3D3D3D,0x3A3A3A,0x363636,0x343434,0x2C2C2C,0x00FF00, + 0x00FF00,0x454545,0x737373,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x727272,0x4F4F4F,0x343434,0x4A4A4A,0x464646, + 0x434343,0x414141,0x6E6E6E,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6F6F6F,0x646464,0x434343,0x464646,0x494949, + 0x4B4B4B,0x4D4D4D,0x4F4F4F,0x505050,0x515151,0x545454,0x575757,0x5C5C5C, + 0x626262,0x676767,0x6A6A6A,0x6E6E6E,0x6E6E6E,0x696969,0x626262,0x565656, + 0x4E4E4E,0x484848,0x444444,0x414141,0x3C3C3C,0x393939,0x363636,0x222222, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0x626262,0x707070,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6F6F6F, + 0x6B6B6B,0x161616,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4B4B4B,0x6F6F6F,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6C6C6C, + 0x5D5D5D,0x5C5C5C,0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x707070,0x282828,0x00FF00,0x3E3E3E, + 0x646464,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161, + 0x616161,0x616161,0x646464,0x565656,0x1D1D1D,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x151515,0x515151,0x525252,0x535353,0x595959,0x636363, + 0x686868,0x676767,0x626262,0x5B5B5B,0x535353,0x4F4F4F,0x494949,0x444444, + 0x434343,0x414141,0x3F3F3F,0x3E3E3E,0x3D3D3D,0x3B3B3B,0x484848,0x515151, + 0x545454,0x575757,0x606060,0x676767,0x696969,0x636363,0x575757,0x4B4B4B, + 0x434343,0x3F3F3F,0x3A3A3A,0x373737,0x353535,0x2F2F2F,0x3F3F3F,0x5A5A5A, + 0x2E2E2E,0x404040,0x626262,0x565656,0x535353,0x535353,0x535353,0x555555, + 0x575757,0x5A5A5A,0x636363,0x686868,0x696969,0x656565,0x5D5D5D,0x555555, + 0x4C4C4C,0x464646,0x414141,0x3D3D3D,0x3A3A3A,0x353535,0x323232,0x2F2F2F, + 0x2B2B2B,0x2E2E2E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x151515, + 0x4C4C4C,0x4E4E4E,0x515151,0x525252,0x555555,0x5B5B5B,0x636363,0x696969, + 0x696969,0x646464,0x5A5A5A,0x4F4F4F,0x454545,0x3F3F3F,0x3B3B3B,0x383838, + 0x353535,0x323232,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2E2E2E, + 0x4D4D4D,0x4E4E4E,0x505050,0x525252,0x565656,0x5A5A5A,0x656565,0x696969, + 0x696969,0x646464,0x595959,0x4F4F4F,0x444444,0x3E3E3E,0x3A3A3A,0x393939, + 0x343434,0x2D2D2D,0x4F4F4F,0x6E6E6E,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x727272,0x3E3E3E,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x161616,0x464646,0x4C4C4C,0x4F4F4F, + 0x525252,0x565656,0x606060,0x696969,0x6A6A6A,0x646464,0x595959,0x505050, + 0x494949,0x464646,0x424242,0x404040,0x3F3F3F,0x3D3D3D,0x3B3B3B,0x3B3B3B, + 0x3E3E3E,0x484848,0x4F4F4F,0x515151,0x565656,0x5D5D5D,0x676767,0x6C6C6C, + 0x686868,0x5A5A5A,0x4D4D4D,0x444444,0x3F3F3F,0x3A3A3A,0x373737,0x313131, + 0x00FF00,0x00FF00,0x1E1E1E,0x474747,0x464646,0x474747,0x4A4A4A,0x4C4C4C, + 0x4E4E4E,0x505050,0x525252,0x535353,0x545454,0x585858,0x5E5E5E,0x616161, + 0x666666,0x6B6B6B,0x6B6B6B,0x696969,0x626262,0x595959,0x4F4F4F,0x4A4A4A, + 0x464646,0x424242,0x404040,0x3C3C3C,0x393939,0x363636,0x343434,0x202020, + 0x00FF00,0x00FF00,0x454545,0x737373,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x737373,0x3C3C3C,0x141414,0x464646, + 0x484848,0x444444,0x464646,0x6B6B6B,0x6E6E6E,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x696969,0x474747,0x464646, + 0x494949,0x4A4A4A,0x4D4D4D,0x4F4F4F,0x505050,0x525252,0x545454,0x585858, + 0x5C5C5C,0x626262,0x676767,0x6A6A6A,0x6E6E6E,0x6E6E6E,0x686868,0x616161, + 0x565656,0x4E4E4E,0x484848,0x434343,0x414141,0x3D3D3D,0x383838,0x363636, + 0x161616,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1F1F1F,0x6C6C6C,0x6F6F6F, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6F6F6F,0x6C6C6C,0x161616,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4F4F4F,0x707070,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6C6C6C,0x5A5A5A,0x626262,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x6A6A6A,0x6F6F6F,0x202020,0x00FF00, + 0x313131,0x656565,0x5F5F5F,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161, + 0x616161,0x616161,0x616161,0x646464,0x585858,0x272727,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4E4E4E,0x525252,0x535353,0x595959, + 0x626262,0x686868,0x686868,0x626262,0x5B5B5B,0x535353,0x4F4F4F,0x4A4A4A, + 0x444444,0x434343,0x414141,0x3F3F3F,0x3E3E3E,0x3C3C3C,0x3C3C3C,0x494949, + 0x515151,0x535353,0x575757,0x606060,0x666666,0x696969,0x636363,0x575757, + 0x4C4C4C,0x444444,0x3F3F3F,0x3A3A3A,0x373737,0x343434,0x303030,0x343434, + 0x5B5B5B,0x323232,0x3C3C3C,0x5C5C5C,0x575757,0x535353,0x535353,0x535353, + 0x555555,0x565656,0x595959,0x626262,0x686868,0x696969,0x656565,0x5E5E5E, + 0x555555,0x4C4C4C,0x464646,0x414141,0x3C3C3C,0x3A3A3A,0x353535,0x323232, + 0x2F2F2F,0x2D2D2D,0x262626,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x494949,0x4E4E4E,0x505050,0x525252,0x555555,0x5A5A5A,0x636363, + 0x696969,0x696969,0x656565,0x5A5A5A,0x4F4F4F,0x444444,0x3F3F3F,0x3B3B3B, + 0x393939,0x353535,0x333333,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x282828,0x4C4C4C,0x4E4E4E,0x505050,0x525252,0x555555,0x5A5A5A,0x646464, + 0x6A6A6A,0x696969,0x646464,0x595959,0x4E4E4E,0x444444,0x3F3F3F,0x3A3A3A, + 0x383838,0x353535,0x2E2E2E,0x4D4D4D,0x6C6C6C,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x707070,0x474747, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x181818,0x474747,0x4C4C4C, + 0x4F4F4F,0x525252,0x565656,0x606060,0x696969,0x6A6A6A,0x646464,0x595959, + 0x505050,0x484848,0x454545,0x424242,0x404040,0x3F3F3F,0x3D3D3D,0x3B3B3B, + 0x3B3B3B,0x3E3E3E,0x484848,0x4F4F4F,0x515151,0x575757,0x5E5E5E,0x676767, + 0x6B6B6B,0x676767,0x5A5A5A,0x4D4D4D,0x444444,0x3F3F3F,0x3A3A3A,0x373737, + 0x323232,0x00FF00,0x00FF00,0x00FF00,0x434343,0x474747,0x474747,0x4A4A4A, + 0x4C4C4C,0x4E4E4E,0x505050,0x525252,0x535353,0x545454,0x585858,0x5D5D5D, + 0x616161,0x696969,0x6B6B6B,0x6B6B6B,0x696969,0x616161,0x585858,0x4F4F4F, + 0x4A4A4A,0x454545,0x424242,0x3F3F3F,0x3C3C3C,0x393939,0x363636,0x373737, + 0x171717,0x00FF00,0x00FF00,0x4B4B4B,0x747474,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x747474,0x2B2B2B,0x00FF00, + 0x1A1A1A,0x4C4C4C,0x434343,0x525252,0x6E6E6E,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6F6F6F,0x5E5E5E,0x434343, + 0x464646,0x494949,0x4B4B4B,0x4E4E4E,0x4F4F4F,0x505050,0x525252,0x555555, + 0x585858,0x5D5D5D,0x626262,0x676767,0x6A6A6A,0x6E6E6E,0x6D6D6D,0x686868, + 0x606060,0x555555,0x4D4D4D,0x474747,0x434343,0x404040,0x3B3B3B,0x383838, + 0x373737,0x141414,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1C1C1C,0x656565, + 0x707070,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6F6F6F,0x696969,0x151515,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x515151,0x707070, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6E6E6E,0x585858,0x636363,0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x6B6B6B,0x6B6B6B,0x191919, + 0x00FF00,0x2A2A2A,0x656565,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x616161,0x616161,0x616161,0x616161, + 0x616161,0x616161,0x616161,0x616161,0x636363,0x606060,0x222222,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4E4E4E,0x525252,0x535353, + 0x585858,0x626262,0x686868,0x686868,0x626262,0x5B5B5B,0x545454,0x4F4F4F, + 0x4A4A4A,0x454545,0x434343,0x414141,0x3F3F3F,0x3E3E3E,0x3C3C3C,0x3B3B3B, + 0x474747,0x515151,0x535353,0x565656,0x606060,0x666666,0x696969,0x636363, + 0x585858,0x4C4C4C,0x434343,0x3F3F3F,0x3A3A3A,0x373737,0x353535,0x2F2F2F, + 0x323232,0x5B5B5B,0x303030,0x3C3C3C,0x606060,0x565656,0x535353,0x535353, + 0x535353,0x555555,0x575757,0x595959,0x626262,0x686868,0x696969,0x656565, + 0x5D5D5D,0x555555,0x4D4D4D,0x464646,0x414141,0x3C3C3C,0x3A3A3A,0x353535, + 0x323232,0x2F2F2F,0x303030,0x181818,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x464646,0x4F4F4F,0x505050,0x525252,0x555555,0x5A5A5A, + 0x636363,0x696969,0x696969,0x646464,0x595959,0x4E4E4E,0x444444,0x3E3E3E, + 0x3A3A3A,0x393939,0x363636,0x323232,0x343434,0x1C1C1C,0x00FF00,0x00FF00, + 0x00FF00,0x1A1A1A,0x4D4D4D,0x4E4E4E,0x515151,0x535353,0x555555,0x5A5A5A, + 0x646464,0x6A6A6A,0x696969,0x646464,0x595959,0x4E4E4E,0x434343,0x3F3F3F, + 0x3A3A3A,0x383838,0x353535,0x2D2D2D,0x404040,0x6E6E6E,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x6F6F6F, + 0x484848,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0x484848, + 0x4C4C4C,0x4F4F4F,0x525252,0x565656,0x616161,0x696969,0x6A6A6A,0x646464, + 0x595959,0x505050,0x484848,0x454545,0x424242,0x3F3F3F,0x3E3E3E,0x3D3D3D, + 0x3B3B3B,0x3B3B3B,0x3E3E3E,0x484848,0x4F4F4F,0x525252,0x575757,0x5E5E5E, + 0x676767,0x6B6B6B,0x676767,0x595959,0x4D4D4D,0x444444,0x3F3F3F,0x3A3A3A, + 0x373737,0x323232,0x00FF00,0x00FF00,0x00FF00,0x2F2F2F,0x4C4C4C,0x474747, + 0x4B4B4B,0x4D4D4D,0x4E4E4E,0x505050,0x515151,0x525252,0x555555,0x595959, + 0x5E5E5E,0x616161,0x696969,0x6C6C6C,0x6B6B6B,0x696969,0x616161,0x585858, + 0x4F4F4F,0x4A4A4A,0x454545,0x414141,0x3F3F3F,0x3C3C3C,0x3A3A3A,0x353535, + 0x383838,0x161616,0x00FF00,0x00FF00,0x575757,0x727272,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x777777,0x323232, + 0x00FF00,0x00FF00,0x323232,0x4A4A4A,0x4B4B4B,0x717171,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x707070,0x626262, + 0x424242,0x474747,0x494949,0x4C4C4C,0x4D4D4D,0x4F4F4F,0x515151,0x525252, + 0x555555,0x595959,0x5D5D5D,0x626262,0x686868,0x6A6A6A,0x6E6E6E,0x6E6E6E, + 0x686868,0x606060,0x545454,0x4D4D4D,0x474747,0x434343,0x404040,0x3B3B3B, + 0x383838,0x353535,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2A2A2A, + 0x707070,0x6E6E6E,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6F6F6F,0x676767,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x585858, + 0x707070,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6C6C6C,0x595959,0x646464,0x6B6B6B,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x6B6B6B,0x656565, + 0x00FF00,0x00FF00,0x2A2A2A,0x656565,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x616161,0x616161,0x616161, + 0x616161,0x616161,0x616161,0x616161,0x616161,0x636363,0x5C5C5C,0x242424, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4D4D4D,0x525252, + 0x535353,0x595959,0x626262,0x686868,0x676767,0x626262,0x5A5A5A,0x535353, + 0x4F4F4F,0x494949,0x454545,0x434343,0x414141,0x3F3F3F,0x3E3E3E,0x3D3D3D, + 0x3B3B3B,0x474747,0x525252,0x535353,0x575757,0x616161,0x666666,0x696969, + 0x636363,0x585858,0x4D4D4D,0x444444,0x3F3F3F,0x3A3A3A,0x373737,0x353535, + 0x303030,0x3D3D3D,0x5D5D5D,0x343434,0x3C3C3C,0x5B5B5B,0x565656,0x535353, + 0x535353,0x535353,0x555555,0x575757,0x5A5A5A,0x626262,0x696969,0x696969, + 0x656565,0x5D5D5D,0x545454,0x4C4C4C,0x464646,0x414141,0x3C3C3C,0x393939, + 0x353535,0x323232,0x303030,0x2A2A2A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x4B4B4B,0x4F4F4F,0x515151,0x525252,0x555555, + 0x5B5B5B,0x646464,0x696969,0x696969,0x636363,0x585858,0x4F4F4F,0x454545, + 0x3E3E3E,0x3A3A3A,0x383838,0x363636,0x323232,0x323232,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x252525,0x4F4F4F,0x4E4E4E,0x505050,0x535353,0x565656, + 0x5B5B5B,0x656565,0x6A6A6A,0x696969,0x636363,0x595959,0x4E4E4E,0x424242, + 0x3E3E3E,0x3A3A3A,0x383838,0x343434,0x2C2C2C,0x414141,0x6E6E6E,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x6F6F6F,0x464646,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1E1E1E, + 0x494949,0x4B4B4B,0x4F4F4F,0x525252,0x565656,0x626262,0x696969,0x6A6A6A, + 0x646464,0x585858,0x4F4F4F,0x484848,0x454545,0x424242,0x3F3F3F,0x3E3E3E, + 0x3D3D3D,0x3B3B3B,0x3B3B3B,0x3E3E3E,0x484848,0x4F4F4F,0x525252,0x575757, + 0x5E5E5E,0x676767,0x6B6B6B,0x676767,0x595959,0x4C4C4C,0x434343,0x3F3F3F, + 0x3A3A3A,0x373737,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x494949, + 0x484848,0x4B4B4B,0x4D4D4D,0x4E4E4E,0x505050,0x515151,0x525252,0x555555, + 0x585858,0x5D5D5D,0x616161,0x696969,0x6C6C6C,0x6B6B6B,0x686868,0x616161, + 0x575757,0x4F4F4F,0x4A4A4A,0x454545,0x414141,0x3F3F3F,0x3C3C3C,0x3A3A3A, + 0x373737,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00,0x535353,0x727272,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x747474, + 0x3C3C3C,0x00FF00,0x00FF00,0x00FF00,0x3C3C3C,0x4D4D4D,0x6F6F6F,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6F6F6F, + 0x666666,0x474747,0x464646,0x494949,0x4B4B4B,0x4D4D4D,0x4F4F4F,0x505050, + 0x525252,0x555555,0x595959,0x5D5D5D,0x626262,0x686868,0x6B6B6B,0x6E6E6E, + 0x6C6C6C,0x686868,0x5E5E5E,0x545454,0x4D4D4D,0x474747,0x434343,0x404040, + 0x3B3B3B,0x393939,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x202020,0x6B6B6B,0x6F6F6F,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x717171,0x5B5B5B,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x161616, + 0x5F5F5F,0x6F6F6F,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B,0x535353,0x676767,0x6B6B6B,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x6C6C6C, + 0x5F5F5F,0x00FF00,0x00FF00,0x2F2F2F,0x656565,0x5F5F5F,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x616161,0x616161, + 0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x636363,0x5D5D5D, + 0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4A4A4A, + 0x525252,0x535353,0x585858,0x616161,0x686868,0x676767,0x626262,0x5B5B5B, + 0x535353,0x4E4E4E,0x494949,0x454545,0x434343,0x414141,0x3F3F3F,0x3E3E3E, + 0x3D3D3D,0x3E3E3E,0x474747,0x515151,0x535353,0x565656,0x5E5E5E,0x666666, + 0x696969,0x636363,0x585858,0x4C4C4C,0x444444,0x3F3F3F,0x3A3A3A,0x373737, + 0x353535,0x303030,0x292929,0x5B5B5B,0x303030,0x3A3A3A,0x5C5C5C,0x565656, + 0x535353,0x535353,0x535353,0x545454,0x575757,0x5A5A5A,0x636363,0x686868, + 0x696969,0x656565,0x5E5E5E,0x545454,0x4C4C4C,0x464646,0x414141,0x3C3C3C, + 0x393939,0x353535,0x333333,0x343434,0x151515,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x181818,0x4C4C4C,0x4E4E4E,0x515151,0x525252, + 0x555555,0x5B5B5B,0x646464,0x696969,0x696969,0x636363,0x595959,0x4F4F4F, + 0x444444,0x3F3F3F,0x3A3A3A,0x383838,0x353535,0x363636,0x222222,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x292929,0x4D4D4D,0x4E4E4E,0x505050,0x525252, + 0x565656,0x5B5B5B,0x656565,0x696969,0x696969,0x636363,0x595959,0x4E4E4E, + 0x434343,0x3E3E3E,0x3A3A3A,0x383838,0x343434,0x2C2C2C,0x464646,0x6F6F6F, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x6F6F6F,0x494949,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x1E1E1E,0x4A4A4A,0x4B4B4B,0x505050,0x525252,0x565656,0x626262,0x696969, + 0x6A6A6A,0x626262,0x585858,0x4F4F4F,0x484848,0x454545,0x424242,0x3F3F3F, + 0x3E3E3E,0x3D3D3D,0x3B3B3B,0x3E3E3E,0x414141,0x484848,0x4F4F4F,0x525252, + 0x585858,0x606060,0x676767,0x6B6B6B,0x676767,0x585858,0x4C4C4C,0x434343, + 0x3E3E3E,0x3A3A3A,0x373737,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x2D2D2D,0x4F4F4F,0x4A4A4A,0x4D4D4D,0x4F4F4F,0x505050,0x515151,0x525252, + 0x555555,0x595959,0x5E5E5E,0x616161,0x686868,0x6C6C6C,0x6B6B6B,0x696969, + 0x606060,0x575757,0x4F4F4F,0x494949,0x454545,0x414141,0x3F3F3F,0x3C3C3C, + 0x393939,0x3C3C3C,0x1C1C1C,0x00FF00,0x00FF00,0x00FF00,0x585858,0x717171, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x727272,0x323232,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x535353,0x707070, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x737373,0x3E3E3E,0x3A3A3A,0x494949,0x494949,0x4B4B4B,0x4E4E4E,0x4F4F4F, + 0x505050,0x525252,0x555555,0x595959,0x5E5E5E,0x626262,0x686868,0x6B6B6B, + 0x6E6E6E,0x6C6C6C,0x676767,0x5E5E5E,0x545454,0x4D4D4D,0x474747,0x434343, + 0x404040,0x3B3B3B,0x3A3A3A,0x262626,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x333333,0x707070,0x6E6E6E,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x717171,0x5A5A5A,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x232323,0x646464,0x6F6F6F,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B,0x565656,0x686868,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x6E6E6E,0x575757,0x00FF00,0x00FF00,0x212121,0x636363,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x616161, + 0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x626262, + 0x5E5E5E,0x313131,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x494949,0x525252,0x535353,0x585858,0x616161,0x686868,0x686868,0x626262, + 0x5B5B5B,0x545454,0x4E4E4E,0x4A4A4A,0x454545,0x434343,0x414141,0x3F3F3F, + 0x3F3F3F,0x424242,0x2D2D2D,0x424242,0x525252,0x535353,0x565656,0x5E5E5E, + 0x666666,0x696969,0x636363,0x585858,0x4C4C4C,0x434343,0x3F3F3F,0x3A3A3A, + 0x373737,0x353535,0x323232,0x454545,0x616161,0x333333,0x3C3C3C,0x5E5E5E, + 0x575757,0x525252,0x535353,0x535353,0x555555,0x575757,0x595959,0x616161, + 0x686868,0x696969,0x656565,0x5D5D5D,0x555555,0x4D4D4D,0x464646,0x414141, + 0x3C3C3C,0x393939,0x353535,0x373737,0x222222,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x474747,0x4E4E4E,0x505050, + 0x525252,0x555555,0x5A5A5A,0x636363,0x696969,0x696969,0x646464,0x595959, + 0x4E4E4E,0x434343,0x3F3F3F,0x3B3B3B,0x383838,0x363636,0x323232,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x161616,0x4D4D4D,0x4F4F4F,0x505050, + 0x525252,0x555555,0x5A5A5A,0x646464,0x6A6A6A,0x696969,0x626262,0x575757, + 0x4E4E4E,0x434343,0x3E3E3E,0x3A3A3A,0x383838,0x393939,0x222222,0x343434, + 0x727272,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x6F6F6F,0x4A4A4A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x434343,0x4D4D4D,0x505050,0x525252,0x575757,0x626262, + 0x6A6A6A,0x696969,0x626262,0x585858,0x4F4F4F,0x484848,0x454545,0x414141, + 0x3F3F3F,0x3E3E3E,0x3D3D3D,0x414141,0x303030,0x363636,0x4A4A4A,0x4F4F4F, + 0x525252,0x585858,0x606060,0x676767,0x6B6B6B,0x666666,0x585858,0x4B4B4B, + 0x434343,0x3E3E3E,0x3A3A3A,0x373737,0x323232,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x434343,0x4D4D4D,0x4D4D4D,0x4F4F4F,0x515151,0x515151, + 0x535353,0x565656,0x595959,0x5E5E5E,0x616161,0x686868,0x6C6C6C,0x6B6B6B, + 0x686868,0x606060,0x565656,0x4E4E4E,0x494949,0x454545,0x414141,0x3F3F3F, + 0x3B3B3B,0x3A3A3A,0x373737,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x595959, + 0x707070,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6E6E6E,0x707070,0x1C1C1C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x484848, + 0x747474,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x767676,0x363636,0x1B1B1B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4E4E4E, + 0x4F4F4F,0x505050,0x525252,0x555555,0x595959,0x5E5E5E,0x646464,0x696969, + 0x6B6B6B,0x6E6E6E,0x6B6B6B,0x676767,0x5C5C5C,0x525252,0x4C4C4C,0x464646, + 0x424242,0x3F3F3F,0x3B3B3B,0x3A3A3A,0x151515,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x2B2B2B,0x727272,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x727272,0x4A4A4A,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x252525,0x666666,0x6E6E6E,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x565656,0x696969, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x6F6F6F,0x4F4F4F,0x00FF00,0x00FF00,0x191919,0x616161,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161, + 0x626262,0x616161,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x434343,0x535353,0x535353,0x585858,0x616161,0x676767,0x686868, + 0x636363,0x5C5C5C,0x545454,0x4F4F4F,0x4A4A4A,0x454545,0x434343,0x414141, + 0x414141,0x424242,0x202020,0x00FF00,0x2F2F2F,0x555555,0x535353,0x565656, + 0x5E5E5E,0x666666,0x696969,0x636363,0x575757,0x4D4D4D,0x444444,0x404040, + 0x3A3A3A,0x383838,0x3A3A3A,0x1A1A1A,0x181818,0x5D5D5D,0x333333,0x373737, + 0x595959,0x575757,0x535353,0x535353,0x535353,0x545454,0x565656,0x595959, + 0x616161,0x686868,0x696969,0x666666,0x5E5E5E,0x555555,0x4C4C4C,0x464646, + 0x414141,0x3D3D3D,0x393939,0x3A3A3A,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x434343,0x4F4F4F, + 0x505050,0x525252,0x555555,0x5A5A5A,0x646464,0x696969,0x696969,0x646464, + 0x595959,0x4F4F4F,0x444444,0x3E3E3E,0x3A3A3A,0x393939,0x3B3B3B,0x161616, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x494949,0x4E4E4E, + 0x505050,0x525252,0x555555,0x5A5A5A,0x646464,0x6A6A6A,0x696969,0x626262, + 0x575757,0x4E4E4E,0x434343,0x3E3E3E,0x3A3A3A,0x3A3A3A,0x373737,0x00FF00, + 0x373737,0x707070,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x717171,0x434343,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x444444,0x4C4C4C,0x4F4F4F,0x535353,0x575757, + 0x626262,0x6A6A6A,0x696969,0x616161,0x575757,0x4E4E4E,0x484848,0x454545, + 0x414141,0x3F3F3F,0x3E3E3E,0x434343,0x313131,0x00FF00,0x2F2F2F,0x4C4C4C, + 0x4F4F4F,0x525252,0x585858,0x606060,0x676767,0x6C6C6C,0x656565,0x565656, + 0x4A4A4A,0x424242,0x3E3E3E,0x393939,0x3C3C3C,0x1E1E1E,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x161616,0x505050,0x4E4E4E,0x4F4F4F,0x515151, + 0x525252,0x535353,0x565656,0x5A5A5A,0x606060,0x626262,0x676767,0x6C6C6C, + 0x6B6B6B,0x676767,0x606060,0x565656,0x4E4E4E,0x494949,0x454545,0x414141, + 0x3F3F3F,0x3B3B3B,0x3C3C3C,0x191919,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x545454,0x717171,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x737373,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x4F4F4F,0x727272,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x737373,0x474747,0x00FF00,0x252525,0x525252,0x4C4C4C, + 0x4E4E4E,0x505050,0x515151,0x535353,0x565656,0x5A5A5A,0x5E5E5E,0x646464, + 0x696969,0x6B6B6B,0x6E6E6E,0x6B6B6B,0x656565,0x5C5C5C,0x515151,0x4B4B4B, + 0x464646,0x414141,0x3F3F3F,0x3D3D3D,0x2C2C2C,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x3C3C3C,0x717171,0x6E6E6E,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6B6B6B,0x707070,0x565656, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x2B2B2B,0x676767,0x6E6E6E,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B,0x676767,0x535353, + 0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x707070,0x444444,0x00FF00,0x00FF00,0x00FF00,0x5C5C5C, + 0x616161,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161,0x616161, + 0x616161,0x626262,0x636363,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x474747,0x535353,0x535353,0x585858,0x616161,0x676767, + 0x686868,0x616161,0x5B5B5B,0x545454,0x4F4F4F,0x494949,0x454545,0x444444, + 0x474747,0x3E3E3E,0x171717,0x00FF00,0x00FF00,0x303030,0x545454,0x535353, + 0x575757,0x606060,0x676767,0x696969,0x636363,0x585858,0x4D4D4D,0x444444, + 0x3F3F3F,0x3A3A3A,0x3E3E3E,0x282828,0x00FF00,0x202020,0x636363,0x343434, + 0x3B3B3B,0x5E5E5E,0x575757,0x525252,0x535353,0x535353,0x555555,0x565656, + 0x5A5A5A,0x626262,0x686868,0x696969,0x656565,0x5D5D5D,0x565656,0x4D4D4D, + 0x464646,0x414141,0x3D3D3D,0x3A3A3A,0x3A3A3A,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232, + 0x525252,0x505050,0x525252,0x555555,0x5B5B5B,0x646464,0x696969,0x696969, + 0x636363,0x595959,0x4F4F4F,0x444444,0x3F3F3F,0x3A3A3A,0x3C3C3C,0x202020, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3A3A3A, + 0x4F4F4F,0x505050,0x535353,0x565656,0x5A5A5A,0x656565,0x6A6A6A,0x696969, + 0x636363,0x575757,0x4C4C4C,0x434343,0x3E3E3E,0x3A3A3A,0x3B3B3B,0x1A1A1A, + 0x00FF00,0x363636,0x6F6F6F,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x717171,0x3C3C3C,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3F3F3F,0x4E4E4E,0x4F4F4F,0x535353, + 0x585858,0x626262,0x6A6A6A,0x696969,0x616161,0x565656,0x4E4E4E,0x484848, + 0x454545,0x414141,0x404040,0x444444,0x323232,0x00FF00,0x00FF00,0x2B2B2B, + 0x4E4E4E,0x4F4F4F,0x525252,0x585858,0x606060,0x676767,0x6C6C6C,0x656565, + 0x565656,0x4A4A4A,0x424242,0x3E3E3E,0x3C3C3C,0x2E2E2E,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2E2E2E,0x535353,0x4F4F4F, + 0x505050,0x525252,0x535353,0x565656,0x5A5A5A,0x5E5E5E,0x626262,0x676767, + 0x6B6B6B,0x6B6B6B,0x676767,0x606060,0x565656,0x4E4E4E,0x494949,0x444444, + 0x414141,0x3F3F3F,0x434343,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x5C5C5C,0x717171,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x747474,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x4B4B4B,0x727272,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x737373,0x2B2B2B,0x00FF00,0x00FF00,0x323232, + 0x525252,0x4F4F4F,0x505050,0x515151,0x535353,0x565656,0x5A5A5A,0x5E5E5E, + 0x646464,0x696969,0x6B6B6B,0x6E6E6E,0x6B6B6B,0x666666,0x5C5C5C,0x525252, + 0x4B4B4B,0x454545,0x414141,0x404040,0x3C3C3C,0x161616,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x353535,0x747474,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6B6B6B,0x737373, + 0x464646,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x2C2C2C,0x6B6B6B,0x6C6C6C,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B,0x646464, + 0x585858,0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x707070,0x3A3A3A,0x00FF00,0x00FF00,0x00FF00, + 0x5D5D5D,0x616161,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x616161,0x616161,0x616161,0x616161,0x616161, + 0x616161,0x616161,0x626262,0x636363,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x3B3B3B,0x545454,0x535353,0x585858,0x616161, + 0x686868,0x676767,0x616161,0x5B5B5B,0x545454,0x4E4E4E,0x4A4A4A,0x4B4B4B, + 0x464646,0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x292929,0x565656, + 0x535353,0x565656,0x5D5D5D,0x666666,0x696969,0x636363,0x585858,0x4D4D4D, + 0x444444,0x414141,0x404040,0x232323,0x00FF00,0x00FF00,0x181818,0x636363, + 0x373737,0x373737,0x575757,0x585858,0x535353,0x535353,0x535353,0x545454, + 0x575757,0x595959,0x626262,0x686868,0x696969,0x656565,0x5D5D5D,0x555555, + 0x4D4D4D,0x464646,0x414141,0x424242,0x3A3A3A,0x151515,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x4C4C4C,0x515151,0x525252,0x555555,0x5B5B5B,0x646464,0x696969, + 0x696969,0x636363,0x585858,0x4D4D4D,0x434343,0x414141,0x434343,0x1F1F1F, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x242424,0x565656,0x505050,0x525252,0x565656,0x5B5B5B,0x656565,0x6A6A6A, + 0x696969,0x626262,0x575757,0x4C4C4C,0x424242,0x404040,0x424242,0x1B1B1B, + 0x00FF00,0x00FF00,0x202020,0x6E6E6E,0x6A6A6A,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x727272,0x333333,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x262626,0x545454,0x4F4F4F, + 0x525252,0x585858,0x626262,0x6A6A6A,0x696969,0x606060,0x555555,0x4F4F4F, + 0x484848,0x444444,0x454545,0x414141,0x1E1E1E,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x4A4A4A,0x505050,0x525252,0x595959,0x606060,0x676767,0x6B6B6B, + 0x656565,0x565656,0x494949,0x424242,0x404040,0x3F3F3F,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2D2D2D, + 0x565656,0x515151,0x515151,0x535353,0x565656,0x5A5A5A,0x606060,0x626262, + 0x696969,0x6B6B6B,0x6B6B6B,0x686868,0x5F5F5F,0x565656,0x4E4E4E,0x494949, + 0x454545,0x414141,0x434343,0x3A3A3A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x616161,0x707070,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6E6E6E,0x707070,0x242424,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x4D4D4D,0x737373,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x767676,0x323232,0x00FF00,0x00FF00, + 0x00FF00,0x2C2C2C,0x545454,0x515151,0x505050,0x535353,0x565656,0x5A5A5A, + 0x5E5E5E,0x646464,0x696969,0x6C6C6C,0x6E6E6E,0x6B6B6B,0x656565,0x5B5B5B, + 0x515151,0x4B4B4B,0x454545,0x414141,0x414141,0x363636,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x454545,0x727272,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6B6B6B,0x6B6B6B, + 0x727272,0x434343,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x333333,0x6C6C6C,0x6C6C6C,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6B6B6B, + 0x646464,0x5A5A5A,0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x717171,0x303030,0x00FF00,0x00FF00, + 0x161616,0x5F5F5F,0x606060,0x5F5F5F,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060,0x606060, + 0x606060,0x606060,0x606060,0x606060,0x616161,0x616161,0x616161,0x616161, + 0x616161,0x616161,0x616161,0x616161,0x646464,0x363636,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2F2F2F,0x5C5C5C,0x535353,0x575757, + 0x616161,0x686868,0x686868,0x626262,0x5B5B5B,0x565656,0x545454,0x4F4F4F, + 0x3D3D3D,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323, + 0x565656,0x535353,0x565656,0x606060,0x666666,0x686868,0x646464,0x595959, + 0x4E4E4E,0x4C4C4C,0x414141,0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A, + 0x5E5E5E,0x333333,0x3A3A3A,0x656565,0x5E5E5E,0x575757,0x545454,0x535353, + 0x545454,0x565656,0x595959,0x616161,0x686868,0x696969,0x656565,0x5E5E5E, + 0x555555,0x4D4D4D,0x464646,0x484848,0x363636,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x353535,0x5B5B5B,0x535353,0x555555,0x5B5B5B,0x646464, + 0x696969,0x696969,0x636363,0x585858,0x4E4E4E,0x494949,0x3D3D3D,0x1E1E1E, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x3A3A3A,0x585858,0x525252,0x565656,0x5B5B5B,0x656565, + 0x6A6A6A,0x686868,0x616161,0x575757,0x4D4D4D,0x494949,0x3C3C3C,0x1D1D1D, + 0x00FF00,0x00FF00,0x00FF00,0x272727,0x717171,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x717171,0x3A3A3A, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636, + 0x575757,0x525252,0x585858,0x626262,0x6A6A6A,0x696969,0x606060,0x555555, + 0x4F4F4F,0x494949,0x494949,0x414141,0x161616,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x313131,0x585858,0x525252,0x595959,0x606060,0x676767, + 0x6B6B6B,0x646464,0x555555,0x494949,0x434343,0x434343,0x1E1E1E,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x2B2B2B,0x555555,0x535353,0x535353,0x565656,0x5A5A5A,0x606060, + 0x626262,0x6A6A6A,0x6B6B6B,0x6B6B6B,0x686868,0x5D5D5D,0x545454,0x4D4D4D, + 0x494949,0x464646,0x454545,0x3B3B3B,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x656565,0x6F6F6F,0x6B6B6B,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6F6F6F,0x6B6B6B,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x5C5C5C,0x717171,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x737373,0x363636,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x232323,0x535353,0x555555,0x535353,0x565656, + 0x5B5B5B,0x606060,0x646464,0x696969,0x6C6C6C,0x6E6E6E,0x6A6A6A,0x656565, + 0x5A5A5A,0x505050,0x4A4A4A,0x454545,0x434343,0x424242,0x161616,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x474747,0x727272, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x757575,0x363636,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x363636,0x6E6E6E,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6C6C6C,0x616161,0x5B5B5B,0x6C6C6C,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969,0x696969, + 0x696969,0x696969,0x696969,0x696969,0x696969,0x6F6F6F,0x282828,0x00FF00, + 0x00FF00,0x00FF00,0x5B5B5B,0x676767,0x646464,0x656565,0x656565,0x656565, + 0x656565,0x656565,0x656565,0x656565,0x656565,0x656565,0x656565,0x656565, + 0x656565,0x656565,0x656565,0x656565,0x656565,0x666666,0x666666,0x666666, + 0x666666,0x666666,0x666666,0x666666,0x666666,0x6C6C6C,0x2E2E2E,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3A3A3A,0x585858, + 0x5B5B5B,0x616161,0x686868,0x6B6B6B,0x686868,0x626262,0x565656,0x383838, + 0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x363636,0x5B5B5B,0x595959,0x5D5D5D,0x666666,0x696969,0x666666, + 0x5E5E5E,0x515151,0x2E2E2E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x191919,0x666666,0x3C3C3C,0x343434,0x323232,0x323232,0x393939,0x565656, + 0x575757,0x555555,0x575757,0x595959,0x606060,0x676767,0x696969,0x656565, + 0x5E5E5E,0x575757,0x515151,0x4B4B4B,0x323232,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232,0x545454,0x5B5B5B,0x5C5C5C, + 0x646464,0x6A6A6A,0x6A6A6A,0x656565,0x5D5D5D,0x525252,0x3D3D3D,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x424242,0x585858,0x5B5B5B,0x5B5B5B, + 0x646464,0x6B6B6B,0x696969,0x636363,0x5C5C5C,0x515151,0x3C3C3C,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x353535,0x797979,0x6F6F6F,0x6F6F6F, + 0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F, + 0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x777777, + 0x444444,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x393939,0x5A5A5A,0x5A5A5A,0x636363,0x6B6B6B,0x6A6A6A,0x606060, + 0x595959,0x515151,0x4B4B4B,0x2A2A2A,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x424242,0x5B5B5B,0x5A5A5A,0x626262, + 0x6B6B6B,0x6C6C6C,0x646464,0x565656,0x505050,0x454545,0x202020,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x282828,0x555555,0x585858,0x585858,0x5B5B5B, + 0x616161,0x626262,0x696969,0x6B6B6B,0x6B6B6B,0x676767,0x5D5D5D,0x545454, + 0x4E4E4E,0x4C4C4C,0x494949,0x282828,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x6C6C6C,0x757575,0x727272,0x727272, + 0x727272,0x727272,0x737373,0x737373,0x737373,0x737373,0x737373,0x737373, + 0x737373,0x737373,0x737373,0x737373,0x737373,0x747474,0x747474,0x1B1B1B, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x5A5A5A,0x797979,0x737373,0x737373, + 0x737373,0x737373,0x737373,0x737373,0x737373,0x737373,0x737373,0x737373, + 0x737373,0x737373,0x737373,0x737373,0x737373,0x747474,0x767676,0x1D1D1D, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1A1A1A,0x4E4E4E,0x5A5A5A, + 0x5B5B5B,0x5B5B5B,0x606060,0x656565,0x696969,0x6B6B6B,0x6E6E6E,0x696969, + 0x636363,0x5A5A5A,0x505050,0x4A4A4A,0x484848,0x454545,0x1E1E1E,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x4F4F4F, + 0x797979,0x737373,0x707070,0x6C6C6C,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6D6D6D,0x6D6D6D,0x6D6D6D,0x6D6D6D,0x6D6D6D,0x6D6D6D, + 0x6D6D6D,0x6D6D6D,0x727272,0x2F2F2F,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3D3D3D,0x717171, + 0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6C6C6C,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6E6E6E,0x5D5D5D,0x5C5C5C,0x6E6E6E,0x6B6B6B,0x6B6B6B,0x6B6B6B, + 0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6B6B6B,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A, + 0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x6A6A6A,0x717171,0x282828, + 0x00FF00,0x00FF00,0x00FF00,0x404040,0x434343,0x424242,0x434343,0x434343, + 0x434343,0x434343,0x434343,0x434343,0x434343,0x434343,0x434343,0x434343, + 0x434343,0x434343,0x434343,0x434343,0x434343,0x434343,0x434343,0x434343, + 0x434343,0x434343,0x434343,0x434343,0x434343,0x434343,0x484848,0x1A1A1A, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x353535,0x494949,0x666666,0x707070,0x5A5A5A,0x434343,0x3A3A3A,0x141414, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x393939,0x4B4B4B,0x656565,0x696969,0x707070, + 0x585858,0x404040,0x1E1E1E,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x626262,0x383838,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x1E1E1E,0x444444,0x5A5A5A,0x5A5A5A,0x5C5C5C,0x656565,0x6B6B6B,0x6E6E6E, + 0x696969,0x636363,0x565656,0x363636,0x161616,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x272727,0x404040, + 0x5A5A5A,0x686868,0x6E6E6E,0x707070,0x5A5A5A,0x404040,0x232323,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x282828,0x3F3F3F, + 0x595959,0x696969,0x6F6F6F,0x707070,0x5B5B5B,0x3F3F3F,0x242424,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x2B2B2B,0x4F4F4F,0x494949, + 0x494949,0x494949,0x494949,0x494949,0x494949,0x494949,0x494949,0x494949, + 0x494949,0x494949,0x494949,0x494949,0x494949,0x494949,0x494949,0x494949, + 0x4D4D4D,0x2C2C2C,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x343434,0x565656,0x686868,0x6F6F6F,0x6E6E6E, + 0x666666,0x4A4A4A,0x252525,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x393939,0x595959, + 0x676767,0x6F6F6F,0x6F6F6F,0x686868,0x545454,0x323232,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x141414,0x363636,0x555555, + 0x616161,0x636363,0x656565,0x6E6E6E,0x6C6C6C,0x6B6B6B,0x6A6A6A,0x616161, + 0x575757,0x515151,0x373737,0x171717,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x474747,0x4C4C4C,0x4A4A4A, + 0x4A4A4A,0x4A4A4A,0x4A4A4A,0x4A4A4A,0x4A4A4A,0x4B4B4B,0x4B4B4B,0x4B4B4B, + 0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4E4E4E, + 0x181818,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x3E3E3E,0x4E4E4E,0x4B4B4B, + 0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B, + 0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x4B4B4B,0x505050, + 0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x292929,0x4B4B4B,0x636363,0x646464,0x696969,0x6C6C6C,0x6C6C6C,0x6E6E6E, + 0x696969,0x646464,0x5C5C5C,0x525252,0x4E4E4E,0x343434,0x151515,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x272727,0x515151,0x494949,0x616161,0x737373,0x717171,0x717171,0x717171, + 0x717171,0x717171,0x707070,0x707070,0x707070,0x707070,0x707070,0x707070, + 0x707070,0x707070,0x707070,0x797979,0x2D2D2D,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x323232, + 0x787878,0x707070,0x707070,0x707070,0x707070,0x707070,0x707070,0x6F6F6F, + 0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F, + 0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F, + 0x6F6F6F,0x6F6F6F,0x727272,0x585858,0x606060,0x717171,0x6F6F6F,0x6F6F6F, + 0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6F6F6F,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E, + 0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6E6E6E,0x6F6F6F,0x727272, + 0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x202020,0x222222,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x1F1F1F,0x1C1C1C, + 0x232323,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x1C1C1C,0x595959,0x1D1D1D,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x1C1C1C,0x202020,0x4A4A4A,0x4F4F4F,0x555555, + 0x575757,0x4F4F4F,0x202020,0x161616,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x1A1A1A,0x1D1D1D,0x1D1D1D,0x1F1F1F,0x141414,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x181818,0x1D1D1D,0x1D1D1D,0x1F1F1F,0x151515,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x161616,0x1D1D1D,0x1D1D1D, + 0x1D1D1D,0x202020,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x181818,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x171717,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x151515,0x3A3A3A,0x525252,0x505050,0x555555,0x6B6B6B,0x696969,0x535353, + 0x4E4E4E,0x414141,0x1A1A1A,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x252525,0x4E4E4E,0x525252,0x5B5B5B,0x777777, + 0x797979,0x767676,0x676767,0x4A4A4A,0x404040,0x1D1D1D,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x232323,0x1E1E1E,0x1E1E1E, + 0x1E1E1E,0x1E1E1E,0x1E1E1E,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D, + 0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x202020,0x151515,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00,0x00FF00, + 0x00FF00,0x232323,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D, + 0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D, + 0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D, + 0x1D1D1D,0x1D1D1D,0x1D1D1D,0x202020,0x111111,0x151515,0x1F1F1F,0x1D1D1D, + 0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D, + 0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D, + 0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D,0x1D1D1D, + 0x232323,0x00FF00,0x00FF00 +}; + +const uint8_t ft2InfoBadges[3200] = +{ + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP +}; + +const uint8_t ft2LogoBadges[19712] = +{ + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTONS, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON2,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DSKTOP1, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND, + PAL_DSKTOP2,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1 +}; diff --git a/src/gfxdata/ft2_gfx_midi.c b/src/gfxdata/ft2_gfx_midi.c index 767e2a0..aadcbc9 100644 --- a/src/gfxdata/ft2_gfx_midi.c +++ b/src/gfxdata/ft2_gfx_midi.c @@ -1,715 +1,715 @@ -#include -#include "../ft2_palette.h" - -const uint8_t midiLogo[5665] = -{ - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2 -}; +#include +#include "../ft2_palette.h" + +const uint8_t midiLogo[5665] = +{ + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2 +}; diff --git a/src/gfxdata/ft2_gfx_mouse.c b/src/gfxdata/ft2_gfx_mouse.c index d8e946b..1422d2b 100644 --- a/src/gfxdata/ft2_gfx_mouse.c +++ b/src/gfxdata/ft2_gfx_mouse.c @@ -1,3005 +1,3005 @@ -#include -#include "../ft2_palette.h" - -const uint8_t mouseCursors[7774] = -{ - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR,PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_TRANSPR,PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR -}; - -const uint8_t mouseCursorBusyClock[2990] = -{ - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR -}; - -const uint8_t mouseCursorBusyGlass[13156] = -{ - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR -}; +#include +#include "../ft2_palette.h" + +const uint8_t mouseCursors[7774] = +{ + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR,PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_TRANSPR,PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR +}; + +const uint8_t mouseCursorBusyClock[2990] = +{ + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR +}; + +const uint8_t mouseCursorBusyGlass[13156] = +{ + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_BCKGRND,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_MOUSEPT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_BCKGRND,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_BCKGRND,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR +}; diff --git a/src/gfxdata/ft2_gfx_nibbles.c b/src/gfxdata/ft2_gfx_nibbles.c index 4877966..1ed44b4 100644 --- a/src/gfxdata/ft2_gfx_nibbles.c +++ b/src/gfxdata/ft2_gfx_nibbles.c @@ -1,5651 +1,5651 @@ -#include -#include "../ft2_palette.h" - -const uint8_t nibblesLogo[5369] = -{ - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, - PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, - PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP -}; - -const uint8_t nibblesStages[53000] = -{ - PAL_BCKGRND,PAL_BLCKMRK,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BLCKMRK,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT, - PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BLCKMRK,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BLCKMRK, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BLCKTXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_PATTEXT,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, - PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, - PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, - PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, - PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_PATTEXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BLCKMRK,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BLCKTXT,PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKMRK,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_PATTEXT,PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_PATTEXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_PATTEXT,PAL_PATTEXT,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BLCKMRK,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, - PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, - PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, - PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, - PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND, - PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, - PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1, - PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, - PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, - PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1, - PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_PATTEXT, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BLCKMRK,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BLCKTXT,PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_BLCKTXT, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_PATTEXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_PATTEXT,PAL_PATTEXT,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT, - PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BLCKMRK,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BLCKMRK,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_PATTEXT, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BLCKTXT,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON1, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_FORGRND, - PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND -}; +#include +#include "../ft2_palette.h" + +const uint8_t nibblesLogo[5369] = +{ + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2, + PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_FORGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND,PAL_DSKTOP2,PAL_FORGRND, + PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP +}; + +const uint8_t nibblesStages[53000] = +{ + PAL_BCKGRND,PAL_BLCKMRK,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BLCKMRK,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT, + PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BLCKMRK,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BLCKMRK, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BLCKTXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_PATTEXT,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, + PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, + PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, + PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, + PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_PATTEXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BLCKMRK,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BLCKTXT,PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKMRK,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_PATTEXT,PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_PATTEXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_PATTEXT,PAL_PATTEXT,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BLCKMRK,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, + PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, + PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, + PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, + PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND, + PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, + PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1, + PAL_FORGRND,PAL_FORGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, + PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, + PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1, + PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_PATTEXT, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BLCKMRK,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BLCKTXT,PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_BLCKTXT, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_PATTEXT,PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_PATTEXT,PAL_PATTEXT,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT,PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BLCKTXT, + PAL_PATTEXT,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BLCKMRK,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BLCKMRK,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_PATTEXT, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BLCKTXT,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON1, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_FORGRND, + PAL_FORGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_FORGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DSKTOP1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DSKTOP1,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_BCKGRND,PAL_DSKTOP2,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_BCKGRND,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_DSKTOP1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_DESKTOP,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BLCKTXT,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_PATTEXT,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND +}; diff --git a/src/gfxdata/ft2_gfx_sampler.c b/src/gfxdata/ft2_gfx_sampler.c index 05d7c07..cb6c821 100644 --- a/src/gfxdata/ft2_gfx_sampler.c +++ b/src/gfxdata/ft2_gfx_sampler.c @@ -1,1250 +1,1250 @@ -#include -#include "../ft2_palette.h" - -const uint8_t leftLoopPinUnclicked[2464] = -{ - PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR -}; - -const uint8_t leftLoopPinClicked[2464] = -{ - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_TRANSPR,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_TRANSPR,PAL_TRANSPR,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_DESKTOP,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR -}; - -const uint8_t rightLoopPinUnclicked[2464] = -{ - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP1,PAL_DSKTOP1, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR, - PAL_TRANSPR,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2 -}; - -const uint8_t rightLoopPinClicked[2464] = -{ - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2, - PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR, - PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, - PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, - PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP -}; +#include +#include "../ft2_palette.h" + +const uint8_t leftLoopPinUnclicked[2464] = +{ + PAL_DSKTOP2,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DSKTOP2,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR +}; + +const uint8_t leftLoopPinClicked[2464] = +{ + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_TRANSPR,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_TRANSPR,PAL_TRANSPR,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_DESKTOP,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR +}; + +const uint8_t rightLoopPinUnclicked[2464] = +{ + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP1,PAL_DSKTOP1, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR, + PAL_TRANSPR,PAL_DSKTOP1,PAL_DSKTOP1,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2,PAL_DSKTOP2 +}; + +const uint8_t rightLoopPinClicked[2464] = +{ + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_LOOPPIN,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2, + PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2,PAL_TRANSPR, + PAL_TRANSPR,PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DSKTOP2, + PAL_DSKTOP2,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP, + PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP,PAL_DESKTOP +}; diff --git a/src/gfxdata/ft2_gfx_scopes.c b/src/gfxdata/ft2_gfx_scopes.c index c7eda5a..b3a1bfd 100644 --- a/src/gfxdata/ft2_gfx_scopes.c +++ b/src/gfxdata/ft2_gfx_scopes.c @@ -1,1605 +1,1605 @@ -#include -#include "../ft2_palette.h" - -const uint8_t scopeRecBMP[52] = -{ - PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR, - PAL_TRANSPR,PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR, - PAL_TRANSPR,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, - PAL_TRANSPR,PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR, - PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR, - PAL_MOUSEPT,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR, - PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT, - PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR,PAL_MOUSEPT, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR, - PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR,PAL_MOUSEPT -}; - -const uint8_t scopeMuteBMP1[4374] = -{ - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND -}; - -const uint8_t scopeMuteBMP2[2997] = -{ - PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTONS, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND -}; - -const uint8_t scopeMuteBMP3[1976] = -{ - PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND -}; - -const uint8_t scopeMuteBMP4[1400] = -{ - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, - PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND -}; - -const uint8_t scopeMuteBMP5[1050] = -{ - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND -}; - -const uint8_t scopeMuteBMP6[875] = -{ - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND -}; - -const uint8_t scopeMuteBMP7[672] = -{ - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS -}; - -const uint8_t scopeMuteBMP8[576] = -{ - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS -}; - -const uint8_t scopeMuteBMP9[504] = -{ - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, - PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS -}; - -const uint8_t scopeMuteBMP10[408] = -{ - PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND, - PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1, - PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS -}; - -const uint8_t scopeMuteBMP11[288] = -{ - PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, - PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND -}; - -const uint8_t scopeMuteBMP12[216] = -{ - PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND, - PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, - PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, - PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, - PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS -}; +#include +#include "../ft2_palette.h" + +const uint8_t scopeRecBMP[52] = +{ + PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR, + PAL_TRANSPR,PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR, + PAL_TRANSPR,PAL_MOUSEPT,PAL_MOUSEPT,PAL_MOUSEPT, + PAL_TRANSPR,PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR, + PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR, + PAL_MOUSEPT,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR, + PAL_TRANSPR,PAL_TRANSPR,PAL_TRANSPR,PAL_MOUSEPT, + PAL_TRANSPR,PAL_MOUSEPT,PAL_TRANSPR,PAL_MOUSEPT, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR,PAL_TRANSPR, + PAL_MOUSEPT,PAL_MOUSEPT,PAL_TRANSPR,PAL_MOUSEPT +}; + +const uint8_t scopeMuteBMP1[4374] = +{ + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND +}; + +const uint8_t scopeMuteBMP2[2997] = +{ + PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTONS, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND +}; + +const uint8_t scopeMuteBMP3[1976] = +{ + PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND +}; + +const uint8_t scopeMuteBMP4[1400] = +{ + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, + PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND +}; + +const uint8_t scopeMuteBMP5[1050] = +{ + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND +}; + +const uint8_t scopeMuteBMP6[875] = +{ + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND +}; + +const uint8_t scopeMuteBMP7[672] = +{ + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS +}; + +const uint8_t scopeMuteBMP8[576] = +{ + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS +}; + +const uint8_t scopeMuteBMP9[504] = +{ + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BUTTON2,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS, + PAL_FORGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS +}; + +const uint8_t scopeMuteBMP10[408] = +{ + PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND, + PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1, + PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS +}; + +const uint8_t scopeMuteBMP11[288] = +{ + PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTON1,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1, + PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND +}; + +const uint8_t scopeMuteBMP12[216] = +{ + PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND, + PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND, + PAL_BUTTON2,PAL_BCKGRND,PAL_BUTTON1,PAL_FORGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON1,PAL_BUTTON1, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON2,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_FORGRND,PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BUTTONS,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTON1,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS,PAL_BUTTONS, + PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BUTTONS,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BUTTON2,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_FORGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND, + PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BCKGRND,PAL_BUTTONS +}; diff --git a/src/helpdata/FT2.HLP b/src/helpdata/FT2.HLP index 1afae9a..b7973e2 100644 --- a/src/helpdata/FT2.HLP +++ b/src/helpdata/FT2.HLP @@ -1,937 +1,936 @@ -;*************************************************************************** -;*************************************************************************** -@LFeatures - -@X040@C001Brief list of features: ->@X060@C002 ->- 32 channels. ->- Full MIDI support (input only in this clone!) ->- 12-Point Volume- & Panning Envelope. ->- Multisamples, up to 16 samples/instrument. ->- 128 instruments. ->- "Unlimited" sample length. (1GB in this clone) ->- 8 octaves. ->- Variable pattern length. ->- Built in sampler/sample editor. ->- Up to 256 patterns. ->- Song length up to 256. ->- New volume/panning/vibrato column. ->- Song editor. ->- Full screen edit mode. ->- Improved editing facilities. - -@X040@C001FT2 supports the following file formats: - -@X040@C001Modules: ->@X060@C002 ->- Standard modules (15- > 31-instruments). (MOD,NST) ->- Fasttracker v1.0 2,4,6,8..32-channel formats. (MOD) ->- ScreamTracker modules. (STM,S3M) -> -@X040@C001Samples: ->@X060@C002 ->- Gravis Ultrasound Patches, PAT. ->- SMP/SAM/RAW/SND data files, signed and unsigned. ->- Windows WAV-files. ->- Amiga IFF-files. (Interchange File Format) ->- Apple AIFF-files. - -@X040@C001FT2 introduces several new file formats: ->@X060@C002 ->- XM @T110Extended module. ->- XI @T110Extended instrument. ->- XP @T110Extended pattern. ->- XT @T110Extended track. - -END -;*************************************************************************** -;*************************************************************************** -@LEffects - -@X040@C001Short summary: ->@X060@C002 ->0 Arpeggio ->1 Portamento up ->2 Portamento down ->3 Tone portamento ->4 Vibrato ->5 Portamento + Volume slide ->6 Vibrato + Volume slide ->7 Tremolo ->8 Set panning position ->9 Sample offset ->A Volume slide ->B Position jump ->C Set volume ->D Pattern break ->E + ->@X0800 Filter on/off (Amiga only!) ->1 Fine portamento up ->2 Fine portamento down ->3 Set glissando control ->4 Set vibrato control ->5 Set fine-tune ->6 Jump loop ->7 Set tremolo control ->8 Unused ->9 Retrig note ->A Fine volume slide up ->B Fine volume slide down ->C Note cut ->D Note delay ->E Pattern delay ->F Funk it! (Not implemented) ->@X060 -F Set speed ->G Set global volume ->H Global volume slide ->K Key off ->L Set envelope position ->P Panning slide ->R Multi retrig note ->T Tremor ->X + ->@X0801 Extra fine portamento up ->2 Extra fine portamento down - -@X040@C001Volume column: ->@X060@C002 -00..40 @T160Set volume. -> ->- @T160Volume slide down. ->+ @T160Volume slide up. ->D @T160Fine volume slide down. (Indicated by symbol) ->U @T160Fine volume slide up. (Indicated by symbol) ->S @T160Set vibrato speed. ->V @T160Vibrato. ->P @T160Set panning position. ->R @T160Panning slide right. (Indicated by symbol) ->L @T160Panning slide left. (Indicated by symbol) ->M @T160Tone portamento. - - -@L@X000Detailed information - -@X040@C001Arpeggio ->@X060@C002 -Syntax: 0 + 1st halftone + 2nd halftone - -Ex.: C-1 037 - ->10 Plays C-1 tick #1. ->20 Plays C-1 + 3 Notes = D#1 tick #2. ->30 Plays C-1 + 7 Notes = G-1 tick #3. ->40 Goto 10 - -@X040@C001Portamento up/down ->@X060@C002 -Syntax: (1 or 2) + Speed - -Portamento is used to slide the sample pitch up or down. This is -done using the period value. If Amiga frequency table is used, the -sliding will be non-linear (the speed depends on the frequency). - -@X040@C001Tone portamento ->@X060@C002 -Syntax: 3 + Speed - -This command is used together with a note, and will slide to its -frequency. If glissando (E3) is used, the frequency will be rounded -to the nearest halftone. - -@X040@C001Vibrato ->@X060@C002 -Syntax: 4 + Rate + Depth - -Adds vibrato to the channel with a rate and speed. Set vibrato -control (E4) can be used to change the vibrato wave form (see -below). - -@X040@C001Tone portamento + volume slide ->@X060@C002 -Syntax: 5 + Speed - -This command will execute both tone portamento and volume slide. -The speed is used for the volume slide. - -@X040@C001Vibrato + volume slide ->@X060@C002 -Syntax: 6 + Speed - -This command will execute both vibrato and volume slide. The -speed is used for the volume slide. - -@X040@C001Tremolo ->@X060@C002 -Syntax: 7 + Rate + Depth - -Tremolo adds vibrato to the current volume. The syntax is exactly -as for the vibrato command. - -@X040@C001Set panning position ->@X060@C002 -Syntax: 8 + Position - -Sets the panning position for the channel. $00 is the leftmost -position and $FF the rightmost. Note that some sound cards (ex. -GUS) can't use as many as 256 panning positions. - -@X040@C001Sample offset ->@X060@C002 -Syntax: 9 + Offset - -This command should be used together with a note. The sample will -be played from (Offset*$100) instead of zero. - -@X040@C001Volume slide ->@X060@C002 -Syntax: A + Up speed + Down speed - -Slides the current volume up or down. Either up speed or down -speed should be zero. - -@X040@C001Position jump ->@X060@C002 -Syntax: B + Position - -This command will jump to the selected song position and play the -pattern from the beginning. - -@X040@C001Set volume ->@X060@C002 -Syntax: C + Volume - -Sets the current volume. The volume should not be greater than -$40. - -@X040@C001Pattern break ->@X060@C002 -Syntax: D + Pattern-position - -This command will jump to the next pattern and play from the -specified position. - -@X040@C001Set filter (Amiga only!) ->@X060@C002 -Syntax: E0 + Status - -Use E00 and your tune will sound really bad on an Amiga! - -@X040@C001Fine portamento up/down ->@X060@C002 -Syntax: E(1 or 2) + Speed - -This command works as portamento up/down, but it only slides up -once. - -@X040@C001Set glissando control ->@X060@C002 -Syntax: E3 + Status - -If Status is =1, the frequency when using tone portamento will be -rounded to the nearest halftone. - -@X040@C001Set vibrato control ->@X060@C002 -Syntax: E4 + Type - -This command controls the vibrato wave form. - -Type: 0 = Sine 1 = Ramp down 2 = Square - -If you add 4 to the type, the wave form will not be retrigged when a -new instrument is played. - -@X040@C001Set fine-tune ->@X060@C002 -Syntax: E5 + Tune - -This command should be used together with a note. It will cause -another fine-tune value to be used. It seems quite unusable to me... - -@X040@C001Pattern loop ->@X060@C002 -Syntax: E6 + Count - -If count is zero, the beginning of the loop will be specified. When a -non-zero value is used, the pattern will be looped from the loop -start. - -@X040@C001Set tremolo control ->@X060@C002 -Syntax: E7 + Type - -This command works exactly as set vibrato control, but the -tremolo wave form will be changed instead. - -@X040@C001Retrig note ->@X060@C002 -Syntax: E9 + Interval - -Retrigs the note with the specified interval. - -@X040@C001Fine volume slide up/down ->@X060@C002 -Syntax: E(A or B) + Speed - -This command works as the usual volume slide, but it will only slide -once. - -@X040@C001Note cut ->@X060@C002 -Syntax: EC + Tick - -Cuts the note at the specified tick. Note that it will only set the -volume to zero, and the sample will still be played. - -@X040@C001Note delay ->@X060@C002 -Syntax: ED + Ticks - -This command will delay the note the selected number of ticks. - -@X040@C001Pattern delay ->@X060@C002 -Syntax: EE + Notes - -This command will delay the pattern the selected number of notes. - -@X040@C001Set speed ->@X060@C002 -Syntax: F + Value - -This command will set the speed or BPM value of the song. If value -is less than $20, the speed will be changed. Otherwise, the BPM -value will be changed. - -@X040@C001Set global volume ->@X060@C002 -Syntax: G + volume - -Sets the global volume. The volume should not be greater than $40. - -@X040@C001Global volume slide ->@X060@C002 -Syntax: H + Up speed + Down speed - -This command works exactly as volume slide, but it slides the -global volume instead. - -@X040@C001Key off ->@X060@C002 -Syntax: K + Tick - -This command will trigger a "Key off" at the specified tick. - -@X040@C001Set envelope position ->@X060@C002 -Syntax: L + Position - -Changes the envelope position. Magnus told me that it would be -very usable. - -@X040@C001Panning slide ->@X060@C002 -Syntax: P + Right speed + Left speed - -This command slides the panning position. It works like the volume -slide. Note that some sound cards may not handle 256 panning -positions. - -@X040@C001Multi retrig ->@X060@C002 -Syntax: R + Volume change + Interval - -This is an extended version of the retrig command. - -Volume change: ->@X1000 = None @T3008 = Unused ->1 = -1 @T3009 = +1 ->2 = -2 @T300A = +2 ->3 = -4 @T300B = +4 ->4 = -8 @T300C = +8 ->5 = -16 @T300D = +16 ->6 = *2/3 @T300E = *3/2 ->7 = *1/2 @T300F = *2 - -@X040@C001Tremor ->@X060@C002 -Syntax: T + On time + Off time - -This weird command will set the volume to zero during off time -number of ticks. It is included for STM compatibility. - -@X040@C001Extra fine portamento up/down ->@X060@C002 -Syntax: X(1 or 2) + Speed - -This command works as fine portamento up/down, but the speed -will be divided by four. - -END -;*************************************************************************** -;*************************************************************************** -@LKeyboard - ->@X020@C002 ->If you have an ambition to create music efficiently we strongly recommend -that you learn ALL the keyboard functions. Many of them are the same -from Fasttracker 1 and Protracker to ensure that you feel comfortable -using this program from the very first minute. -> ->@X020@C001 ->You should be aware of the fact that: -> ->@C002This help text is written using a Swedish keyboard. Therefore some -references to non-ordinary keys might be wrong. -Sh = shift key. -> -@X040@C001Video: ->@X060@C002 -Alt+Enter @T160Toggle fullscreen mode - -@X040@C001Cursor moves: ->@X060@C002 -F9..F12 @T160Jump in pattern. ->Ctrl+F9..F12 @T160Pattern-play from F9..F12 line. ->Sh+F9..F12 @T160Store current line in F9..F12. ->PageUp @T160Jump 16-lines upwards. ->PageDown @T160Jump 16-lines downwards. ->Home @T160Jump to line 0. ->End @T160Jump to last line. ->Tab @T160Jump to next track. ->Alt+Q..I @T160Jump to track (0..7) MOD N-Channels. ->Alt+A..K @T160Jump to track (8..15) MOD N-Channels. - -@X040@C001Cut/Copy/Paste: ->@X060@C002 -Delete @T160Delete note or volume column at cursor. ->Sh+Delete @T160Delete note, volume and effect at cursor. ->Ctrl+Delete @T160Delete volume and effect at cursor. ->Alt+Delete @T160Delete effect at cursor. ->Insert @T160Insert note at cursor. ->Sh+Insert @T160Insert line at cursor. ->Backspace @T160Delete previous note. ->Sh+Backspace @T160Delete previous line. ->Alt+Cursor @T160Mark block. ->Sh+F3 @T160Cut track. ->Sh+F4 @T160Copy track. ->Sh+F5 @T160Paste track. ->Ctrl+F3 @T160Cut pattern. ->Ctrl+F4 @T160Copy pattern. ->Ctrl+F5 @T160Paste pattern. ->Alt+F3 @T160Cut block. ->Alt+F4 @T160Copy block. ->Alt+F5 @T160Paste block. ->Alt+C @T160Mark current track. - -@X040@C001Miscellaneous: ->@X060@C002 -Right ctrl. @T160Play song. ->Alt Gr @T160Play pattern. ->Right shift @T160Record pattern. ->Space @T160Stop/Edit. ->F1..F7 @T160Select octave. ->Key below Esc @T160Increase cursoradd. ->Sh+(1/2) @T160Decrease cursoradd. ->CapsLock @T160Enter Keyoff-"note". ->Sh+Left @T160Increase song position. ->Sh+Right @T160Decrease song position. ->Ctrl+Left @T160Increase pattern number. ->Ctrl+Right @T160Decrease pattern number. - -@X040@C001Window switching: ->@X060@C002 -Ctrl+ ->A @T160Advanced edit. ->B @T160About. ->C @T160Configuration. ->D @T160Disk operations. ->E @T160Sample editor extension. ->H @T160Help. ->I @T160Instrument editor. ->M @T160Instrument editor extension. (MIDI) ->N @T160Nibbles. ->P @T160Pattern. ->R @T160Trim. ->S @T160Sample editor. ->T @T160Transpose. ->X @T160Main screen. (almost alt+X) ->Z @T160Full screen edit. (Z for siZe?) ->1 @T160Configuration #1. ->2 @T160Configuration #2. ->3 @T160Configuration #3. ->4 @T160Configuration #4. - -@X040@C001Instrument select (Numeric keypad): ->@X060@C002 -Top 4 keys @T160Select instrument block. ->'+' +Top 4 keys @T160Select instrument block + 4. ->Enter @T160Select instrument bank. ->0 @T160Select no instrument. ->1..8 @T160Select instrument in block. ->, @T160Clear instrument. ->Sh+, @T160Clear sample. ->Sh+Up @T160Select previous instrument. ->Sh+Down @T160Select next instrument. - -@X040@C001Command/Volume macro: ->@X060@C002 -Alt+1..0 @T160Write command/volume at cursor. ->Sh+Alt+1..0 @T160Read command/volume at cursor. - -@X040@C001Scale-fade volume: ->@X060@C002 -Sh+V @T160Scale-fade volume in track. ->Ctrl+V @T160Scale-fade volume in pattern. ->Alt+V @T160Scale-fade volume in block. - -@X040@C001Transpose: ->@X060@C002 -Sh+F7 @T160Transpose current instrument in track down. ->Sh+F8 @T160Transpose current instrument in track up. ->Ctrl+F7 @T160Transpose current instrument in pattern down. ->Ctrl+F8 @T160Transpose current instrument in pattern up. ->Alt+F7 @T160Transpose current instrument in block down. ->Alt+F8 @T160Transpose current instrument in block up. ->Sh+F1 @T160Transpose all instruments in track down. ->Sh+F2 @T160Transpose all instruments in track up. ->Ctrl+F1 @T160Transpose all instruments in pattern down. ->Ctrl+F2 @T160Transpose all instruments in pattern up. ->Alt+F1 @T160Transpose all instruments in block down. ->Alt+F2 @T160Transpose all instruments in block up. -> -@X040@C001Sample editor: ->@X060@C002 -Alt/Ctrl+A @T160Range all. ->Alt+S @T160Show range. ->Alt+Z @T160Zoom out. ->Alt+X or Delete @T160Cut. ->Alt/Ctrl+C @T160Copy. ->Alt/Ctrl+V @T160Paste. ->Alt+R @T160Crop. ->Mouse wheel @T160Zoom sample data in/out. - -END -;*************************************************************************** -;*************************************************************************** -@LHow to use Fasttracker 2.0 ->@X040@C002 ->All "not-too-trivial" functions are presented below (ordered in -windows) with a short description. - ->@X020@C001Main screen: -> ->@X040@C001BPM (Beats per minute): ->@X060@C002 -The BPM setting defines how fast (ticks/second) the music player -will run. 125 BPM <-> 50 Hz. ->Number of player ticks/second = BPM*2/5 - ->@X040@C001Spd, Speed: ->@X060@C002 -Speed = number of player ticks/pattern line. - ->@X040@C001Add: ->@X060@C002 -"Add" is the number of pattern lines the cursor jumps when you -edit a note. - ->@X040@C001Ptn: ->@X060@C002 -The current pattern number. - ->@X040@C001Ln: ->@X060@C002 -The number of lines for the current pattern. Up to $100 lines. Note -that FT2 won't warn you if you decrease this value. The notes at -the bottom line will be thrown out to the binary space. - ->@X040@C001Expd: ->@X060@C002 -Expand pattern. Inserts a blank line after each pattern line. Useful -if you want to convert a pattern that runs in speed 2*x to a -pattern that runs in speed x. - ->@X040@C001Shnk: ->@X060@C002 -Shrink pattern. Deletes all odd pattern lines. - ->@X040@C001The instrument/sample selector: ->@X060@C002 -The instrument that has a mark on it's name string, is the -destination instrument. ->The instrument that has a mark on it's number, is the source -instrument. ->The same goes for the samples. ->You change the name on an instrument/sample by clicking the right -button. - ->@X020@C001Scopes: ->@X060@C002 ->Left button: Turn channel on/off. ->Right button: Turn channel multi-record/edit on/off. ->Left+right button: Turn all channels off except the selected one. - -@X020@C001Instrument Editor: -> ->@X040@C001What is an instrument?: ->@X060@C002 -A Fasttracker 2 instrument is: -> 1 Volume envelope -> 1 Panning envelope -> 1 Auto-vibrato definition -> 1..16 Sample(s) -> 1 Keyboard split definition -> 1 MIDI definition - ->A Fasttracker 2 sample is: -> 1 Volume/Panning/Fine-tune definition -> 1 Relative tone. -> 1 Wave form. - ->@X040@C001The volume envelope: ->@X060@C002 ->An instrument's volume is defined by its envelope curve. If the -instrument has a sustain point, the envelope will stop at that -point until a key-off note has been played. When a key-off note is -played, the "fadeout" begins. ->One pixel in the envelope window corresponds to one player-tick. If -the BPM is 125, you'll consume 50 pixel/second. The window's -"size" is about 6 seconds. ->If you press the right mouse button at the predefine buttons, -you'll store the current envelope into that predefine cell. The -predefines are stored in the configuration file. ->Predefine number 1 is the default envelope. This means that if you -load a sample, it will get all envelope information from predefine -number 1, including the vibrato. ->Note that if you turn the volume-envelope off, you don't turn the -vibrato off. - ->@X040@C001The panning envelope: ->@X060@C002 ->Same as above, except from that the vibrato is not connected to -the panning envelope. - ->@X040@C001Tune: ->@X060@C002 ->The fine-tune resolution has been changed from a signed nibble -(-8..+7) to a signed byte (-128..+127). - ->@X040@C001Fadeout: ->@X060@C002 ->This is the fadeout speed. - ->@X040@C001Vibrato sweep: ->@X060@C002 ->This is the time (in player ticks) that will bypass until the -auto-vibrato will reach it's final amplitude. - ->@X040@C001The piano keyboard: ->@X060@C002 ->The piano keyboard defines the key split for an instrument. To -change the key split, choose a sample within the instrument and -then "draw" on the keyboard. ->The notes played with the current instrument are indicated on the -keyboard. - ->@X040@C001Important note: ->@X060@C002 ->The volume, panning, tune and relative tone is defined for EACH -SAMPLE in an instrument. All other information is defined for the -entire instrument. - -@X020@C001Instrument Editor Extension: (I.E.Ext.) -> ->@X040@C001MIDI: ->@X060@C002 ->'p.' stands for "program" (instrument). ->Several instruments can have the same transmit channel but with -different programs. FT2 changes the programs on the -MIDI-channels instantly during play if different programs are used. -Different programs cannot be played at the same channel at the -same time though. ->If you change this value, the program number will be transmitted to -the synthesizer immediately. ->Some synthesizers transmit program change information. If the -current instrument in FT2 is a MIDI-instr. with the same channel as -the received program change, it's MIDI-program will be changed. ->If your synthesizer doesn't transmit program change, there's no -point in changing it on the synthesizer, do it in FT2 instead. - ->@X040@C001Bender range: ->@X060@C002 ->This value defines how many notes the instrument on the -synthesizer can be pitchbended. FT2 uses this value for -transmitting the portamento up/down and tone-portamento -commands correctly. ->The MIDI-pitchbend works correctly only with linear frequency table. - -@X020@C001Sample Editor: -> ->@X040@C001Play (Wave form, range, display): ->@X060@C002 ->Plays the current sample with tone display above the "stop" -button. Note that respect is taken to the particular sample's -relative tone. - ->@X040@C001Save range: ->@X060@C002 ->Stores the range specified in the current sample directory. - ->@X040@C001Paste: ->@X060@C002 ->The sample data in the copy buffer is stored INTO the specified -range. - ->@X040@C001Crop: ->@X060@C002 ->Cuts everything but the range. Nothing is changed in the copy -buffer by this operation. - ->@X040@C001Volume: ->@X060@C002 ->Operates on the range. - ->@X040@C001X-Fade: ->@X060@C002 ->This is a tool for making smooth loops. Specify a range that covers -the first loop point. Make sure that there is as much space after -the second loop point as the range bypasses the first loop point. -Press the X-fade button. Enjoy! - ->@X040@C0018-Bit/16-bit: ->@X060@C002 ->If you load a 16-bit sample without header, FT2 assumes that it's -an 8-bit sample. When pressing the 16-bit button, do not press -"convert" when the request is made. - ->@X040@C001Minimize: ->@X060@C002 ->This function cuts the part of the sample that is beyond the second -loop point. - -@X020@C001Sample Editor Extension: (S.E.Ext.) -> ->@X040@C001Copy/Xchg Sample/Instrument: ->@X060@C002 ->The source is specified in the line numbering column of the -instr./sample lists in the upper-right corner of the screen. The -destination is the current instr./sample. - ->@X040@C001Backwards: ->@X060@C002 ->Operates on the range (or the whole sample if no range is set). - ->@X040@C001Convert: ->@X060@C002 ->Converts the entire sample from/to signed/unsigned. - ->@X040@C001Convert W: ->@X060@C002 -Swaps the byte order to/from Intel from/to Motorola standard on -the entire sample. -You'll need this function if you import 16-bit samples with Motorola -byte-ordering (f.ex. Kurzweil K2000 samples.) - ->@X040@C001Echo: ->@X060@C002 -Operates on the entire sample. - ->@X040@C001Fix DC: ->@X060@C002 -Attempts to center a sample that has unwanted DC offset/bias. -Please note that it is using a crude algorithm, so it can sometimes -fail depending on the sample data. - ->@X040@C001Resample: ->@X060@C002 -Operates on the entire sample. The sample's relative tone is -changed with respect to the resampling rate. - ->@X040@C001Mix sample: ->@X060@C002 ->Mixes the source with the destination to the source. - ->@X040@C001Draw mode: ->@X060@C002 -By pressing the right mouse button in the sample window, you can -draw your wave forms manually. - -@X020@C001Configuration: -> ->@X040@C001Auto save: ->@X060@C002 -If the auto save is on, FT2 will update the configuration file when -you exit the program. - -@X020@C001Configuration, I/O devices: -> ->@X040@C001Interpolation: ->@X060@C002 -The mixing routine interpolates the sample value between the -sample points to remove unwanted noise in the sound. Real FT2 uses -2-tap linear interpolation, while this clone uses 3-tap quadratic interpolation for -improved high frequencies. Turning it off will make the audio sharper, -but it will also be noisier. - ->@X040@C001Volume ramping: ->@X060@C002 -Enables the anti-click system in the audio mixer (FT2.08+). -Please note that original FT2 can't load this config entry, -clone only. - ->@X040@C0011.5-bit dither: ->@X060@C002 -Works for 16-bit audio mode only. -Applies random scaled values to the mixed samples before truncating to 16-bit. -This should in theory lower the quantization noise. 16-bit already has -a pretty low noise floor, so don't expect any audible difference here. -Also applies for WAV rendering. - ->@X040@C001Amplification: ->@X060@C002 -Amplifies the volume when mixing. If you set this one too high, you'll -get distortion. 32X equals full amplitude for one channel. - ->@X040@C001Frequency table: ->@X060@C002 -The linear frequency table makes all pitch bends run in constant -speed, independent of the current frequency. If you switch this -one, on a finished song, it might sound strange if the sound uses -portamentoes. - -@X020@C001Configuration, Layout: -> ->@X040@C001Pattern layout, hex numbering: ->@X060@C002 -If you use patterns that are longer than 99 lines, you should use -hex counting since there are only 2 digits in the line number column. - ->@X040@C001Scope style: ->@X060@C002 -"Original" will show the points in the scopes as pixels (like FT2). -"Lined" will draw lines between the points, like an oscilloscope. - -@X020@C001Configuration, Miscellaneous: -> ->@X040@C001VSync off: ->@X060@C002 -Tells the program to not use VSync for video. If your monitor's -refresh rate is not 60Hz (or 59Hz), then VSync is always off for -this program. Not having VSync will result in less input/video delay, -but also potential stuttering. - ->@X040@C001Pixel filter: ->@X060@C002 -Applies a subpixel filter that is used when the window is upscaled. -This also makes fullscreen mode completely stretch out if it didn't -already. Please keep in mind that this will make pixels look blurry. - -@X020@C001Advanced edit functions: -> ->@X040@C001Copy/Paste masking: ->@X060@C002 -The masking is used for copying/pasting only parts of a -"note-cell". The different parts of a "note-cell" is Note, Instr. nr., -Volume, Effect nr & Effect data. ->As you can see in the window there are 3 columns of -"enable/disable buttons" which has the letters C,P & T above. ->C means copy, it controls which parts that goes into the copybuffer. ->P means paste and controls which parts that goes out from the -copybuffer. ->T means transparency. If it's enabled, the pasting doesn't overwrite -data with nil-information, only with a note or a number <> 0. -> ->The cut functions works like pasting with zero-data. This means -that the cutting is controlled with P-column (or T-column). ->When you copy data with masking, the disabled parts are not -cleared in the copybuffer. (Making it possible to collect data from -several locations into the copybuffer.) - -END -;*************************************************************************** -;*************************************************************************** -@LProblems/FAQ ->@X020 ->@C001Q: Can I make fullscreen mode stretch out the whole screen? ->@C002A: Enable "Pixel filter" in Config -> Miscellaneous. ->@X035It won't look pretty, but to some people it's much better than nothing. ->@X020 ->@C001Q: I can't use ALT+F4 and ALT+F5! ->@C002A: Windows: If you have GeForce Experience installed, you need to change ->@X035the keybindings in its settings page. -macOS/OS X: Change ALT+F4/ALT+F5 keys in the OS to something else. Also for GNU/Linux. ->@X020 ->@C001Q: The mouse cursor is delayed/laggy! ->@C002A: Enable "VSync off" in Config -> Miscellaneous. This however, will ->@X035introduce stuttering because the rendering rate is not exact to your ->monitor's rate. Alternatively, enable "Hardware mouse" in Config -> Layout. ->@X020 ->@C001Q: Will you implement MIDI out functionality? ->@C002A: No, sorry. This is very difficult to implement correctly when having ->@X035higher audio buffer sizes (buffered replayer ticks)... ->@X020 ->@C001Q: Where is the configuration file stored? ->@C002A: Windows: \Users\USER\AppData\Roaming\FT2 clone\FT2.CFG ->@X035OS X: /Users/USER/Library/Application Support/FT2 clone/FT2.CFG -GNU/Linux: /home/USER/.config/FT2 clone/FT2.CFG -> -It will be stored in the program directory if the path couldn't be used. -If you put the configuration file in the program directory, it will read that -one and not attempt to create config dirs for the OS user. (portable mode) ->@X020 ->@C001Q: Can the clone read FT2.CFG from real FT2, and vice versa? ->@C002A: Yes, it should work just fine. Put it in the directory shown above. ->@X020 ->@C001Q: Smp. Ed.: While zooming in, I sometimes can't mark the last sample point! ->@C002A: This is normal. This is a limitation in the nature of scaling. ->@X020 ->@C001Q: I found a bug! ->@C002A: Please send a mail to olav.sorensen@live.no and try to explain it. - -END -;*************************************************************************** -;*************************************************************************** -@LKnown bugs ->@X010 ->@C001Sample editor: ->@C002 ->@X010- When a looped sample is zoomed out in the sample editor, you could see ->@X021unwanted sample data at the loop-end point. This is because of a kludge -for the resampling interpolation to work faster in the audio mixer, and the -original FT2 has the same problem. I have made it so that if you zoom in to -see the individual sample points, it will look like normal. ->@X010 ->@C001Mouse / keyboard: -> ->@C002- When you hold down a key (f.ex. playing a sample), the mouse movement ->@X021can be choppy. This is related to the input queue being spammed with -"key down" events, delaying the mouse position events. -I only poll input once per frame (60Hz), so the frequency is a tad low. It has -to be like this for several reasons, though... ->@X010 ->- macOS / OS X: Holding down a mouse button won't trap the mouse cursor ->@X021inside the window. This is related to a kludge that simply doesn't work -very well in macOS. The mouse movement would freeze for some time after a mouse -button was held down. ->@X010 ->@C002- The "kill sample" shortcut (shift + num-pad Del/',') may not work on your ->@X021keyboard because of how the keyboard matrix is wired up. ->@X010 ->@C001Video: ->@C002 ->@X010- The scopes can mildly flicker depending on the waveform and pitch. ->@X021This is because their frequency is not clocked to exactly the same rate ->at which the scopes are rendered. It's close, which causes a flicker effect. -> ->@X010- Not a bug, but if your monitor's refresh rate is not set to 60Hz (or 59Hz) ->@X021you may experience visual stuttering because VSync will not be used then. -I highly recommend running your monitor at 60Hz if you're a hardcore user -of this program. -> ->@X010- macOS / OS X: If "Hardware mouse" is enabled, the mouse cursor won't ->@X021change when the program is busy. The macOS "wait" cursor is missing in -SDL2... - -END +;*************************************************************************** +;*************************************************************************** +@LFeatures + +@X040@C001Brief list of features: +>@X060@C002 +>- 32 channels. +>- Full MIDI support (input only in this clone!) +>- 12-Point Volume- & Panning Envelope. +>- Multisamples, up to 16 samples/instrument. +>- 128 instruments. +>- "Unlimited" sample length. (1GB in this clone) +>- 8 octaves. +>- Variable pattern length. +>- Built in sampler/sample editor. +>- Up to 256 patterns. +>- Song length up to 256. +>- New volume/panning/vibrato column. +>- Song editor. +>- Full screen edit mode. +>- Improved editing facilities. + +@X040@C001FT2 supports the following file formats: + +@X040@C001Modules: +>@X060@C002 +>- Standard modules (15- > 31-instruments). (MOD,NST) +>- Fasttracker v1.0 2,4,6,8..32-channel formats. (MOD) +>- ScreamTracker modules. (STM,S3M) +> +@X040@C001Samples: +>@X060@C002 +>- Gravis Ultrasound Patches, PAT. +>- SMP/SAM/RAW/SND data files, signed and unsigned. +>- Windows WAV-files. +>- Amiga IFF-files. (Interchange File Format) +>- Apple AIFF-files. + +@X040@C001FT2 introduces several new file formats: +>@X060@C002 +>- XM @T110Extended module. +>- XI @T110Extended instrument. +>- XP @T110Extended pattern. +>- XT @T110Extended track. + +END +;*************************************************************************** +;*************************************************************************** +@LEffects + +@X040@C001Short summary: +>@X060@C002 +>0 Arpeggio +>1 Portamento up +>2 Portamento down +>3 Tone portamento +>4 Vibrato +>5 Portamento + Volume slide +>6 Vibrato + Volume slide +>7 Tremolo +>8 Set panning position +>9 Sample offset +>A Volume slide +>B Position jump +>C Set volume +>D Pattern break +>E + +>@X0800 Filter on/off (Amiga only!) +>1 Fine portamento up +>2 Fine portamento down +>3 Set glissando control +>4 Set vibrato control +>5 Set fine-tune +>6 Jump loop +>7 Set tremolo control +>8 Unused +>9 Retrig note +>A Fine volume slide up +>B Fine volume slide down +>C Note cut +>D Note delay +>E Pattern delay +>F Funk it! (Not implemented) +>@X060 +F Set speed +>G Set global volume +>H Global volume slide +>K Key off +>L Set envelope position +>P Panning slide +>R Multi retrig note +>T Tremor +>X + +>@X0801 Extra fine portamento up +>2 Extra fine portamento down + +@X040@C001Volume column: +>@X060@C002 +00..40 @T160Set volume. +> +>- @T160Volume slide down. +>+ @T160Volume slide up. +>D @T160Fine volume slide down. (Indicated by symbol) +>U @T160Fine volume slide up. (Indicated by symbol) +>S @T160Set vibrato speed. +>V @T160Vibrato. +>P @T160Set panning position. +>R @T160Panning slide right. (Indicated by symbol) +>L @T160Panning slide left. (Indicated by symbol) +>M @T160Tone portamento. + + +@L@X000Detailed information + +@X040@C001Arpeggio +>@X060@C002 +Syntax: 0 + 1st halftone + 2nd halftone + +Ex.: C-1 037 + +>10 Plays C-1 tick #1. +>20 Plays C-1 + 3 Notes = D#1 tick #2. +>30 Plays C-1 + 7 Notes = G-1 tick #3. +>40 Goto 10 + +@X040@C001Portamento up/down +>@X060@C002 +Syntax: (1 or 2) + Speed + +Portamento is used to slide the sample pitch up or down. This is +done using the period value. If Amiga frequency table is used, the +sliding will be non-linear (the speed depends on the frequency). + +@X040@C001Tone portamento +>@X060@C002 +Syntax: 3 + Speed + +This command is used together with a note, and will slide to its +frequency. If glissando (E3) is used, the frequency will be rounded +to the nearest halftone. + +@X040@C001Vibrato +>@X060@C002 +Syntax: 4 + Rate + Depth + +Adds vibrato to the channel with a rate and speed. Set vibrato +control (E4) can be used to change the vibrato wave form (see +below). + +@X040@C001Tone portamento + volume slide +>@X060@C002 +Syntax: 5 + Speed + +This command will execute both tone portamento and volume slide. +The speed is used for the volume slide. + +@X040@C001Vibrato + volume slide +>@X060@C002 +Syntax: 6 + Speed + +This command will execute both vibrato and volume slide. The +speed is used for the volume slide. + +@X040@C001Tremolo +>@X060@C002 +Syntax: 7 + Rate + Depth + +Tremolo adds vibrato to the current volume. The syntax is exactly +as for the vibrato command. + +@X040@C001Set panning position +>@X060@C002 +Syntax: 8 + Position + +Sets the panning position for the channel. $00 is the leftmost +position and $FF the rightmost. Note that some sound cards (ex. +GUS) can't use as many as 256 panning positions. + +@X040@C001Sample offset +>@X060@C002 +Syntax: 9 + Offset + +This command should be used together with a note. The sample will +be played from (Offset*$100) instead of zero. + +@X040@C001Volume slide +>@X060@C002 +Syntax: A + Up speed + Down speed + +Slides the current volume up or down. Either up speed or down +speed should be zero. + +@X040@C001Position jump +>@X060@C002 +Syntax: B + Position + +This command will jump to the selected song position and play the +pattern from the beginning. + +@X040@C001Set volume +>@X060@C002 +Syntax: C + Volume + +Sets the current volume. The volume should not be greater than +$40. + +@X040@C001Pattern break +>@X060@C002 +Syntax: D + Pattern-position + +This command will jump to the next pattern and play from the +specified position. + +@X040@C001Set filter (Amiga only!) +>@X060@C002 +Syntax: E0 + Status + +Use E00 and your tune will sound really bad on an Amiga! + +@X040@C001Fine portamento up/down +>@X060@C002 +Syntax: E(1 or 2) + Speed + +This command works as portamento up/down, but it only slides up +once. + +@X040@C001Set glissando control +>@X060@C002 +Syntax: E3 + Status + +If Status is =1, the frequency when using tone portamento will be +rounded to the nearest halftone. + +@X040@C001Set vibrato control +>@X060@C002 +Syntax: E4 + Type + +This command controls the vibrato wave form. + +Type: 0 = Sine 1 = Ramp down 2 = Square + +If you add 4 to the type, the wave form will not be retrigged when a +new instrument is played. + +@X040@C001Set fine-tune +>@X060@C002 +Syntax: E5 + Tune + +This command should be used together with a note. It will cause +another fine-tune value to be used. It seems quite unusable to me... + +@X040@C001Pattern loop +>@X060@C002 +Syntax: E6 + Count + +If count is zero, the beginning of the loop will be specified. When a +non-zero value is used, the pattern will be looped from the loop +start. + +@X040@C001Set tremolo control +>@X060@C002 +Syntax: E7 + Type + +This command works exactly as set vibrato control, but the +tremolo wave form will be changed instead. + +@X040@C001Retrig note +>@X060@C002 +Syntax: E9 + Interval + +Retrigs the note with the specified interval. + +@X040@C001Fine volume slide up/down +>@X060@C002 +Syntax: E(A or B) + Speed + +This command works as the usual volume slide, but it will only slide +once. + +@X040@C001Note cut +>@X060@C002 +Syntax: EC + Tick + +Cuts the note at the specified tick. Note that it will only set the +volume to zero, and the sample will still be played. + +@X040@C001Note delay +>@X060@C002 +Syntax: ED + Ticks + +This command will delay the note the selected number of ticks. + +@X040@C001Pattern delay +>@X060@C002 +Syntax: EE + Notes + +This command will delay the pattern the selected number of notes. + +@X040@C001Set speed +>@X060@C002 +Syntax: F + Value + +This command will set the speed or BPM value of the song. If value +is less than $20, the speed will be changed. Otherwise, the BPM +value will be changed. + +@X040@C001Set global volume +>@X060@C002 +Syntax: G + volume + +Sets the global volume. The volume should not be greater than $40. + +@X040@C001Global volume slide +>@X060@C002 +Syntax: H + Up speed + Down speed + +This command works exactly as volume slide, but it slides the +global volume instead. + +@X040@C001Key off +>@X060@C002 +Syntax: K + Tick + +This command will trigger a "Key off" at the specified tick. + +@X040@C001Set envelope position +>@X060@C002 +Syntax: L + Position + +Changes the envelope position. Magnus told me that it would be +very usable. + +@X040@C001Panning slide +>@X060@C002 +Syntax: P + Right speed + Left speed + +This command slides the panning position. It works like the volume +slide. Note that some sound cards may not handle 256 panning +positions. + +@X040@C001Multi retrig +>@X060@C002 +Syntax: R + Volume change + Interval + +This is an extended version of the retrig command. + +Volume change: +>@X1000 = None @T3008 = Unused +>1 = -1 @T3009 = +1 +>2 = -2 @T300A = +2 +>3 = -4 @T300B = +4 +>4 = -8 @T300C = +8 +>5 = -16 @T300D = +16 +>6 = *2/3 @T300E = *3/2 +>7 = *1/2 @T300F = *2 + +@X040@C001Tremor +>@X060@C002 +Syntax: T + On time + Off time + +This weird command will set the volume to zero during off time +number of ticks. It is included for STM compatibility. + +@X040@C001Extra fine portamento up/down +>@X060@C002 +Syntax: X(1 or 2) + Speed + +This command works as fine portamento up/down, but the speed +will be divided by four. + +END +;*************************************************************************** +;*************************************************************************** +@LKeyboard + +>@X020@C002 +>If you have an ambition to create music efficiently we strongly recommend +that you learn ALL the keyboard functions. Many of them are the same +from Fasttracker 1 and Protracker to ensure that you feel comfortable +using this program from the very first minute. +> +>@X020@C001 +>You should be aware of the fact that: +> +>@C002This help text is written using a Swedish keyboard. Therefore some +references to non-ordinary keys might be wrong. +Sh = shift key. +> +@X040@C001Video: +>@X060@C002 +Alt+Enter @T160Toggle fullscreen mode + +@X040@C001Cursor moves: +>@X060@C002 +F9..F12 @T160Jump in pattern. +>Ctrl+F9..F12 @T160Pattern-play from F9..F12 line. +>Sh+F9..F12 @T160Store current line in F9..F12. +>PageUp @T160Jump 16-lines upwards. +>PageDown @T160Jump 16-lines downwards. +>Home @T160Jump to line 0. +>End @T160Jump to last line. +>Tab @T160Jump to next track. +>Alt+Q..I @T160Jump to track (0..7) MOD N-Channels. +>Alt+A..K @T160Jump to track (8..15) MOD N-Channels. + +@X040@C001Cut/Copy/Paste: +>@X060@C002 +Delete @T160Delete note or volume column at cursor. +>Sh+Delete @T160Delete note, volume and effect at cursor. +>Ctrl+Delete @T160Delete volume and effect at cursor. +>Alt+Delete @T160Delete effect at cursor. +>Insert @T160Insert note at cursor. +>Sh+Insert @T160Insert line at cursor. +>Backspace @T160Delete previous note. +>Sh+Backspace @T160Delete previous line. +>Alt+Cursor @T160Mark block. +>Sh+F3 @T160Cut track. +>Sh+F4 @T160Copy track. +>Sh+F5 @T160Paste track. +>Ctrl+F3 @T160Cut pattern. +>Ctrl+F4 @T160Copy pattern. +>Ctrl+F5 @T160Paste pattern. +>Alt+F3 @T160Cut block. +>Alt+F4 @T160Copy block. +>Alt+F5 @T160Paste block. +>Alt+C @T160Mark current track. + +@X040@C001Miscellaneous: +>@X060@C002 +Right ctrl. @T160Play song. +>Alt Gr @T160Play pattern. +>Right shift @T160Record pattern. +>Space @T160Stop/Edit. +>F1..F7 @T160Select octave. +>Key below Esc @T160Increase cursoradd. +>Sh+(1/2) @T160Decrease cursoradd. +>CapsLock @T160Enter Keyoff-"note". +>Sh+Left @T160Increase song position. +>Sh+Right @T160Decrease song position. +>Ctrl+Left @T160Increase pattern number. +>Ctrl+Right @T160Decrease pattern number. + +@X040@C001Window switching: +>@X060@C002 +Ctrl+ +>A @T160Advanced edit. +>B @T160About. +>C @T160Configuration. +>D @T160Disk operations. +>E @T160Sample editor extension. +>H @T160Help. +>I @T160Instrument editor. +>M @T160Instrument editor extension. (MIDI) +>N @T160Nibbles. +>P @T160Pattern. +>R @T160Trim. +>S @T160Sample editor. +>T @T160Transpose. +>X @T160Main screen. (almost alt+X) +>Z @T160Full screen edit. (Z for siZe?) +>1 @T160Configuration #1. +>2 @T160Configuration #2. +>3 @T160Configuration #3. +>4 @T160Configuration #4. + +@X040@C001Instrument select (Numeric keypad): +>@X060@C002 +Top 4 keys @T160Select instrument block. +>'+' +Top 4 keys @T160Select instrument block + 4. +>Enter @T160Select instrument bank. +>0 @T160Select no instrument. +>1..8 @T160Select instrument in block. +>, @T160Clear instrument. +>Sh+, @T160Clear sample. +>Sh+Up @T160Select previous instrument. +>Sh+Down @T160Select next instrument. + +@X040@C001Command/Volume macro: +>@X060@C002 +Alt+1..0 @T160Write command/volume at cursor. +>Sh+Alt+1..0 @T160Read command/volume at cursor. + +@X040@C001Scale-fade volume: +>@X060@C002 +Sh+V @T160Scale-fade volume in track. +>Ctrl+V @T160Scale-fade volume in pattern. +>Alt+V @T160Scale-fade volume in block. + +@X040@C001Transpose: +>@X060@C002 +Sh+F7 @T160Transpose current instrument in track down. +>Sh+F8 @T160Transpose current instrument in track up. +>Ctrl+F7 @T160Transpose current instrument in pattern down. +>Ctrl+F8 @T160Transpose current instrument in pattern up. +>Alt+F7 @T160Transpose current instrument in block down. +>Alt+F8 @T160Transpose current instrument in block up. +>Sh+F1 @T160Transpose all instruments in track down. +>Sh+F2 @T160Transpose all instruments in track up. +>Ctrl+F1 @T160Transpose all instruments in pattern down. +>Ctrl+F2 @T160Transpose all instruments in pattern up. +>Alt+F1 @T160Transpose all instruments in block down. +>Alt+F2 @T160Transpose all instruments in block up. +> +@X040@C001Sample editor: +>@X060@C002 +Alt/Ctrl+A @T160Range all. +>Alt+S @T160Show range. +>Alt+Z @T160Zoom out. +>Alt+X or Delete @T160Cut. +>Alt/Ctrl+C @T160Copy. +>Alt/Ctrl+V @T160Paste. +>Alt+R @T160Crop. +>Mouse wheel @T160Zoom sample data in/out. + +END +;*************************************************************************** +;*************************************************************************** +@LHow to use Fasttracker 2.0 +>@X040@C002 +>All "not-too-trivial" functions are presented below (ordered in +windows) with a short description. + +>@X020@C001Main screen: +> +>@X040@C001BPM (Beats per minute): +>@X060@C002 +The BPM setting defines how fast (ticks/second) the music player +will run. 125 BPM <-> 50 Hz. +>Number of player ticks/second = BPM*2/5 + +>@X040@C001Spd, Speed: +>@X060@C002 +Speed = number of player ticks/pattern line. + +>@X040@C001Add: +>@X060@C002 +"Add" is the number of pattern lines the cursor jumps when you +edit a note. + +>@X040@C001Ptn: +>@X060@C002 +The current pattern number. + +>@X040@C001Ln: +>@X060@C002 +The number of lines for the current pattern. Up to $100 lines. Note +that FT2 won't warn you if you decrease this value. The notes at +the bottom line will be thrown out to the binary space. + +>@X040@C001Expd: +>@X060@C002 +Expand pattern. Inserts a blank line after each pattern line. Useful +if you want to convert a pattern that runs in speed 2*x to a +pattern that runs in speed x. + +>@X040@C001Shnk: +>@X060@C002 +Shrink pattern. Deletes all odd pattern lines. + +>@X040@C001The instrument/sample selector: +>@X060@C002 +The instrument that has a mark on it's name string, is the +destination instrument. +>The instrument that has a mark on it's number, is the source +instrument. +>The same goes for the samples. +>You change the name on an instrument/sample by clicking the right +button. + +>@X020@C001Scopes: +>@X060@C002 +>Left button: Turn channel on/off. +>Right button: Turn channel multi-record/edit on/off. +>Left+right button: Turn all channels off except the selected one. + +@X020@C001Instrument Editor: +> +>@X040@C001What is an instrument?: +>@X060@C002 +A Fasttracker 2 instrument is: +> 1 Volume envelope +> 1 Panning envelope +> 1 Auto-vibrato definition +> 1..16 Sample(s) +> 1 Keyboard split definition +> 1 MIDI definition + +>A Fasttracker 2 sample is: +> 1 Volume/Panning/Fine-tune definition +> 1 Relative tone. +> 1 Wave form. + +>@X040@C001The volume envelope: +>@X060@C002 +>An instrument's volume is defined by its envelope curve. If the +instrument has a sustain point, the envelope will stop at that +point until a key-off note has been played. When a key-off note is +played, the "fadeout" begins. +>One pixel in the envelope window corresponds to one player-tick. If +the BPM is 125, you'll consume 50 pixel/second. The window's +"size" is about 6 seconds. +>If you press the right mouse button at the predefine buttons, +you'll store the current envelope into that predefine cell. The +predefines are stored in the configuration file. +>Predefine number 1 is the default envelope. This means that if you +load a sample, it will get all envelope information from predefine +number 1, including the vibrato. +>Note that if you turn the volume-envelope off, you don't turn the +vibrato off. + +>@X040@C001The panning envelope: +>@X060@C002 +>Same as above, except from that the vibrato is not connected to +the panning envelope. + +>@X040@C001Tune: +>@X060@C002 +>The fine-tune resolution has been changed from a signed nibble +(-8..+7) to a signed byte (-128..+127). + +>@X040@C001Fadeout: +>@X060@C002 +>This is the fadeout speed. + +>@X040@C001Vibrato sweep: +>@X060@C002 +>This is the time (in player ticks) that will bypass until the +auto-vibrato will reach it's final amplitude. + +>@X040@C001The piano keyboard: +>@X060@C002 +>The piano keyboard defines the key split for an instrument. To +change the key split, choose a sample within the instrument and +then "draw" on the keyboard. +>The notes played with the current instrument are indicated on the +keyboard. + +>@X040@C001Important note: +>@X060@C002 +>The volume, panning, tune and relative tone is defined for EACH +SAMPLE in an instrument. All other information is defined for the +entire instrument. + +@X020@C001Instrument Editor Extension: (I.E.Ext.) +> +>@X040@C001MIDI: +>@X060@C002 +>'p.' stands for "program" (instrument). +>Several instruments can have the same transmit channel but with +different programs. FT2 changes the programs on the +MIDI-channels instantly during play if different programs are used. +Different programs cannot be played at the same channel at the +same time though. +>If you change this value, the program number will be transmitted to +the synthesizer immediately. +>Some synthesizers transmit program change information. If the +current instrument in FT2 is a MIDI-instr. with the same channel as +the received program change, it's MIDI-program will be changed. +>If your synthesizer doesn't transmit program change, there's no +point in changing it on the synthesizer, do it in FT2 instead. + +>@X040@C001Bender range: +>@X060@C002 +>This value defines how many notes the instrument on the +synthesizer can be pitchbended. FT2 uses this value for +transmitting the portamento up/down and tone-portamento +commands correctly. +>The MIDI-pitchbend works correctly only with linear frequency table. + +@X020@C001Sample Editor: +> +>@X040@C001Play (Wave form, range, display): +>@X060@C002 +>Plays the current sample with tone display above the "stop" +button. Note that respect is taken to the particular sample's +relative tone. + +>@X040@C001Save range: +>@X060@C002 +>Stores the range specified in the current sample directory. + +>@X040@C001Paste: +>@X060@C002 +>The sample data in the copy buffer is stored INTO the specified +range. + +>@X040@C001Crop: +>@X060@C002 +>Cuts everything but the range. Nothing is changed in the copy +buffer by this operation. + +>@X040@C001Volume: +>@X060@C002 +>Operates on the range. + +>@X040@C001X-Fade: +>@X060@C002 +>This is a tool for making smooth loops. Specify a range that covers +the first loop point. Make sure that there is as much space after +the second loop point as the range bypasses the first loop point. +Press the X-fade button. Enjoy! + +>@X040@C0018-Bit/16-bit: +>@X060@C002 +>If you load a 16-bit sample without header, FT2 assumes that it's +an 8-bit sample. When pressing the 16-bit button, do not press +"convert" when the request is made. + +>@X040@C001Minimize: +>@X060@C002 +>This function cuts the part of the sample that is beyond the second +loop point. + +@X020@C001Sample Editor Extension: (S.E.Ext.) +> +>@X040@C001Copy/Xchg Sample/Instrument: +>@X060@C002 +>The source is specified in the line numbering column of the +instr./sample lists in the upper-right corner of the screen. The +destination is the current instr./sample. + +>@X040@C001Backwards: +>@X060@C002 +>Operates on the range (or the whole sample if no range is set). + +>@X040@C001Convert: +>@X060@C002 +>Converts the entire sample from/to signed/unsigned. + +>@X040@C001Convert W: +>@X060@C002 +Swaps the byte order to/from Intel from/to Motorola standard on +the entire sample. +You'll need this function if you import 16-bit samples with Motorola +byte-ordering (f.ex. Kurzweil K2000 samples.) + +>@X040@C001Echo: +>@X060@C002 +Operates on the entire sample. + +>@X040@C001Fix DC: +>@X060@C002 +Attempts to center a sample that has unwanted DC offset/bias. +Please note that it is using a crude algorithm, so it can sometimes +fail depending on the sample data. + +>@X040@C001Resample: +>@X060@C002 +Operates on the entire sample. The sample's relative tone is +changed with respect to the resampling rate. + +>@X040@C001Mix sample: +>@X060@C002 +>Mixes the source with the destination to the source. + +>@X040@C001Draw mode: +>@X060@C002 +By pressing the right mouse button in the sample window, you can +draw your wave forms manually. + +@X020@C001Configuration: +> +>@X040@C001Auto save: +>@X060@C002 +If the auto save is on, FT2 will update the configuration file when +you exit the program. + +@X020@C001Configuration, I/O devices: +> +>@X040@C001Interpolation: +>@X060@C002 +The mixing routine interpolates the sample value between the +sample points to remove unwanted noise in the sound. Real FT2 uses +2-tap linear interpolation, while this clone uses 4-tap cubic spline +interpolation for improved high frequencies. Turning it off will make +the audio sharper, but it will also be noisier. + +>@X040@C001Volume ramping: +>@X060@C002 +Enables the anti-click system in the audio mixer (FT2.08+). +Please note that original FT2 can't load this config entry, +clone only. + +>@X040@C0011-bit dither: +>@X060@C002 +Works for 16-bit audio mode only. +Applies random scaled values to the mixed samples before truncating to 16-bit. +This should in theory lower the quantization noise. 16-bit already has +a pretty low noise floor, so don't expect any audible difference here. +Also applies for WAV rendering. + +>@X040@C001Amplification: +>@X060@C002 +Amplifies the volume when mixing. If you set this one too high, you'll +get distortion. 32X equals full amplitude for one channel. + +>@X040@C001Frequency table: +>@X060@C002 +The linear frequency table makes all pitch bends run in constant +speed, independent of the current frequency. If you switch this +one, on a finished song, it might sound strange if the sound uses +portamentoes. + +@X020@C001Configuration, Layout: +> +>@X040@C001Pattern layout, hex numbering: +>@X060@C002 +If you use patterns that are longer than 99 lines, you should use +hex counting since there are only 2 digits in the line number column. + +>@X040@C001Scope style: +>@X060@C002 +"Original" will show the points in the scopes as pixels (like FT2). +"Lined" will draw lines between the points, like an oscilloscope. + +@X020@C001Configuration, Miscellaneous: +> +>@X040@C001VSync off: +>@X060@C002 +Tells the program to not use VSync for video. If your monitor's +refresh rate is not 60Hz (or 59Hz), then VSync is always off for +this program. Not having VSync will result in less input/video delay, +but also potential stuttering. + +>@X040@C001Pixel filter: +>@X060@C002 +Applies a subpixel filter that is used when the window is upscaled. +This also makes fullscreen mode completely stretch out if it didn't +already. Please keep in mind that this will make pixels look blurry. + +@X020@C001Advanced edit functions: +> +>@X040@C001Copy/Paste masking: +>@X060@C002 +The masking is used for copying/pasting only parts of a +"note-cell". The different parts of a "note-cell" is Note, Instr. nr., +Volume, Effect nr & Effect data. +>As you can see in the window there are 3 columns of +"enable/disable buttons" which has the letters C,P & T above. +>C means copy, it controls which parts that goes into the copybuffer. +>P means paste and controls which parts that goes out from the +copybuffer. +>T means transparency. If it's enabled, the pasting doesn't overwrite +data with nil-information, only with a note or a number <> 0. +> +>The cut functions works like pasting with zero-data. This means +that the cutting is controlled with P-column (or T-column). +>When you copy data with masking, the disabled parts are not +cleared in the copybuffer. (Making it possible to collect data from +several locations into the copybuffer.) + +END +;*************************************************************************** +;*************************************************************************** +@LProblems/FAQ +>@X020 +>@C001Q: Can I make fullscreen mode stretch out the whole screen? +>@C002A: Enable "Pixel filter" in Config -> Miscellaneous. +>@X035It won't look pretty, but to some people it's much better than nothing. +>@X020 +>@C001Q: I can't use ALT+F4 and ALT+F5! +>@C002A: Windows: If you have GeForce Experience installed, you need to change +>@X035the keybindings in its settings page. +macOS/OS X: Change ALT+F4/ALT+F5 keys in the OS to something else. Also for GNU/Linux. +>@X020 +>@C001Q: The mouse cursor is delayed/laggy! +>@C002A: Make sure "Software mouse" is disabled in Config -> Layout. +>@X035Alternatively, you can enable "VSync off" in Config -> Miscellaneous. +>This however, will introduce stuttering because the rendering rate is +>not exact to your monitor's rate. +>@X020 +>@C001Q: Will you implement MIDI out functionality? +>@C002A: No, sorry. This is very difficult to implement correctly when having +>@X035higher audio buffer sizes (buffered replayer ticks)... +>@X020 +>@C001Q: Where is the configuration file stored? +>@C002A: Windows: \Users\USER\AppData\Roaming\FT2 clone\FT2.CFG +>@X035OS X: /Users/USER/Library/Application Support/FT2 clone/FT2.CFG +GNU/Linux: /home/USER/.config/FT2 clone/FT2.CFG +> +It will be stored in the program directory if the path couldn't be used. +If you put the configuration file in the program directory, it will read that +one and not attempt to create config dirs for the OS user. (portable mode) +>@X020 +>@C001Q: Can the clone read FT2.CFG from real FT2, and vice versa? +>@C002A: Yes, it should work just fine. Put it in the directory shown above. +>@X020 +>@C001Q: Smp. Ed.: While zooming in, I sometimes can't mark the last sample point! +>@C002A: This is normal. This is a limitation in the nature of scaling. +>@X020 +>@C001Q: I found a bug! +>@C002A: Please send a mail to olav.sorensen@live.no and try to explain it. + +END +;*************************************************************************** +;*************************************************************************** +@LKnown bugs +>@X010 +>@C001Sample editor: +>@C002 +>@X010- When a looped sample is zoomed out in the sample editor, you could see +>@X021unwanted sample data at the loop-end point. This is because of a kludge +for the resampling interpolation to work faster in the audio mixer, and the +original FT2 has the same problem. I have made it so that if you zoom in to +see the individual sample points, it will look like normal. +>@X010 +>@C001Mouse / keyboard: +> +>@C002- When you hold down a key (f.ex. playing a sample), the mouse movement +>@X021can be choppy. This is related to the input queue being spammed with +"key down" events, delaying the mouse position events. +I only poll input once per frame (60Hz), so the frequency is a tad low. It has +to be like this for several reasons, though... +>@X010 +>@C002- macOS / OS X: "Hardware mode" mouse looks blurry on retina Macs +>@X010 +>- macOS / OS X: Holding down a mouse button won't trap the mouse cursor +>@X021inside the window. This is related to a kludge that simply doesn't work +very well in macOS. The mouse movement would freeze for some time after a mouse +button was held down. +>@X010 +>@C002- The "clear sample" shortcut (shift + num-pad Del/',') only works if +>@X021num lock is off. There's no way I can fix this... +>@X010 +>@C001Video: +>@C002 +>@X010- The scopes can mildly flicker depending on the waveform and pitch. +>@X021This is because their frequency is not clocked to exactly the same rate +>at which the scopes are rendered. It's close, which causes a flicker effect. +> +>@X010- Not a bug, but if your monitor's refresh rate is not set to 60Hz (or 59Hz) +>@X021you may experience visual stuttering because VSync will not be used then. +I highly recommend running your monitor at 60Hz if you're a hardcore user +of this program. + +END diff --git a/src/helpdata/code/ft2hlp_to_h.c b/src/helpdata/code/ft2hlp_to_h.c index 3c011b3..9080968 100644 --- a/src/helpdata/code/ft2hlp_to_h.c +++ b/src/helpdata/code/ft2hlp_to_h.c @@ -1,180 +1,180 @@ -#include -#include -#include -#include - -#define TMP_FILENAME "TMP.HLP" -#define DATA_LINE_SIZE 12 - -static void delTmpPackFile(void) -{ - char command[256]; - -#ifdef _WIN32 - sprintf(command, "del %s 2>NUL", TMP_FILENAME); -#else - sprintf(command, "rm %s &> /dev/null", TMP_FILENAME); -#endif - - system(command); -} - -int main(int argc, char *argv[]) -{ - char *helpData, *textPtr2, *textPtr; - uint8_t textLenByte; - uint32_t textLen, fileSize, currLine, totalCharLen; - FILE *fIn, *fOut; - - printf("ft2hlp_to_h - by 8bitbubsy\n"); - -#ifndef _DEBUG - if (argc != 2) - { - printf("Usage: ft2hlp_to_h \n"); - return -1; - } - - fIn = fopen(argv[1], "rb"); -#else - fIn = fopen("FT2.HLP", "rb"); -#endif - - if (fIn == NULL) - { - printf("Error: Could not open input file for reading!\n"); - return 1; - } - - fOut = fopen(TMP_FILENAME, "wb"); - if (fOut == NULL) - { - printf("Error: Could not open temp file for writing!\n"); - fclose(fIn); - - return 1; - } - - fseek(fIn, 0, SEEK_END); - fileSize = ftell(fIn); - rewind(fIn); - - helpData = (char *)malloc(fileSize); - if (helpData == NULL) - { - printf("ERROR: Out of memory!\n"); - fclose(fIn); - fclose(fOut); - return -1; - } - - fread(helpData, 1, fileSize, fIn); - fclose(fIn); - - printf("Parsing...\n"); - - totalCharLen = 0; - currLine = 0; - - textPtr = helpData; - while (totalCharLen < fileSize) - { - if (!strncmp(textPtr, "END", 3) && totalCharLen >= fileSize-(3+2)) - { - /* we reached the final END */ - fputc(3, fOut); - fprintf(fOut, "END"); - break; - } - - textPtr2 = textPtr; - - textLen = 0; - while (*textPtr2 != '\r') - { - textLen++; - textPtr2++; - } - - if (textLen > 255) - { - printf("ERROR: Line %d has more than 255 characters!\n", currLine); - fclose(fOut); - return 1; - } - - textLenByte = textLen & 0xFF; - fwrite(&textLenByte, 1, 1, fOut); - fwrite(textPtr, 1, textLen, fOut); - - totalCharLen += textLen + 2; - textPtr += textLen + 2; - - currLine++; - } - - printf("Successfully parsed %d lines.\n", currLine - 1); - fclose(fOut); - - fIn = fopen(TMP_FILENAME, "rb"); - if (fIn == NULL) - { - printf("Error: Could not open temp file for reading!\n"); - delTmpPackFile(); - return 1; - } - - fOut = fopen("ft2_help_data.h", "w"); - if (fOut == NULL) - { - printf("Error: Could not open ft2_help_data.h for writing!\n"); - fclose(fIn); - delTmpPackFile(); - return 1; - } - - // fetch file size - fseek(fIn, 0, SEEK_END); - fileSize = ftell(fIn); - rewind(fIn); - - printf("Converting data to header bytes..\n"); - - // put header - fprintf(fOut, "#ifndef __FT2_HELP_DATA_H\n"); - fprintf(fOut, "#define __FT2_HELP_DATA_H\n"); - fprintf(fOut, "\n"); - fprintf(fOut, "#include \n"); - fprintf(fOut, "\n"); - fprintf(fOut, "#define HELP_DATA_LEN %d\n", fileSize); - fprintf(fOut, "\n"); - fprintf(fOut, "const uint8_t helpData[%d] =\n", fileSize); - fprintf(fOut, "{\n"); - - // put data - for (uint32_t i = 0; i < fileSize; i++) - { - if ((i % DATA_LINE_SIZE) == 0) fprintf(fOut, "\t"); // tab - - if (i == fileSize-1) - fprintf(fOut, "0x%02X", fgetc(fIn)); - else - fprintf(fOut, "0x%02X,", fgetc(fIn)); - - if ((i % DATA_LINE_SIZE) == DATA_LINE_SIZE-1 || i == fileSize-1) - fputc(0x0A, fOut); // linefeed - } - - // put footer - fprintf(fOut, "};\n"); - fprintf(fOut, "\n"); - fprintf(fOut, "#endif\n"); - - fclose(fOut); - fclose(fIn); - - printf("Done! %d bytes sucessfully written to ft2_help_data.h.\n", fileSize); - delTmpPackFile(); - - return 0; -} +#include +#include +#include +#include + +#define TMP_FILENAME "TMP.HLP" +#define DATA_LINE_SIZE 12 + +static void delTmpPackFile(void) +{ + char command[256]; + +#ifdef _WIN32 + sprintf(command, "del %s 2>NUL", TMP_FILENAME); +#else + sprintf(command, "rm %s &> /dev/null", TMP_FILENAME); +#endif + + system(command); +} + +int main(int argc, char *argv[]) +{ + char *helpData, *textPtr2, *textPtr; + uint8_t textLenByte; + uint32_t textLen, fileSize, currLine, totalCharLen; + FILE *fIn, *fOut; + + printf("ft2hlp_to_h - by 8bitbubsy\n"); + +#ifndef _DEBUG + if (argc != 2) + { + printf("Usage: ft2hlp_to_h \n"); + return -1; + } + + fIn = fopen(argv[1], "rb"); +#else + fIn = fopen("FT2.HLP", "rb"); +#endif + + if (fIn == NULL) + { + printf("Error: Could not open input file for reading!\n"); + return 1; + } + + fOut = fopen(TMP_FILENAME, "wb"); + if (fOut == NULL) + { + printf("Error: Could not open temp file for writing!\n"); + fclose(fIn); + + return 1; + } + + fseek(fIn, 0, SEEK_END); + fileSize = ftell(fIn); + rewind(fIn); + + helpData = (char *)malloc(fileSize); + if (helpData == NULL) + { + printf("ERROR: Out of memory!\n"); + fclose(fIn); + fclose(fOut); + return -1; + } + + fread(helpData, 1, fileSize, fIn); + fclose(fIn); + + printf("Parsing...\n"); + + totalCharLen = 0; + currLine = 0; + + textPtr = helpData; + while (totalCharLen < fileSize) + { + if (!strncmp(textPtr, "END", 3) && totalCharLen >= fileSize-(3+2)) + { + /* we reached the final END */ + fputc(3, fOut); + fprintf(fOut, "END"); + break; + } + + textPtr2 = textPtr; + + textLen = 0; + while (*textPtr2 != '\r') + { + textLen++; + textPtr2++; + } + + if (textLen > 255) + { + printf("ERROR: Line %d has more than 255 characters!\n", currLine); + fclose(fOut); + return 1; + } + + textLenByte = textLen & 0xFF; + fwrite(&textLenByte, 1, 1, fOut); + fwrite(textPtr, 1, textLen, fOut); + + totalCharLen += textLen + 2; + textPtr += textLen + 2; + + currLine++; + } + + printf("Successfully parsed %d lines.\n", currLine - 1); + fclose(fOut); + + fIn = fopen(TMP_FILENAME, "rb"); + if (fIn == NULL) + { + printf("Error: Could not open temp file for reading!\n"); + delTmpPackFile(); + return 1; + } + + fOut = fopen("ft2_help_data.h", "w"); + if (fOut == NULL) + { + printf("Error: Could not open ft2_help_data.h for writing!\n"); + fclose(fIn); + delTmpPackFile(); + return 1; + } + + // fetch file size + fseek(fIn, 0, SEEK_END); + fileSize = ftell(fIn); + rewind(fIn); + + printf("Converting data to header bytes..\n"); + + // put header + fprintf(fOut, "#ifndef __FT2_HELP_DATA_H\n"); + fprintf(fOut, "#define __FT2_HELP_DATA_H\n"); + fprintf(fOut, "\n"); + fprintf(fOut, "#include \n"); + fprintf(fOut, "\n"); + fprintf(fOut, "#define HELP_DATA_LEN %d\n", fileSize); + fprintf(fOut, "\n"); + fprintf(fOut, "const uint8_t helpData[%d] =\n", fileSize); + fprintf(fOut, "{\n"); + + // put data + for (uint32_t i = 0; i < fileSize; i++) + { + if ((i % DATA_LINE_SIZE) == 0) fprintf(fOut, "\t"); // tab + + if (i == fileSize-1) + fprintf(fOut, "0x%02X", fgetc(fIn)); + else + fprintf(fOut, "0x%02X,", fgetc(fIn)); + + if ((i % DATA_LINE_SIZE) == DATA_LINE_SIZE-1 || i == fileSize-1) + fputc(0x0A, fOut); // linefeed + } + + // put footer + fprintf(fOut, "};\n"); + fprintf(fOut, "\n"); + fprintf(fOut, "#endif\n"); + + fclose(fOut); + fclose(fIn); + + printf("Done! %d bytes sucessfully written to ft2_help_data.h.\n", fileSize); + delTmpPackFile(); + + return 0; +} diff --git a/src/helpdata/ft2_help_data.h b/src/helpdata/ft2_help_data.h index 0c6b11c..fb2aab7 100644 --- a/src/helpdata/ft2_help_data.h +++ b/src/helpdata/ft2_help_data.h @@ -1,2345 +1,2339 @@ -#ifndef __FT2_HELP_DATA_H -#define __FT2_HELP_DATA_H - -#include - -#define HELP_DATA_LEN 27988 - -const uint8_t helpData[27988] = -{ - 0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0A,0x40, - 0x4C,0x46,0x65,0x61,0x74,0x75,0x72,0x65,0x73,0x00,0x21,0x40, - 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x42,0x72,0x69, - 0x65,0x66,0x20,0x6C,0x69,0x73,0x74,0x20,0x6F,0x66,0x20,0x66, - 0x65,0x61,0x74,0x75,0x72,0x65,0x73,0x3A,0x0B,0x3E,0x40,0x58, - 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x0F,0x3E,0x2D,0x20, - 0x33,0x32,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x2E, - 0x30,0x3E,0x2D,0x20,0x46,0x75,0x6C,0x6C,0x20,0x4D,0x49,0x44, - 0x49,0x20,0x73,0x75,0x70,0x70,0x6F,0x72,0x74,0x20,0x28,0x69, - 0x6E,0x70,0x75,0x74,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x69,0x6E, - 0x20,0x74,0x68,0x69,0x73,0x20,0x63,0x6C,0x6F,0x6E,0x65,0x21, - 0x29,0x27,0x3E,0x2D,0x20,0x31,0x32,0x2D,0x50,0x6F,0x69,0x6E, - 0x74,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x2D,0x20,0x26,0x20, - 0x50,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x45,0x6E,0x76,0x65, - 0x6C,0x6F,0x70,0x65,0x2E,0x2D,0x3E,0x2D,0x20,0x4D,0x75,0x6C, - 0x74,0x69,0x73,0x61,0x6D,0x70,0x6C,0x65,0x73,0x2C,0x20,0x75, - 0x70,0x20,0x74,0x6F,0x20,0x31,0x36,0x20,0x73,0x61,0x6D,0x70, - 0x6C,0x65,0x73,0x2F,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65, - 0x6E,0x74,0x2E,0x13,0x3E,0x2D,0x20,0x31,0x32,0x38,0x20,0x69, - 0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x73,0x2E,0x31, - 0x3E,0x2D,0x20,0x22,0x55,0x6E,0x6C,0x69,0x6D,0x69,0x74,0x65, - 0x64,0x22,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x6C,0x65, - 0x6E,0x67,0x74,0x68,0x2E,0x20,0x28,0x31,0x47,0x42,0x20,0x69, - 0x6E,0x20,0x74,0x68,0x69,0x73,0x20,0x63,0x6C,0x6F,0x6E,0x65, - 0x29,0x0D,0x3E,0x2D,0x20,0x38,0x20,0x6F,0x63,0x74,0x61,0x76, - 0x65,0x73,0x2E,0x1B,0x3E,0x2D,0x20,0x56,0x61,0x72,0x69,0x61, - 0x62,0x6C,0x65,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x20, - 0x6C,0x65,0x6E,0x67,0x74,0x68,0x2E,0x22,0x3E,0x2D,0x20,0x42, - 0x75,0x69,0x6C,0x74,0x20,0x69,0x6E,0x20,0x73,0x61,0x6D,0x70, - 0x6C,0x65,0x72,0x2F,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x65, - 0x64,0x69,0x74,0x6F,0x72,0x2E,0x16,0x3E,0x2D,0x20,0x55,0x70, - 0x20,0x74,0x6F,0x20,0x32,0x35,0x36,0x20,0x70,0x61,0x74,0x74, - 0x65,0x72,0x6E,0x73,0x2E,0x19,0x3E,0x2D,0x20,0x53,0x6F,0x6E, - 0x67,0x20,0x6C,0x65,0x6E,0x67,0x74,0x68,0x20,0x75,0x70,0x20, - 0x74,0x6F,0x20,0x32,0x35,0x36,0x2E,0x25,0x3E,0x2D,0x20,0x4E, - 0x65,0x77,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2F,0x70,0x61, - 0x6E,0x6E,0x69,0x6E,0x67,0x2F,0x76,0x69,0x62,0x72,0x61,0x74, - 0x6F,0x20,0x63,0x6F,0x6C,0x75,0x6D,0x6E,0x2E,0x0F,0x3E,0x2D, - 0x20,0x53,0x6F,0x6E,0x67,0x20,0x65,0x64,0x69,0x74,0x6F,0x72, - 0x2E,0x19,0x3E,0x2D,0x20,0x46,0x75,0x6C,0x6C,0x20,0x73,0x63, - 0x72,0x65,0x65,0x6E,0x20,0x65,0x64,0x69,0x74,0x20,0x6D,0x6F, - 0x64,0x65,0x2E,0x1F,0x3E,0x2D,0x20,0x49,0x6D,0x70,0x72,0x6F, - 0x76,0x65,0x64,0x20,0x65,0x64,0x69,0x74,0x69,0x6E,0x67,0x20, - 0x66,0x61,0x63,0x69,0x6C,0x69,0x74,0x69,0x65,0x73,0x2E,0x00, - 0x32,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x46, - 0x54,0x32,0x20,0x73,0x75,0x70,0x70,0x6F,0x72,0x74,0x73,0x20, - 0x74,0x68,0x65,0x20,0x66,0x6F,0x6C,0x6C,0x6F,0x77,0x69,0x6E, - 0x67,0x20,0x66,0x69,0x6C,0x65,0x20,0x66,0x6F,0x72,0x6D,0x61, - 0x74,0x73,0x3A,0x00,0x12,0x40,0x58,0x30,0x34,0x30,0x40,0x43, - 0x30,0x30,0x31,0x4D,0x6F,0x64,0x75,0x6C,0x65,0x73,0x3A,0x0B, - 0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x35, - 0x3E,0x2D,0x20,0x53,0x74,0x61,0x6E,0x64,0x61,0x72,0x64,0x20, - 0x6D,0x6F,0x64,0x75,0x6C,0x65,0x73,0x20,0x28,0x31,0x35,0x2D, - 0x20,0x3E,0x20,0x33,0x31,0x2D,0x69,0x6E,0x73,0x74,0x72,0x75, - 0x6D,0x65,0x6E,0x74,0x73,0x29,0x2E,0x20,0x28,0x4D,0x4F,0x44, - 0x2C,0x4E,0x53,0x54,0x29,0x36,0x3E,0x2D,0x20,0x46,0x61,0x73, - 0x74,0x74,0x72,0x61,0x63,0x6B,0x65,0x72,0x20,0x76,0x31,0x2E, - 0x30,0x20,0x32,0x2C,0x34,0x2C,0x36,0x2C,0x38,0x2E,0x2E,0x33, - 0x32,0x2D,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x66,0x6F, - 0x72,0x6D,0x61,0x74,0x73,0x2E,0x20,0x28,0x4D,0x4F,0x44,0x29, - 0x23,0x3E,0x2D,0x20,0x53,0x63,0x72,0x65,0x61,0x6D,0x54,0x72, - 0x61,0x63,0x6B,0x65,0x72,0x20,0x6D,0x6F,0x64,0x75,0x6C,0x65, - 0x73,0x2E,0x20,0x28,0x53,0x54,0x4D,0x2C,0x53,0x33,0x4D,0x29, - 0x01,0x3E,0x12,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, - 0x31,0x53,0x61,0x6D,0x70,0x6C,0x65,0x73,0x3A,0x0B,0x3E,0x40, - 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x22,0x3E,0x2D, - 0x20,0x47,0x72,0x61,0x76,0x69,0x73,0x20,0x55,0x6C,0x74,0x72, - 0x61,0x73,0x6F,0x75,0x6E,0x64,0x20,0x50,0x61,0x74,0x63,0x68, - 0x65,0x73,0x2C,0x20,0x50,0x41,0x54,0x2E,0x33,0x3E,0x2D,0x20, - 0x53,0x4D,0x50,0x2F,0x53,0x41,0x4D,0x2F,0x52,0x41,0x57,0x2F, - 0x53,0x4E,0x44,0x20,0x64,0x61,0x74,0x61,0x20,0x66,0x69,0x6C, - 0x65,0x73,0x2C,0x20,0x73,0x69,0x67,0x6E,0x65,0x64,0x20,0x61, - 0x6E,0x64,0x20,0x75,0x6E,0x73,0x69,0x67,0x6E,0x65,0x64,0x2E, - 0x15,0x3E,0x2D,0x20,0x57,0x69,0x6E,0x64,0x6F,0x77,0x73,0x20, - 0x57,0x41,0x56,0x2D,0x66,0x69,0x6C,0x65,0x73,0x2E,0x2D,0x3E, - 0x2D,0x20,0x41,0x6D,0x69,0x67,0x61,0x20,0x49,0x46,0x46,0x2D, - 0x66,0x69,0x6C,0x65,0x73,0x2E,0x20,0x28,0x49,0x6E,0x74,0x65, - 0x72,0x63,0x68,0x61,0x6E,0x67,0x65,0x20,0x46,0x69,0x6C,0x65, - 0x20,0x46,0x6F,0x72,0x6D,0x61,0x74,0x29,0x14,0x3E,0x2D,0x20, - 0x41,0x70,0x70,0x6C,0x65,0x20,0x41,0x49,0x46,0x46,0x2D,0x66, - 0x69,0x6C,0x65,0x73,0x2E,0x00,0x32,0x40,0x58,0x30,0x34,0x30, - 0x40,0x43,0x30,0x30,0x31,0x46,0x54,0x32,0x20,0x69,0x6E,0x74, - 0x72,0x6F,0x64,0x75,0x63,0x65,0x73,0x20,0x73,0x65,0x76,0x65, - 0x72,0x61,0x6C,0x20,0x6E,0x65,0x77,0x20,0x66,0x69,0x6C,0x65, - 0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x73,0x3A,0x0B,0x3E,0x40, - 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x1C,0x3E,0x2D, - 0x20,0x58,0x4D,0x20,0x20,0x40,0x54,0x31,0x31,0x30,0x45,0x78, - 0x74,0x65,0x6E,0x64,0x65,0x64,0x20,0x6D,0x6F,0x64,0x75,0x6C, - 0x65,0x2E,0x20,0x3E,0x2D,0x20,0x58,0x49,0x20,0x20,0x40,0x54, - 0x31,0x31,0x30,0x45,0x78,0x74,0x65,0x6E,0x64,0x65,0x64,0x20, - 0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x1D, - 0x3E,0x2D,0x20,0x58,0x50,0x20,0x20,0x40,0x54,0x31,0x31,0x30, - 0x45,0x78,0x74,0x65,0x6E,0x64,0x65,0x64,0x20,0x70,0x61,0x74, - 0x74,0x65,0x72,0x6E,0x2E,0x1B,0x3E,0x2D,0x20,0x58,0x54,0x20, - 0x20,0x40,0x54,0x31,0x31,0x30,0x45,0x78,0x74,0x65,0x6E,0x64, - 0x65,0x64,0x20,0x74,0x72,0x61,0x63,0x6B,0x2E,0x00,0x03,0x45, - 0x4E,0x44,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x4C,0x3B,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x09,0x40,0x4C,0x45,0x66,0x66,0x65,0x63,0x74,0x73,0x00,0x18, - 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x68, - 0x6F,0x72,0x74,0x20,0x73,0x75,0x6D,0x6D,0x61,0x72,0x79,0x3A, - 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, - 0x0B,0x3E,0x30,0x20,0x41,0x72,0x70,0x65,0x67,0x67,0x69,0x6F, - 0x10,0x3E,0x31,0x20,0x50,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E, - 0x74,0x6F,0x20,0x75,0x70,0x12,0x3E,0x32,0x20,0x50,0x6F,0x72, - 0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x64,0x6F,0x77,0x6E, - 0x12,0x3E,0x33,0x20,0x54,0x6F,0x6E,0x65,0x20,0x70,0x6F,0x72, - 0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x0A,0x3E,0x34,0x20,0x56, - 0x69,0x62,0x72,0x61,0x74,0x6F,0x1C,0x3E,0x35,0x20,0x50,0x6F, - 0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x2B,0x20,0x56, - 0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x19, - 0x3E,0x36,0x20,0x56,0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x2B, - 0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64, - 0x65,0x0A,0x3E,0x37,0x20,0x54,0x72,0x65,0x6D,0x6F,0x6C,0x6F, - 0x17,0x3E,0x38,0x20,0x53,0x65,0x74,0x20,0x70,0x61,0x6E,0x6E, - 0x69,0x6E,0x67,0x20,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E, - 0x10,0x3E,0x39,0x20,0x53,0x61,0x6D,0x70,0x6C,0x65,0x20,0x6F, - 0x66,0x66,0x73,0x65,0x74,0x0F,0x3E,0x41,0x20,0x56,0x6F,0x6C, - 0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x10,0x3E,0x42, - 0x20,0x50,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x20,0x6A,0x75, - 0x6D,0x70,0x0D,0x3E,0x43,0x20,0x53,0x65,0x74,0x20,0x76,0x6F, - 0x6C,0x75,0x6D,0x65,0x10,0x3E,0x44,0x20,0x50,0x61,0x74,0x74, - 0x65,0x72,0x6E,0x20,0x62,0x72,0x65,0x61,0x6B,0x04,0x3E,0x45, - 0x20,0x2B,0x23,0x3E,0x40,0x58,0x30,0x38,0x30,0x30,0x20,0x46, - 0x69,0x6C,0x74,0x65,0x72,0x20,0x6F,0x6E,0x2F,0x6F,0x66,0x66, - 0x20,0x28,0x41,0x6D,0x69,0x67,0x61,0x20,0x6F,0x6E,0x6C,0x79, - 0x21,0x29,0x15,0x3E,0x31,0x20,0x46,0x69,0x6E,0x65,0x20,0x70, - 0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x75,0x70, - 0x17,0x3E,0x32,0x20,0x46,0x69,0x6E,0x65,0x20,0x70,0x6F,0x72, - 0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x64,0x6F,0x77,0x6E, - 0x18,0x3E,0x33,0x20,0x53,0x65,0x74,0x20,0x67,0x6C,0x69,0x73, - 0x73,0x61,0x6E,0x64,0x6F,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F, - 0x6C,0x16,0x3E,0x34,0x20,0x53,0x65,0x74,0x20,0x76,0x69,0x62, - 0x72,0x61,0x74,0x6F,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C, - 0x10,0x3E,0x35,0x20,0x53,0x65,0x74,0x20,0x66,0x69,0x6E,0x65, - 0x2D,0x74,0x75,0x6E,0x65,0x0C,0x3E,0x36,0x20,0x4A,0x75,0x6D, - 0x70,0x20,0x6C,0x6F,0x6F,0x70,0x16,0x3E,0x37,0x20,0x53,0x65, - 0x74,0x20,0x74,0x72,0x65,0x6D,0x6F,0x6C,0x6F,0x20,0x63,0x6F, - 0x6E,0x74,0x72,0x6F,0x6C,0x09,0x3E,0x38,0x20,0x55,0x6E,0x75, - 0x73,0x65,0x64,0x0E,0x3E,0x39,0x20,0x52,0x65,0x74,0x72,0x69, - 0x67,0x20,0x6E,0x6F,0x74,0x65,0x17,0x3E,0x41,0x20,0x46,0x69, - 0x6E,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C, - 0x69,0x64,0x65,0x20,0x75,0x70,0x19,0x3E,0x42,0x20,0x46,0x69, - 0x6E,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C, - 0x69,0x64,0x65,0x20,0x64,0x6F,0x77,0x6E,0x0B,0x3E,0x43,0x20, - 0x4E,0x6F,0x74,0x65,0x20,0x63,0x75,0x74,0x0D,0x3E,0x44,0x20, - 0x4E,0x6F,0x74,0x65,0x20,0x64,0x65,0x6C,0x61,0x79,0x10,0x3E, - 0x45,0x20,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x64,0x65, - 0x6C,0x61,0x79,0x1D,0x3E,0x46,0x20,0x46,0x75,0x6E,0x6B,0x20, - 0x69,0x74,0x21,0x20,0x28,0x4E,0x6F,0x74,0x20,0x69,0x6D,0x70, - 0x6C,0x65,0x6D,0x65,0x6E,0x74,0x65,0x64,0x29,0x06,0x3E,0x40, - 0x58,0x30,0x36,0x30,0x0B,0x46,0x20,0x53,0x65,0x74,0x20,0x73, - 0x70,0x65,0x65,0x64,0x14,0x3E,0x47,0x20,0x53,0x65,0x74,0x20, - 0x67,0x6C,0x6F,0x62,0x61,0x6C,0x20,0x76,0x6F,0x6C,0x75,0x6D, - 0x65,0x16,0x3E,0x48,0x20,0x47,0x6C,0x6F,0x62,0x61,0x6C,0x20, - 0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65, - 0x0A,0x3E,0x4B,0x20,0x4B,0x65,0x79,0x20,0x6F,0x66,0x66,0x18, - 0x3E,0x4C,0x20,0x53,0x65,0x74,0x20,0x65,0x6E,0x76,0x65,0x6C, - 0x6F,0x70,0x65,0x20,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E, - 0x10,0x3E,0x50,0x20,0x50,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20, - 0x73,0x6C,0x69,0x64,0x65,0x14,0x3E,0x52,0x20,0x4D,0x75,0x6C, - 0x74,0x69,0x20,0x72,0x65,0x74,0x72,0x69,0x67,0x20,0x6E,0x6F, - 0x74,0x65,0x09,0x3E,0x54,0x20,0x54,0x72,0x65,0x6D,0x6F,0x72, - 0x04,0x3E,0x58,0x20,0x2B,0x20,0x3E,0x40,0x58,0x30,0x38,0x30, - 0x31,0x20,0x45,0x78,0x74,0x72,0x61,0x20,0x66,0x69,0x6E,0x65, - 0x20,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20, - 0x75,0x70,0x1D,0x3E,0x32,0x20,0x45,0x78,0x74,0x72,0x61,0x20, - 0x66,0x69,0x6E,0x65,0x20,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65, - 0x6E,0x74,0x6F,0x20,0x64,0x6F,0x77,0x6E,0x00,0x18,0x40,0x58, - 0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x56,0x6F,0x6C,0x75, - 0x6D,0x65,0x20,0x63,0x6F,0x6C,0x75,0x6D,0x6E,0x3A,0x0B,0x3E, - 0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x17,0x30, - 0x30,0x2E,0x2E,0x34,0x30,0x20,0x40,0x54,0x31,0x36,0x30,0x53, - 0x65,0x74,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x01,0x3E, - 0x1A,0x3E,0x2D,0x20,0x40,0x54,0x31,0x36,0x30,0x56,0x6F,0x6C, - 0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x20,0x64,0x6F, - 0x77,0x6E,0x2E,0x18,0x3E,0x2B,0x20,0x40,0x54,0x31,0x36,0x30, - 0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65, - 0x20,0x75,0x70,0x2E,0x35,0x3E,0x44,0x20,0x40,0x54,0x31,0x36, - 0x30,0x46,0x69,0x6E,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65, - 0x20,0x73,0x6C,0x69,0x64,0x65,0x20,0x64,0x6F,0x77,0x6E,0x2E, - 0x20,0x28,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x64,0x20, - 0x62,0x79,0x20,0x73,0x79,0x6D,0x62,0x6F,0x6C,0x29,0x33,0x3E, - 0x55,0x20,0x40,0x54,0x31,0x36,0x30,0x46,0x69,0x6E,0x65,0x20, - 0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65, - 0x20,0x75,0x70,0x2E,0x20,0x28,0x49,0x6E,0x64,0x69,0x63,0x61, - 0x74,0x65,0x64,0x20,0x62,0x79,0x20,0x73,0x79,0x6D,0x62,0x6F, - 0x6C,0x29,0x1A,0x3E,0x53,0x20,0x40,0x54,0x31,0x36,0x30,0x53, - 0x65,0x74,0x20,0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x73, - 0x70,0x65,0x65,0x64,0x2E,0x10,0x3E,0x56,0x20,0x40,0x54,0x31, - 0x36,0x30,0x56,0x69,0x62,0x72,0x61,0x74,0x6F,0x2E,0x1D,0x3E, - 0x50,0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x65,0x74,0x20,0x70, - 0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x70,0x6F,0x73,0x69,0x74, - 0x69,0x6F,0x6E,0x2E,0x32,0x3E,0x52,0x20,0x40,0x54,0x31,0x36, - 0x30,0x50,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x73,0x6C,0x69, - 0x64,0x65,0x20,0x72,0x69,0x67,0x68,0x74,0x2E,0x20,0x28,0x49, - 0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x64,0x20,0x62,0x79,0x20, - 0x73,0x79,0x6D,0x62,0x6F,0x6C,0x29,0x31,0x3E,0x4C,0x20,0x40, - 0x54,0x31,0x36,0x30,0x50,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20, - 0x73,0x6C,0x69,0x64,0x65,0x20,0x6C,0x65,0x66,0x74,0x2E,0x20, - 0x28,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x64,0x20,0x62, - 0x79,0x20,0x73,0x79,0x6D,0x62,0x6F,0x6C,0x29,0x18,0x3E,0x4D, - 0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x6F,0x6E,0x65,0x20,0x70, - 0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x2E,0x00,0x00, - 0x1B,0x40,0x4C,0x40,0x58,0x30,0x30,0x30,0x44,0x65,0x74,0x61, - 0x69,0x6C,0x65,0x64,0x20,0x69,0x6E,0x66,0x6F,0x72,0x6D,0x61, - 0x74,0x69,0x6F,0x6E,0x00,0x12,0x40,0x58,0x30,0x34,0x30,0x40, - 0x43,0x30,0x30,0x31,0x41,0x72,0x70,0x65,0x67,0x67,0x69,0x6F, - 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, - 0x27,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x30,0x20,0x2B, - 0x20,0x31,0x73,0x74,0x20,0x68,0x61,0x6C,0x66,0x74,0x6F,0x6E, - 0x65,0x20,0x2B,0x20,0x32,0x6E,0x64,0x20,0x68,0x61,0x6C,0x66, - 0x74,0x6F,0x6E,0x65,0x00,0x0D,0x45,0x78,0x2E,0x3A,0x20,0x43, - 0x2D,0x31,0x20,0x20,0x30,0x33,0x37,0x00,0x16,0x3E,0x31,0x30, - 0x20,0x50,0x6C,0x61,0x79,0x73,0x20,0x43,0x2D,0x31,0x20,0x74, - 0x69,0x63,0x6B,0x20,0x23,0x31,0x2E,0x26,0x3E,0x32,0x30,0x20, - 0x50,0x6C,0x61,0x79,0x73,0x20,0x43,0x2D,0x31,0x20,0x2B,0x20, - 0x33,0x20,0x4E,0x6F,0x74,0x65,0x73,0x20,0x3D,0x20,0x44,0x23, - 0x31,0x20,0x74,0x69,0x63,0x6B,0x20,0x23,0x32,0x2E,0x26,0x3E, - 0x33,0x30,0x20,0x50,0x6C,0x61,0x79,0x73,0x20,0x43,0x2D,0x31, - 0x20,0x2B,0x20,0x37,0x20,0x4E,0x6F,0x74,0x65,0x73,0x20,0x3D, - 0x20,0x47,0x2D,0x31,0x20,0x74,0x69,0x63,0x6B,0x20,0x23,0x33, - 0x2E,0x0B,0x3E,0x34,0x30,0x20,0x47,0x6F,0x74,0x6F,0x20,0x31, - 0x30,0x00,0x1C,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, - 0x31,0x50,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20, - 0x75,0x70,0x2F,0x64,0x6F,0x77,0x6E,0x0B,0x3E,0x40,0x58,0x30, - 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x18,0x53,0x79,0x6E,0x74, - 0x61,0x78,0x3A,0x20,0x28,0x31,0x20,0x6F,0x72,0x20,0x32,0x29, - 0x20,0x2B,0x20,0x53,0x70,0x65,0x65,0x64,0x00,0x40,0x50,0x6F, - 0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x69,0x73,0x20, - 0x75,0x73,0x65,0x64,0x20,0x74,0x6F,0x20,0x73,0x6C,0x69,0x64, - 0x65,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65, - 0x20,0x70,0x69,0x74,0x63,0x68,0x20,0x75,0x70,0x20,0x6F,0x72, - 0x20,0x64,0x6F,0x77,0x6E,0x2E,0x20,0x54,0x68,0x69,0x73,0x20, - 0x69,0x73,0x42,0x64,0x6F,0x6E,0x65,0x20,0x75,0x73,0x69,0x6E, - 0x67,0x20,0x74,0x68,0x65,0x20,0x70,0x65,0x72,0x69,0x6F,0x64, - 0x20,0x76,0x61,0x6C,0x75,0x65,0x2E,0x20,0x49,0x66,0x20,0x41, - 0x6D,0x69,0x67,0x61,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E, - 0x63,0x79,0x20,0x74,0x61,0x62,0x6C,0x65,0x20,0x69,0x73,0x20, - 0x75,0x73,0x65,0x64,0x2C,0x20,0x74,0x68,0x65,0x40,0x73,0x6C, - 0x69,0x64,0x69,0x6E,0x67,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62, - 0x65,0x20,0x6E,0x6F,0x6E,0x2D,0x6C,0x69,0x6E,0x65,0x61,0x72, - 0x20,0x28,0x74,0x68,0x65,0x20,0x73,0x70,0x65,0x65,0x64,0x20, - 0x64,0x65,0x70,0x65,0x6E,0x64,0x73,0x20,0x6F,0x6E,0x20,0x74, - 0x68,0x65,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79, - 0x29,0x2E,0x00,0x19,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, - 0x30,0x31,0x54,0x6F,0x6E,0x65,0x20,0x70,0x6F,0x72,0x74,0x61, - 0x6D,0x65,0x6E,0x74,0x6F,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30, - 0x40,0x43,0x30,0x30,0x32,0x11,0x53,0x79,0x6E,0x74,0x61,0x78, - 0x3A,0x20,0x33,0x20,0x2B,0x20,0x53,0x70,0x65,0x65,0x64,0x00, - 0x40,0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E, - 0x64,0x20,0x69,0x73,0x20,0x75,0x73,0x65,0x64,0x20,0x74,0x6F, - 0x67,0x65,0x74,0x68,0x65,0x72,0x20,0x77,0x69,0x74,0x68,0x20, - 0x61,0x20,0x6E,0x6F,0x74,0x65,0x2C,0x20,0x61,0x6E,0x64,0x20, - 0x77,0x69,0x6C,0x6C,0x20,0x73,0x6C,0x69,0x64,0x65,0x20,0x74, - 0x6F,0x20,0x69,0x74,0x73,0x43,0x66,0x72,0x65,0x71,0x75,0x65, - 0x6E,0x63,0x79,0x2E,0x20,0x49,0x66,0x20,0x67,0x6C,0x69,0x73, - 0x73,0x61,0x6E,0x64,0x6F,0x20,0x28,0x45,0x33,0x29,0x20,0x69, - 0x73,0x20,0x75,0x73,0x65,0x64,0x2C,0x20,0x74,0x68,0x65,0x20, - 0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x77,0x69, - 0x6C,0x6C,0x20,0x62,0x65,0x20,0x72,0x6F,0x75,0x6E,0x64,0x65, - 0x64,0x18,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x6E,0x65,0x61, - 0x72,0x65,0x73,0x74,0x20,0x68,0x61,0x6C,0x66,0x74,0x6F,0x6E, - 0x65,0x2E,0x00,0x11,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, - 0x30,0x31,0x56,0x69,0x62,0x72,0x61,0x74,0x6F,0x0B,0x3E,0x40, - 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x18,0x53,0x79, - 0x6E,0x74,0x61,0x78,0x3A,0x20,0x34,0x20,0x2B,0x20,0x52,0x61, - 0x74,0x65,0x20,0x2B,0x20,0x44,0x65,0x70,0x74,0x68,0x00,0x3E, - 0x41,0x64,0x64,0x73,0x20,0x76,0x69,0x62,0x72,0x61,0x74,0x6F, - 0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x63,0x68,0x61,0x6E, - 0x6E,0x65,0x6C,0x20,0x77,0x69,0x74,0x68,0x20,0x61,0x20,0x72, - 0x61,0x74,0x65,0x20,0x61,0x6E,0x64,0x20,0x73,0x70,0x65,0x65, - 0x64,0x2E,0x20,0x53,0x65,0x74,0x20,0x76,0x69,0x62,0x72,0x61, - 0x74,0x6F,0x3D,0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x20,0x28, - 0x45,0x34,0x29,0x20,0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x75, - 0x73,0x65,0x64,0x20,0x74,0x6F,0x20,0x63,0x68,0x61,0x6E,0x67, - 0x65,0x20,0x74,0x68,0x65,0x20,0x76,0x69,0x62,0x72,0x61,0x74, - 0x6F,0x20,0x77,0x61,0x76,0x65,0x20,0x66,0x6F,0x72,0x6D,0x20, - 0x28,0x73,0x65,0x65,0x07,0x62,0x65,0x6C,0x6F,0x77,0x29,0x2E, - 0x00,0x28,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31, - 0x54,0x6F,0x6E,0x65,0x20,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65, - 0x6E,0x74,0x6F,0x20,0x2B,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65, - 0x20,0x73,0x6C,0x69,0x64,0x65,0x0B,0x3E,0x40,0x58,0x30,0x36, - 0x30,0x40,0x43,0x30,0x30,0x32,0x11,0x53,0x79,0x6E,0x74,0x61, - 0x78,0x3A,0x20,0x35,0x20,0x2B,0x20,0x53,0x70,0x65,0x65,0x64, - 0x00,0x40,0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61, - 0x6E,0x64,0x20,0x77,0x69,0x6C,0x6C,0x20,0x65,0x78,0x65,0x63, - 0x75,0x74,0x65,0x20,0x62,0x6F,0x74,0x68,0x20,0x74,0x6F,0x6E, - 0x65,0x20,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F, - 0x20,0x61,0x6E,0x64,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20, - 0x73,0x6C,0x69,0x64,0x65,0x2E,0x27,0x54,0x68,0x65,0x20,0x73, - 0x70,0x65,0x65,0x64,0x20,0x69,0x73,0x20,0x75,0x73,0x65,0x64, - 0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x76,0x6F,0x6C, - 0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x2E,0x00,0x20, - 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x56,0x69, - 0x62,0x72,0x61,0x74,0x6F,0x20,0x2B,0x20,0x76,0x6F,0x6C,0x75, - 0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x0B,0x3E,0x40,0x58, - 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x11,0x53,0x79,0x6E, - 0x74,0x61,0x78,0x3A,0x20,0x36,0x20,0x2B,0x20,0x53,0x70,0x65, - 0x65,0x64,0x00,0x3C,0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D, - 0x6D,0x61,0x6E,0x64,0x20,0x77,0x69,0x6C,0x6C,0x20,0x65,0x78, - 0x65,0x63,0x75,0x74,0x65,0x20,0x62,0x6F,0x74,0x68,0x20,0x76, - 0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x61,0x6E,0x64,0x20,0x76, - 0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x2E, - 0x20,0x54,0x68,0x65,0x23,0x73,0x70,0x65,0x65,0x64,0x20,0x69, - 0x73,0x20,0x75,0x73,0x65,0x64,0x20,0x66,0x6F,0x72,0x20,0x74, - 0x68,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C, - 0x69,0x64,0x65,0x2E,0x00,0x11,0x40,0x58,0x30,0x34,0x30,0x40, - 0x43,0x30,0x30,0x31,0x54,0x72,0x65,0x6D,0x6F,0x6C,0x6F,0x0B, - 0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x18, - 0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x37,0x20,0x2B,0x20, - 0x52,0x61,0x74,0x65,0x20,0x2B,0x20,0x44,0x65,0x70,0x74,0x68, - 0x00,0x41,0x54,0x72,0x65,0x6D,0x6F,0x6C,0x6F,0x20,0x61,0x64, - 0x64,0x73,0x20,0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x74, - 0x6F,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E, - 0x74,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x20,0x54,0x68, - 0x65,0x20,0x73,0x79,0x6E,0x74,0x61,0x78,0x20,0x69,0x73,0x20, - 0x65,0x78,0x61,0x63,0x74,0x6C,0x79,0x1B,0x61,0x73,0x20,0x66, - 0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x76,0x69,0x62,0x72,0x61, - 0x74,0x6F,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x2E,0x00, - 0x1E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53, - 0x65,0x74,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x70, - 0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x0B,0x3E,0x40,0x58,0x30, - 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x14,0x53,0x79,0x6E,0x74, - 0x61,0x78,0x3A,0x20,0x38,0x20,0x2B,0x20,0x50,0x6F,0x73,0x69, - 0x74,0x69,0x6F,0x6E,0x00,0x3E,0x53,0x65,0x74,0x73,0x20,0x74, - 0x68,0x65,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x70, - 0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x20,0x66,0x6F,0x72,0x20, - 0x74,0x68,0x65,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x2E, - 0x20,0x24,0x30,0x30,0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x20, - 0x6C,0x65,0x66,0x74,0x6D,0x6F,0x73,0x74,0x3F,0x70,0x6F,0x73, - 0x69,0x74,0x69,0x6F,0x6E,0x20,0x61,0x6E,0x64,0x20,0x24,0x46, - 0x46,0x20,0x74,0x68,0x65,0x20,0x72,0x69,0x67,0x68,0x74,0x6D, - 0x6F,0x73,0x74,0x2E,0x20,0x4E,0x6F,0x74,0x65,0x20,0x74,0x68, - 0x61,0x74,0x20,0x73,0x6F,0x6D,0x65,0x20,0x73,0x6F,0x75,0x6E, - 0x64,0x20,0x63,0x61,0x72,0x64,0x73,0x20,0x28,0x65,0x78,0x2E, - 0x30,0x47,0x55,0x53,0x29,0x20,0x63,0x61,0x6E,0x27,0x74,0x20, - 0x75,0x73,0x65,0x20,0x61,0x73,0x20,0x6D,0x61,0x6E,0x79,0x20, - 0x61,0x73,0x20,0x32,0x35,0x36,0x20,0x70,0x61,0x6E,0x6E,0x69, - 0x6E,0x67,0x20,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x73, - 0x2E,0x00,0x17,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, - 0x31,0x53,0x61,0x6D,0x70,0x6C,0x65,0x20,0x6F,0x66,0x66,0x73, - 0x65,0x74,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, - 0x30,0x32,0x12,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x39, - 0x20,0x2B,0x20,0x4F,0x66,0x66,0x73,0x65,0x74,0x00,0x41,0x54, - 0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20, - 0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x62,0x65,0x20,0x75,0x73, - 0x65,0x64,0x20,0x74,0x6F,0x67,0x65,0x74,0x68,0x65,0x72,0x20, - 0x77,0x69,0x74,0x68,0x20,0x61,0x20,0x6E,0x6F,0x74,0x65,0x2E, - 0x20,0x54,0x68,0x65,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20, - 0x77,0x69,0x6C,0x6C,0x2D,0x62,0x65,0x20,0x70,0x6C,0x61,0x79, - 0x65,0x64,0x20,0x66,0x72,0x6F,0x6D,0x20,0x28,0x4F,0x66,0x66, - 0x73,0x65,0x74,0x2A,0x24,0x31,0x30,0x30,0x29,0x20,0x69,0x6E, - 0x73,0x74,0x65,0x61,0x64,0x20,0x6F,0x66,0x20,0x7A,0x65,0x72, - 0x6F,0x2E,0x00,0x16,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, - 0x30,0x31,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69, - 0x64,0x65,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, - 0x30,0x32,0x21,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x41, - 0x20,0x2B,0x20,0x55,0x70,0x20,0x73,0x70,0x65,0x65,0x64,0x20, - 0x2B,0x20,0x44,0x6F,0x77,0x6E,0x20,0x73,0x70,0x65,0x65,0x64, - 0x00,0x3D,0x53,0x6C,0x69,0x64,0x65,0x73,0x20,0x74,0x68,0x65, - 0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x76,0x6F,0x6C, - 0x75,0x6D,0x65,0x20,0x75,0x70,0x20,0x6F,0x72,0x20,0x64,0x6F, - 0x77,0x6E,0x2E,0x20,0x45,0x69,0x74,0x68,0x65,0x72,0x20,0x75, - 0x70,0x20,0x73,0x70,0x65,0x65,0x64,0x20,0x6F,0x72,0x20,0x64, - 0x6F,0x77,0x6E,0x15,0x73,0x70,0x65,0x65,0x64,0x20,0x73,0x68, - 0x6F,0x75,0x6C,0x64,0x20,0x62,0x65,0x20,0x7A,0x65,0x72,0x6F, - 0x2E,0x00,0x17,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, - 0x31,0x50,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x20,0x6A,0x75, - 0x6D,0x70,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, - 0x30,0x32,0x14,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x42, - 0x20,0x2B,0x20,0x50,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x00, - 0x41,0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E, - 0x64,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6A,0x75,0x6D,0x70,0x20, - 0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x73,0x65,0x6C,0x65,0x63, - 0x74,0x65,0x64,0x20,0x73,0x6F,0x6E,0x67,0x20,0x70,0x6F,0x73, - 0x69,0x74,0x69,0x6F,0x6E,0x20,0x61,0x6E,0x64,0x20,0x70,0x6C, - 0x61,0x79,0x20,0x74,0x68,0x65,0x1B,0x70,0x61,0x74,0x74,0x65, - 0x72,0x6E,0x20,0x66,0x72,0x6F,0x6D,0x20,0x74,0x68,0x65,0x20, - 0x62,0x65,0x67,0x69,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x14, - 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x65, - 0x74,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x0B,0x3E,0x40,0x58, - 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x12,0x53,0x79,0x6E, - 0x74,0x61,0x78,0x3A,0x20,0x43,0x20,0x2B,0x20,0x56,0x6F,0x6C, - 0x75,0x6D,0x65,0x00,0x3E,0x53,0x65,0x74,0x73,0x20,0x74,0x68, - 0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x76,0x6F, - 0x6C,0x75,0x6D,0x65,0x2E,0x20,0x54,0x68,0x65,0x20,0x76,0x6F, - 0x6C,0x75,0x6D,0x65,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20, - 0x6E,0x6F,0x74,0x20,0x62,0x65,0x20,0x67,0x72,0x65,0x61,0x74, - 0x65,0x72,0x20,0x74,0x68,0x61,0x6E,0x04,0x24,0x34,0x30,0x2E, - 0x00,0x17,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31, - 0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x62,0x72,0x65,0x61, - 0x6B,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30, - 0x32,0x1C,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x44,0x20, - 0x2B,0x20,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x2D,0x70,0x6F, - 0x73,0x69,0x74,0x69,0x6F,0x6E,0x00,0x3C,0x54,0x68,0x69,0x73, - 0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x77,0x69,0x6C, - 0x6C,0x20,0x6A,0x75,0x6D,0x70,0x20,0x74,0x6F,0x20,0x74,0x68, - 0x65,0x20,0x6E,0x65,0x78,0x74,0x20,0x70,0x61,0x74,0x74,0x65, - 0x72,0x6E,0x20,0x61,0x6E,0x64,0x20,0x70,0x6C,0x61,0x79,0x20, - 0x66,0x72,0x6F,0x6D,0x20,0x74,0x68,0x65,0x13,0x73,0x70,0x65, - 0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x70,0x6F,0x73,0x69,0x74, - 0x69,0x6F,0x6E,0x2E,0x00,0x22,0x40,0x58,0x30,0x34,0x30,0x40, - 0x43,0x30,0x30,0x31,0x53,0x65,0x74,0x20,0x66,0x69,0x6C,0x74, - 0x65,0x72,0x20,0x28,0x41,0x6D,0x69,0x67,0x61,0x20,0x6F,0x6E, - 0x6C,0x79,0x21,0x29,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40, - 0x43,0x30,0x30,0x32,0x13,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A, - 0x20,0x45,0x30,0x20,0x2B,0x20,0x53,0x74,0x61,0x74,0x75,0x73, - 0x00,0x38,0x55,0x73,0x65,0x20,0x45,0x30,0x30,0x20,0x61,0x6E, - 0x64,0x20,0x79,0x6F,0x75,0x72,0x20,0x74,0x75,0x6E,0x65,0x20, - 0x77,0x69,0x6C,0x6C,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x72, - 0x65,0x61,0x6C,0x6C,0x79,0x20,0x62,0x61,0x64,0x20,0x6F,0x6E, - 0x20,0x61,0x6E,0x20,0x41,0x6D,0x69,0x67,0x61,0x21,0x00,0x21, - 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x46,0x69, - 0x6E,0x65,0x20,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74, - 0x6F,0x20,0x75,0x70,0x2F,0x64,0x6F,0x77,0x6E,0x0B,0x3E,0x40, - 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x19,0x53,0x79, - 0x6E,0x74,0x61,0x78,0x3A,0x20,0x45,0x28,0x31,0x20,0x6F,0x72, - 0x20,0x32,0x29,0x20,0x2B,0x20,0x53,0x70,0x65,0x65,0x64,0x00, - 0x3F,0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E, - 0x64,0x20,0x77,0x6F,0x72,0x6B,0x73,0x20,0x61,0x73,0x20,0x70, - 0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x75,0x70, - 0x2F,0x64,0x6F,0x77,0x6E,0x2C,0x20,0x62,0x75,0x74,0x20,0x69, - 0x74,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x73,0x6C,0x69,0x64,0x65, - 0x73,0x20,0x75,0x70,0x05,0x6F,0x6E,0x63,0x65,0x2E,0x00,0x1F, - 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x65, - 0x74,0x20,0x67,0x6C,0x69,0x73,0x73,0x61,0x6E,0x64,0x6F,0x20, - 0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x0B,0x3E,0x40,0x58,0x30, - 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x13,0x53,0x79,0x6E,0x74, - 0x61,0x78,0x3A,0x20,0x45,0x33,0x20,0x2B,0x20,0x53,0x74,0x61, - 0x74,0x75,0x73,0x00,0x41,0x49,0x66,0x20,0x53,0x74,0x61,0x74, - 0x75,0x73,0x20,0x69,0x73,0x20,0x3D,0x31,0x2C,0x20,0x74,0x68, - 0x65,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20, - 0x77,0x68,0x65,0x6E,0x20,0x75,0x73,0x69,0x6E,0x67,0x20,0x74, - 0x6F,0x6E,0x65,0x20,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E, - 0x74,0x6F,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x72, - 0x6F,0x75,0x6E,0x64,0x65,0x64,0x20,0x74,0x6F,0x20,0x74,0x68, - 0x65,0x20,0x6E,0x65,0x61,0x72,0x65,0x73,0x74,0x20,0x68,0x61, - 0x6C,0x66,0x74,0x6F,0x6E,0x65,0x2E,0x00,0x1D,0x40,0x58,0x30, - 0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x65,0x74,0x20,0x76, - 0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x63,0x6F,0x6E,0x74,0x72, - 0x6F,0x6C,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, - 0x30,0x32,0x11,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x45, - 0x34,0x20,0x2B,0x20,0x54,0x79,0x70,0x65,0x00,0x2C,0x54,0x68, - 0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x63, - 0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x73,0x20,0x74,0x68,0x65,0x20, - 0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x77,0x61,0x76,0x65, - 0x20,0x66,0x6F,0x72,0x6D,0x2E,0x00,0x33,0x54,0x79,0x70,0x65, - 0x3A,0x20,0x30,0x20,0x3D,0x20,0x53,0x69,0x6E,0x65,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x31,0x20,0x3D,0x20,0x52,0x61,0x6D, - 0x70,0x20,0x64,0x6F,0x77,0x6E,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x32,0x20,0x3D,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x00, - 0x44,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x61,0x64,0x64,0x20, - 0x34,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x74,0x79,0x70, - 0x65,0x2C,0x20,0x74,0x68,0x65,0x20,0x77,0x61,0x76,0x65,0x20, - 0x66,0x6F,0x72,0x6D,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6E,0x6F, - 0x74,0x20,0x62,0x65,0x20,0x72,0x65,0x74,0x72,0x69,0x67,0x67, - 0x65,0x64,0x20,0x77,0x68,0x65,0x6E,0x20,0x61,0x19,0x6E,0x65, - 0x77,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74, - 0x20,0x69,0x73,0x20,0x70,0x6C,0x61,0x79,0x65,0x64,0x2E,0x00, - 0x17,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53, - 0x65,0x74,0x20,0x66,0x69,0x6E,0x65,0x2D,0x74,0x75,0x6E,0x65, - 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, - 0x11,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x45,0x35,0x20, - 0x2B,0x20,0x54,0x75,0x6E,0x65,0x00,0x3F,0x54,0x68,0x69,0x73, - 0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x73,0x68,0x6F, - 0x75,0x6C,0x64,0x20,0x62,0x65,0x20,0x75,0x73,0x65,0x64,0x20, - 0x74,0x6F,0x67,0x65,0x74,0x68,0x65,0x72,0x20,0x77,0x69,0x74, - 0x68,0x20,0x61,0x20,0x6E,0x6F,0x74,0x65,0x2E,0x20,0x49,0x74, - 0x20,0x77,0x69,0x6C,0x6C,0x20,0x63,0x61,0x75,0x73,0x65,0x44, - 0x61,0x6E,0x6F,0x74,0x68,0x65,0x72,0x20,0x66,0x69,0x6E,0x65, - 0x2D,0x74,0x75,0x6E,0x65,0x20,0x76,0x61,0x6C,0x75,0x65,0x20, - 0x74,0x6F,0x20,0x62,0x65,0x20,0x75,0x73,0x65,0x64,0x2E,0x20, - 0x49,0x74,0x20,0x73,0x65,0x65,0x6D,0x73,0x20,0x71,0x75,0x69, - 0x74,0x65,0x20,0x75,0x6E,0x75,0x73,0x61,0x62,0x6C,0x65,0x20, - 0x74,0x6F,0x20,0x6D,0x65,0x2E,0x2E,0x2E,0x00,0x16,0x40,0x58, - 0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x50,0x61,0x74,0x74, - 0x65,0x72,0x6E,0x20,0x6C,0x6F,0x6F,0x70,0x0B,0x3E,0x40,0x58, - 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x12,0x53,0x79,0x6E, - 0x74,0x61,0x78,0x3A,0x20,0x45,0x36,0x20,0x2B,0x20,0x43,0x6F, - 0x75,0x6E,0x74,0x00,0x45,0x49,0x66,0x20,0x63,0x6F,0x75,0x6E, - 0x74,0x20,0x69,0x73,0x20,0x7A,0x65,0x72,0x6F,0x2C,0x20,0x74, - 0x68,0x65,0x20,0x62,0x65,0x67,0x69,0x6E,0x6E,0x69,0x6E,0x67, - 0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x6C,0x6F,0x6F,0x70, - 0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x73,0x70,0x65, - 0x63,0x69,0x66,0x69,0x65,0x64,0x2E,0x20,0x57,0x68,0x65,0x6E, - 0x20,0x61,0x40,0x6E,0x6F,0x6E,0x2D,0x7A,0x65,0x72,0x6F,0x20, - 0x76,0x61,0x6C,0x75,0x65,0x20,0x69,0x73,0x20,0x75,0x73,0x65, - 0x64,0x2C,0x20,0x74,0x68,0x65,0x20,0x70,0x61,0x74,0x74,0x65, - 0x72,0x6E,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x6C, - 0x6F,0x6F,0x70,0x65,0x64,0x20,0x66,0x72,0x6F,0x6D,0x20,0x74, - 0x68,0x65,0x20,0x6C,0x6F,0x6F,0x70,0x06,0x73,0x74,0x61,0x72, - 0x74,0x2E,0x00,0x1D,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, - 0x30,0x31,0x53,0x65,0x74,0x20,0x74,0x72,0x65,0x6D,0x6F,0x6C, - 0x6F,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x0B,0x3E,0x40, - 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x11,0x53,0x79, - 0x6E,0x74,0x61,0x78,0x3A,0x20,0x45,0x37,0x20,0x2B,0x20,0x54, - 0x79,0x70,0x65,0x00,0x3A,0x54,0x68,0x69,0x73,0x20,0x63,0x6F, - 0x6D,0x6D,0x61,0x6E,0x64,0x20,0x77,0x6F,0x72,0x6B,0x73,0x20, - 0x65,0x78,0x61,0x63,0x74,0x6C,0x79,0x20,0x61,0x73,0x20,0x73, - 0x65,0x74,0x20,0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x63, - 0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x2C,0x20,0x62,0x75,0x74,0x20, - 0x74,0x68,0x65,0x2A,0x74,0x72,0x65,0x6D,0x6F,0x6C,0x6F,0x20, - 0x77,0x61,0x76,0x65,0x20,0x66,0x6F,0x72,0x6D,0x20,0x77,0x69, - 0x6C,0x6C,0x20,0x62,0x65,0x20,0x63,0x68,0x61,0x6E,0x67,0x65, - 0x64,0x20,0x69,0x6E,0x73,0x74,0x65,0x61,0x64,0x2E,0x00,0x15, - 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x52,0x65, - 0x74,0x72,0x69,0x67,0x20,0x6E,0x6F,0x74,0x65,0x0B,0x3E,0x40, - 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x15,0x53,0x79, - 0x6E,0x74,0x61,0x78,0x3A,0x20,0x45,0x39,0x20,0x2B,0x20,0x49, - 0x6E,0x74,0x65,0x72,0x76,0x61,0x6C,0x00,0x2D,0x52,0x65,0x74, - 0x72,0x69,0x67,0x73,0x20,0x74,0x68,0x65,0x20,0x6E,0x6F,0x74, - 0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x20,0x73, - 0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x69,0x6E,0x74, - 0x65,0x72,0x76,0x61,0x6C,0x2E,0x00,0x23,0x40,0x58,0x30,0x34, - 0x30,0x40,0x43,0x30,0x30,0x31,0x46,0x69,0x6E,0x65,0x20,0x76, - 0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x20, - 0x75,0x70,0x2F,0x64,0x6F,0x77,0x6E,0x0B,0x3E,0x40,0x58,0x30, - 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x19,0x53,0x79,0x6E,0x74, - 0x61,0x78,0x3A,0x20,0x45,0x28,0x41,0x20,0x6F,0x72,0x20,0x42, - 0x29,0x20,0x2B,0x20,0x53,0x70,0x65,0x65,0x64,0x00,0x44,0x54, - 0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20, - 0x77,0x6F,0x72,0x6B,0x73,0x20,0x61,0x73,0x20,0x74,0x68,0x65, - 0x20,0x75,0x73,0x75,0x61,0x6C,0x20,0x76,0x6F,0x6C,0x75,0x6D, - 0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x2C,0x20,0x62,0x75,0x74, - 0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6F,0x6E,0x6C, - 0x79,0x20,0x73,0x6C,0x69,0x64,0x65,0x05,0x6F,0x6E,0x63,0x65, - 0x2E,0x00,0x12,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, - 0x31,0x4E,0x6F,0x74,0x65,0x20,0x63,0x75,0x74,0x0B,0x3E,0x40, - 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x11,0x53,0x79, - 0x6E,0x74,0x61,0x78,0x3A,0x20,0x45,0x43,0x20,0x2B,0x20,0x54, - 0x69,0x63,0x6B,0x00,0x43,0x43,0x75,0x74,0x73,0x20,0x74,0x68, - 0x65,0x20,0x6E,0x6F,0x74,0x65,0x20,0x61,0x74,0x20,0x74,0x68, - 0x65,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x20, - 0x74,0x69,0x63,0x6B,0x2E,0x20,0x4E,0x6F,0x74,0x65,0x20,0x74, - 0x68,0x61,0x74,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20, - 0x6F,0x6E,0x6C,0x79,0x20,0x73,0x65,0x74,0x20,0x74,0x68,0x65, - 0x34,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x74,0x6F,0x20,0x7A, - 0x65,0x72,0x6F,0x2C,0x20,0x61,0x6E,0x64,0x20,0x74,0x68,0x65, - 0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x77,0x69,0x6C,0x6C, - 0x20,0x73,0x74,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x70,0x6C, - 0x61,0x79,0x65,0x64,0x2E,0x00,0x14,0x40,0x58,0x30,0x34,0x30, - 0x40,0x43,0x30,0x30,0x31,0x4E,0x6F,0x74,0x65,0x20,0x64,0x65, - 0x6C,0x61,0x79,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, - 0x30,0x30,0x32,0x12,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20, - 0x45,0x44,0x20,0x2B,0x20,0x54,0x69,0x63,0x6B,0x73,0x00,0x3E, - 0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64, - 0x20,0x77,0x69,0x6C,0x6C,0x20,0x64,0x65,0x6C,0x61,0x79,0x20, - 0x74,0x68,0x65,0x20,0x6E,0x6F,0x74,0x65,0x20,0x74,0x68,0x65, - 0x20,0x73,0x65,0x6C,0x65,0x63,0x74,0x65,0x64,0x20,0x6E,0x75, - 0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x74,0x69,0x63,0x6B, - 0x73,0x2E,0x00,0x17,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, - 0x30,0x31,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x64,0x65, - 0x6C,0x61,0x79,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, - 0x30,0x30,0x32,0x12,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20, - 0x45,0x45,0x20,0x2B,0x20,0x4E,0x6F,0x74,0x65,0x73,0x00,0x41, - 0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64, - 0x20,0x77,0x69,0x6C,0x6C,0x20,0x64,0x65,0x6C,0x61,0x79,0x20, - 0x74,0x68,0x65,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x20, - 0x74,0x68,0x65,0x20,0x73,0x65,0x6C,0x65,0x63,0x74,0x65,0x64, - 0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x6E, - 0x6F,0x74,0x65,0x73,0x2E,0x00,0x13,0x40,0x58,0x30,0x34,0x30, - 0x40,0x43,0x30,0x30,0x31,0x53,0x65,0x74,0x20,0x73,0x70,0x65, - 0x65,0x64,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, - 0x30,0x32,0x11,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x46, - 0x20,0x2B,0x20,0x56,0x61,0x6C,0x75,0x65,0x00,0x42,0x54,0x68, - 0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x77, - 0x69,0x6C,0x6C,0x20,0x73,0x65,0x74,0x20,0x74,0x68,0x65,0x20, - 0x73,0x70,0x65,0x65,0x64,0x20,0x6F,0x72,0x20,0x42,0x50,0x4D, - 0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x6F,0x66,0x20,0x74,0x68, - 0x65,0x20,0x73,0x6F,0x6E,0x67,0x2E,0x20,0x49,0x66,0x20,0x76, - 0x61,0x6C,0x75,0x65,0x3F,0x69,0x73,0x20,0x6C,0x65,0x73,0x73, - 0x20,0x74,0x68,0x61,0x6E,0x20,0x24,0x32,0x30,0x2C,0x20,0x74, - 0x68,0x65,0x20,0x73,0x70,0x65,0x65,0x64,0x20,0x77,0x69,0x6C, - 0x6C,0x20,0x62,0x65,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x64, - 0x2E,0x20,0x4F,0x74,0x68,0x65,0x72,0x77,0x69,0x73,0x65,0x2C, - 0x20,0x74,0x68,0x65,0x20,0x42,0x50,0x4D,0x16,0x76,0x61,0x6C, - 0x75,0x65,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x63, - 0x68,0x61,0x6E,0x67,0x65,0x64,0x2E,0x00,0x1B,0x40,0x58,0x30, - 0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x65,0x74,0x20,0x67, - 0x6C,0x6F,0x62,0x61,0x6C,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65, - 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, - 0x12,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x47,0x20,0x2B, - 0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x42,0x53,0x65,0x74, - 0x73,0x20,0x74,0x68,0x65,0x20,0x67,0x6C,0x6F,0x62,0x61,0x6C, - 0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x20,0x54,0x68,0x65, - 0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x68,0x6F,0x75, - 0x6C,0x64,0x20,0x6E,0x6F,0x74,0x20,0x62,0x65,0x20,0x67,0x72, - 0x65,0x61,0x74,0x65,0x72,0x20,0x74,0x68,0x61,0x6E,0x20,0x24, - 0x34,0x30,0x2E,0x00,0x1D,0x40,0x58,0x30,0x34,0x30,0x40,0x43, - 0x30,0x30,0x31,0x47,0x6C,0x6F,0x62,0x61,0x6C,0x20,0x76,0x6F, - 0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x0B,0x3E, - 0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x21,0x53, - 0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x48,0x20,0x2B,0x20,0x55, - 0x70,0x20,0x73,0x70,0x65,0x65,0x64,0x20,0x2B,0x20,0x44,0x6F, - 0x77,0x6E,0x20,0x73,0x70,0x65,0x65,0x64,0x00,0x3D,0x54,0x68, - 0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x77, - 0x6F,0x72,0x6B,0x73,0x20,0x65,0x78,0x61,0x63,0x74,0x6C,0x79, - 0x20,0x61,0x73,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73, - 0x6C,0x69,0x64,0x65,0x2C,0x20,0x62,0x75,0x74,0x20,0x69,0x74, - 0x20,0x73,0x6C,0x69,0x64,0x65,0x73,0x20,0x74,0x68,0x65,0x16, - 0x67,0x6C,0x6F,0x62,0x61,0x6C,0x20,0x76,0x6F,0x6C,0x75,0x6D, - 0x65,0x20,0x69,0x6E,0x73,0x74,0x65,0x61,0x64,0x2E,0x00,0x11, - 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x4B,0x65, - 0x79,0x20,0x6F,0x66,0x66,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30, - 0x40,0x43,0x30,0x30,0x32,0x10,0x53,0x79,0x6E,0x74,0x61,0x78, - 0x3A,0x20,0x4B,0x20,0x2B,0x20,0x54,0x69,0x63,0x6B,0x00,0x3C, - 0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64, - 0x20,0x77,0x69,0x6C,0x6C,0x20,0x74,0x72,0x69,0x67,0x67,0x65, - 0x72,0x20,0x61,0x20,0x22,0x4B,0x65,0x79,0x20,0x6F,0x66,0x66, - 0x22,0x20,0x61,0x74,0x20,0x74,0x68,0x65,0x20,0x73,0x70,0x65, - 0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x74,0x69,0x63,0x6B,0x2E, - 0x00,0x1F,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31, - 0x53,0x65,0x74,0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65, - 0x20,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x0B,0x3E,0x40, - 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x14,0x53,0x79, - 0x6E,0x74,0x61,0x78,0x3A,0x20,0x4C,0x20,0x2B,0x20,0x50,0x6F, - 0x73,0x69,0x74,0x69,0x6F,0x6E,0x00,0x3E,0x43,0x68,0x61,0x6E, - 0x67,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x65,0x6E,0x76,0x65, - 0x6C,0x6F,0x70,0x65,0x20,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F, - 0x6E,0x2E,0x20,0x4D,0x61,0x67,0x6E,0x75,0x73,0x20,0x74,0x6F, - 0x6C,0x64,0x20,0x6D,0x65,0x20,0x74,0x68,0x61,0x74,0x20,0x69, - 0x74,0x20,0x77,0x6F,0x75,0x6C,0x64,0x20,0x62,0x65,0x0C,0x76, - 0x65,0x72,0x79,0x20,0x75,0x73,0x61,0x62,0x6C,0x65,0x2E,0x00, - 0x17,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x50, - 0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x73,0x6C,0x69,0x64,0x65, - 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, - 0x24,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x50,0x20,0x2B, - 0x20,0x52,0x69,0x67,0x68,0x74,0x20,0x73,0x70,0x65,0x65,0x64, - 0x20,0x2B,0x20,0x4C,0x65,0x66,0x74,0x20,0x73,0x70,0x65,0x65, - 0x64,0x00,0x42,0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D, - 0x61,0x6E,0x64,0x20,0x73,0x6C,0x69,0x64,0x65,0x73,0x20,0x74, - 0x68,0x65,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x70, - 0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x2E,0x20,0x49,0x74,0x20, - 0x77,0x6F,0x72,0x6B,0x73,0x20,0x6C,0x69,0x6B,0x65,0x20,0x74, - 0x68,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x3C,0x73,0x6C, - 0x69,0x64,0x65,0x2E,0x20,0x4E,0x6F,0x74,0x65,0x20,0x74,0x68, - 0x61,0x74,0x20,0x73,0x6F,0x6D,0x65,0x20,0x73,0x6F,0x75,0x6E, - 0x64,0x20,0x63,0x61,0x72,0x64,0x73,0x20,0x6D,0x61,0x79,0x20, - 0x6E,0x6F,0x74,0x20,0x68,0x61,0x6E,0x64,0x6C,0x65,0x20,0x32, - 0x35,0x36,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x0A,0x70, - 0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x73,0x2E,0x00,0x16,0x40, - 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x4D,0x75,0x6C, - 0x74,0x69,0x20,0x72,0x65,0x74,0x72,0x69,0x67,0x0B,0x3E,0x40, - 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x24,0x53,0x79, - 0x6E,0x74,0x61,0x78,0x3A,0x20,0x52,0x20,0x2B,0x20,0x56,0x6F, - 0x6C,0x75,0x6D,0x65,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x20, - 0x2B,0x20,0x49,0x6E,0x74,0x65,0x72,0x76,0x61,0x6C,0x00,0x32, - 0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x61,0x6E,0x20,0x65, - 0x78,0x74,0x65,0x6E,0x64,0x65,0x64,0x20,0x76,0x65,0x72,0x73, - 0x69,0x6F,0x6E,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x72, - 0x65,0x74,0x72,0x69,0x67,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E, - 0x64,0x2E,0x00,0x0E,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x63, - 0x68,0x61,0x6E,0x67,0x65,0x3A,0x1F,0x3E,0x40,0x58,0x31,0x30, - 0x30,0x30,0x20,0x3D,0x20,0x4E,0x6F,0x6E,0x65,0x20,0x20,0x40, - 0x54,0x33,0x30,0x30,0x38,0x20,0x3D,0x20,0x55,0x6E,0x75,0x73, - 0x65,0x64,0x16,0x3E,0x31,0x20,0x3D,0x20,0x2D,0x31,0x20,0x20, - 0x20,0x20,0x40,0x54,0x33,0x30,0x30,0x39,0x20,0x3D,0x20,0x2B, - 0x31,0x16,0x3E,0x32,0x20,0x3D,0x20,0x2D,0x32,0x20,0x20,0x20, - 0x20,0x40,0x54,0x33,0x30,0x30,0x41,0x20,0x3D,0x20,0x2B,0x32, - 0x16,0x3E,0x33,0x20,0x3D,0x20,0x2D,0x34,0x20,0x20,0x20,0x20, - 0x40,0x54,0x33,0x30,0x30,0x42,0x20,0x3D,0x20,0x2B,0x34,0x16, - 0x3E,0x34,0x20,0x3D,0x20,0x2D,0x38,0x20,0x20,0x20,0x20,0x40, - 0x54,0x33,0x30,0x30,0x43,0x20,0x3D,0x20,0x2B,0x38,0x17,0x3E, - 0x35,0x20,0x3D,0x20,0x2D,0x31,0x36,0x20,0x20,0x20,0x40,0x54, - 0x33,0x30,0x30,0x44,0x20,0x3D,0x20,0x2B,0x31,0x36,0x18,0x3E, - 0x36,0x20,0x3D,0x20,0x2A,0x32,0x2F,0x33,0x20,0x20,0x40,0x54, - 0x33,0x30,0x30,0x45,0x20,0x3D,0x20,0x2A,0x33,0x2F,0x32,0x16, - 0x3E,0x37,0x20,0x3D,0x20,0x2A,0x31,0x2F,0x32,0x20,0x20,0x40, - 0x54,0x33,0x30,0x30,0x46,0x20,0x3D,0x20,0x2A,0x32,0x00,0x10, - 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x54,0x72, - 0x65,0x6D,0x6F,0x72,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40, - 0x43,0x30,0x30,0x32,0x1E,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A, - 0x20,0x54,0x20,0x2B,0x20,0x4F,0x6E,0x20,0x74,0x69,0x6D,0x65, - 0x20,0x2B,0x20,0x4F,0x66,0x66,0x20,0x74,0x69,0x6D,0x65,0x00, - 0x3E,0x54,0x68,0x69,0x73,0x20,0x77,0x65,0x69,0x72,0x64,0x20, - 0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x77,0x69,0x6C,0x6C, - 0x20,0x73,0x65,0x74,0x20,0x74,0x68,0x65,0x20,0x76,0x6F,0x6C, - 0x75,0x6D,0x65,0x20,0x74,0x6F,0x20,0x7A,0x65,0x72,0x6F,0x20, - 0x64,0x75,0x72,0x69,0x6E,0x67,0x20,0x6F,0x66,0x66,0x20,0x74, - 0x69,0x6D,0x65,0x36,0x6E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F, - 0x66,0x20,0x74,0x69,0x63,0x6B,0x73,0x2E,0x20,0x49,0x74,0x20, - 0x69,0x73,0x20,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x64,0x20, - 0x66,0x6F,0x72,0x20,0x53,0x54,0x4D,0x20,0x63,0x6F,0x6D,0x70, - 0x61,0x74,0x69,0x62,0x69,0x6C,0x69,0x74,0x79,0x2E,0x00,0x27, - 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x45,0x78, - 0x74,0x72,0x61,0x20,0x66,0x69,0x6E,0x65,0x20,0x70,0x6F,0x72, - 0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x75,0x70,0x2F,0x64, - 0x6F,0x77,0x6E,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, - 0x30,0x30,0x32,0x19,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20, - 0x58,0x28,0x31,0x20,0x6F,0x72,0x20,0x32,0x29,0x20,0x2B,0x20, - 0x53,0x70,0x65,0x65,0x64,0x00,0x3C,0x54,0x68,0x69,0x73,0x20, - 0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x77,0x6F,0x72,0x6B, - 0x73,0x20,0x61,0x73,0x20,0x66,0x69,0x6E,0x65,0x20,0x70,0x6F, - 0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x75,0x70,0x2F, - 0x64,0x6F,0x77,0x6E,0x2C,0x20,0x62,0x75,0x74,0x20,0x74,0x68, - 0x65,0x20,0x73,0x70,0x65,0x65,0x64,0x18,0x77,0x69,0x6C,0x6C, - 0x20,0x62,0x65,0x20,0x64,0x69,0x76,0x69,0x64,0x65,0x64,0x20, - 0x62,0x79,0x20,0x66,0x6F,0x75,0x72,0x2E,0x00,0x03,0x45,0x4E, - 0x44,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0A, - 0x40,0x4C,0x4B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64,0x00,0x0B, - 0x3E,0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x32,0x4A, - 0x3E,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x68,0x61,0x76,0x65, - 0x20,0x61,0x6E,0x20,0x61,0x6D,0x62,0x69,0x74,0x69,0x6F,0x6E, - 0x20,0x74,0x6F,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x6D, - 0x75,0x73,0x69,0x63,0x20,0x65,0x66,0x66,0x69,0x63,0x69,0x65, - 0x6E,0x74,0x6C,0x79,0x20,0x77,0x65,0x20,0x73,0x74,0x72,0x6F, - 0x6E,0x67,0x6C,0x79,0x20,0x72,0x65,0x63,0x6F,0x6D,0x6D,0x65, - 0x6E,0x64,0x44,0x74,0x68,0x61,0x74,0x20,0x79,0x6F,0x75,0x20, - 0x6C,0x65,0x61,0x72,0x6E,0x20,0x41,0x4C,0x4C,0x20,0x74,0x68, - 0x65,0x20,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64,0x20,0x66, - 0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73,0x2E,0x20,0x4D,0x61, - 0x6E,0x79,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x6D,0x20,0x61, - 0x72,0x65,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6D,0x65,0x45, - 0x66,0x72,0x6F,0x6D,0x20,0x46,0x61,0x73,0x74,0x74,0x72,0x61, - 0x63,0x6B,0x65,0x72,0x20,0x31,0x20,0x61,0x6E,0x64,0x20,0x50, - 0x72,0x6F,0x74,0x72,0x61,0x63,0x6B,0x65,0x72,0x20,0x74,0x6F, - 0x20,0x65,0x6E,0x73,0x75,0x72,0x65,0x20,0x74,0x68,0x61,0x74, - 0x20,0x79,0x6F,0x75,0x20,0x66,0x65,0x65,0x6C,0x20,0x63,0x6F, - 0x6D,0x66,0x6F,0x72,0x74,0x61,0x62,0x6C,0x65,0x2E,0x75,0x73, - 0x69,0x6E,0x67,0x20,0x74,0x68,0x69,0x73,0x20,0x70,0x72,0x6F, - 0x67,0x72,0x61,0x6D,0x20,0x66,0x72,0x6F,0x6D,0x20,0x74,0x68, - 0x65,0x20,0x76,0x65,0x72,0x79,0x20,0x66,0x69,0x72,0x73,0x74, - 0x20,0x6D,0x69,0x6E,0x75,0x74,0x65,0x2E,0x01,0x3E,0x0B,0x3E, - 0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x31,0x26,0x3E, - 0x59,0x6F,0x75,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x62, - 0x65,0x20,0x61,0x77,0x61,0x72,0x65,0x20,0x6F,0x66,0x20,0x74, - 0x68,0x65,0x20,0x66,0x61,0x63,0x74,0x20,0x74,0x68,0x61,0x74, - 0x3A,0x01,0x3E,0x48,0x3E,0x40,0x43,0x30,0x30,0x32,0x54,0x68, - 0x69,0x73,0x20,0x68,0x65,0x6C,0x70,0x20,0x74,0x65,0x78,0x74, - 0x20,0x69,0x73,0x20,0x77,0x72,0x69,0x74,0x74,0x65,0x6E,0x20, - 0x75,0x73,0x69,0x6E,0x67,0x20,0x61,0x20,0x53,0x77,0x65,0x64, - 0x69,0x73,0x68,0x20,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64, - 0x2E,0x20,0x54,0x68,0x65,0x72,0x65,0x66,0x6F,0x72,0x65,0x20, - 0x73,0x6F,0x6D,0x65,0x2F,0x72,0x65,0x66,0x65,0x72,0x65,0x6E, - 0x63,0x65,0x73,0x20,0x74,0x6F,0x20,0x6E,0x6F,0x6E,0x2D,0x6F, - 0x72,0x64,0x69,0x6E,0x61,0x72,0x79,0x20,0x6B,0x65,0x79,0x73, - 0x20,0x6D,0x69,0x67,0x68,0x74,0x20,0x62,0x65,0x20,0x77,0x72, - 0x6F,0x6E,0x67,0x2E,0x0F,0x53,0x68,0x20,0x3D,0x20,0x73,0x68, - 0x69,0x66,0x74,0x20,0x6B,0x65,0x79,0x2E,0x01,0x3E,0x10,0x40, - 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x56,0x69,0x64, - 0x65,0x6F,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, - 0x30,0x30,0x32,0x25,0x41,0x6C,0x74,0x2B,0x45,0x6E,0x74,0x65, - 0x72,0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x6F,0x67,0x67,0x6C, - 0x65,0x20,0x66,0x75,0x6C,0x6C,0x73,0x63,0x72,0x65,0x65,0x6E, - 0x20,0x6D,0x6F,0x64,0x65,0x00,0x17,0x40,0x58,0x30,0x34,0x30, - 0x40,0x43,0x30,0x30,0x31,0x43,0x75,0x72,0x73,0x6F,0x72,0x20, - 0x6D,0x6F,0x76,0x65,0x73,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36, - 0x30,0x40,0x43,0x30,0x30,0x32,0x1D,0x46,0x39,0x2E,0x2E,0x46, - 0x31,0x32,0x20,0x40,0x54,0x31,0x36,0x30,0x4A,0x75,0x6D,0x70, - 0x20,0x69,0x6E,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x2E, - 0x32,0x3E,0x43,0x74,0x72,0x6C,0x2B,0x46,0x39,0x2E,0x2E,0x46, - 0x31,0x32,0x20,0x40,0x54,0x31,0x36,0x30,0x50,0x61,0x74,0x74, - 0x65,0x72,0x6E,0x2D,0x70,0x6C,0x61,0x79,0x20,0x66,0x72,0x6F, - 0x6D,0x20,0x46,0x39,0x2E,0x2E,0x46,0x31,0x32,0x20,0x6C,0x69, - 0x6E,0x65,0x2E,0x2F,0x3E,0x53,0x68,0x2B,0x46,0x39,0x2E,0x2E, - 0x46,0x31,0x32,0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x74,0x6F, - 0x72,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x6C, - 0x69,0x6E,0x65,0x20,0x69,0x6E,0x20,0x46,0x39,0x2E,0x2E,0x46, - 0x31,0x32,0x2E,0x24,0x3E,0x50,0x61,0x67,0x65,0x55,0x70,0x20, - 0x20,0x40,0x54,0x31,0x36,0x30,0x4A,0x75,0x6D,0x70,0x20,0x31, - 0x36,0x2D,0x6C,0x69,0x6E,0x65,0x73,0x20,0x75,0x70,0x77,0x61, - 0x72,0x64,0x73,0x2E,0x27,0x3E,0x50,0x61,0x67,0x65,0x44,0x6F, - 0x77,0x6E,0x20,0x40,0x54,0x31,0x36,0x30,0x4A,0x75,0x6D,0x70, - 0x20,0x31,0x36,0x2D,0x6C,0x69,0x6E,0x65,0x73,0x20,0x64,0x6F, - 0x77,0x6E,0x77,0x61,0x72,0x64,0x73,0x2E,0x1B,0x3E,0x48,0x6F, - 0x6D,0x65,0x20,0x20,0x40,0x54,0x31,0x36,0x30,0x4A,0x75,0x6D, - 0x70,0x20,0x74,0x6F,0x20,0x6C,0x69,0x6E,0x65,0x20,0x30,0x2E, - 0x1D,0x3E,0x45,0x6E,0x64,0x20,0x20,0x40,0x54,0x31,0x36,0x30, - 0x4A,0x75,0x6D,0x70,0x20,0x74,0x6F,0x20,0x6C,0x61,0x73,0x74, - 0x20,0x6C,0x69,0x6E,0x65,0x2E,0x1E,0x3E,0x54,0x61,0x62,0x20, - 0x20,0x40,0x54,0x31,0x36,0x30,0x4A,0x75,0x6D,0x70,0x20,0x74, - 0x6F,0x20,0x6E,0x65,0x78,0x74,0x20,0x74,0x72,0x61,0x63,0x6B, - 0x2E,0x33,0x3E,0x41,0x6C,0x74,0x2B,0x51,0x2E,0x2E,0x49,0x20, - 0x40,0x54,0x31,0x36,0x30,0x4A,0x75,0x6D,0x70,0x20,0x74,0x6F, - 0x20,0x74,0x72,0x61,0x63,0x6B,0x20,0x28,0x30,0x2E,0x2E,0x37, - 0x29,0x20,0x4D,0x4F,0x44,0x20,0x4E,0x2D,0x43,0x68,0x61,0x6E, - 0x6E,0x65,0x6C,0x73,0x2E,0x34,0x3E,0x41,0x6C,0x74,0x2B,0x41, - 0x2E,0x2E,0x4B,0x20,0x40,0x54,0x31,0x36,0x30,0x4A,0x75,0x6D, - 0x70,0x20,0x74,0x6F,0x20,0x74,0x72,0x61,0x63,0x6B,0x20,0x28, - 0x38,0x2E,0x2E,0x31,0x35,0x29,0x20,0x4D,0x4F,0x44,0x20,0x4E, - 0x2D,0x43,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x2E,0x00,0x19, - 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x43,0x75, - 0x74,0x2F,0x43,0x6F,0x70,0x79,0x2F,0x50,0x61,0x73,0x74,0x65, - 0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30, - 0x32,0x34,0x44,0x65,0x6C,0x65,0x74,0x65,0x20,0x20,0x40,0x54, - 0x31,0x36,0x30,0x44,0x65,0x6C,0x65,0x74,0x65,0x20,0x6E,0x6F, - 0x74,0x65,0x20,0x6F,0x72,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65, - 0x20,0x63,0x6F,0x6C,0x75,0x6D,0x6E,0x20,0x61,0x74,0x20,0x63, - 0x75,0x72,0x73,0x6F,0x72,0x2E,0x39,0x3E,0x53,0x68,0x2B,0x44, - 0x65,0x6C,0x65,0x74,0x65,0x20,0x40,0x54,0x31,0x36,0x30,0x44, - 0x65,0x6C,0x65,0x74,0x65,0x20,0x6E,0x6F,0x74,0x65,0x2C,0x20, - 0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x61,0x6E,0x64,0x20,0x65, - 0x66,0x66,0x65,0x63,0x74,0x20,0x61,0x74,0x20,0x63,0x75,0x72, - 0x73,0x6F,0x72,0x2E,0x35,0x3E,0x43,0x74,0x72,0x6C,0x2B,0x44, - 0x65,0x6C,0x65,0x74,0x65,0x20,0x40,0x54,0x31,0x36,0x30,0x44, - 0x65,0x6C,0x65,0x74,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65, - 0x20,0x61,0x6E,0x64,0x20,0x65,0x66,0x66,0x65,0x63,0x74,0x20, - 0x61,0x74,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x2E,0x29,0x3E, - 0x41,0x6C,0x74,0x2B,0x44,0x65,0x6C,0x65,0x74,0x65,0x20,0x40, - 0x54,0x31,0x36,0x30,0x44,0x65,0x6C,0x65,0x74,0x65,0x20,0x65, - 0x66,0x66,0x65,0x63,0x74,0x20,0x61,0x74,0x20,0x63,0x75,0x72, - 0x73,0x6F,0x72,0x2E,0x24,0x3E,0x49,0x6E,0x73,0x65,0x72,0x74, - 0x20,0x20,0x40,0x54,0x31,0x36,0x30,0x49,0x6E,0x73,0x65,0x72, - 0x74,0x20,0x6E,0x6F,0x74,0x65,0x20,0x61,0x74,0x20,0x63,0x75, - 0x72,0x73,0x6F,0x72,0x2E,0x27,0x3E,0x53,0x68,0x2B,0x49,0x6E, - 0x73,0x65,0x72,0x74,0x20,0x20,0x40,0x54,0x31,0x36,0x30,0x49, - 0x6E,0x73,0x65,0x72,0x74,0x20,0x6C,0x69,0x6E,0x65,0x20,0x61, - 0x74,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x2E,0x25,0x3E,0x42, - 0x61,0x63,0x6B,0x73,0x70,0x61,0x63,0x65,0x20,0x40,0x54,0x31, - 0x36,0x30,0x44,0x65,0x6C,0x65,0x74,0x65,0x20,0x70,0x72,0x65, - 0x76,0x69,0x6F,0x75,0x73,0x20,0x6E,0x6F,0x74,0x65,0x2E,0x28, - 0x3E,0x53,0x68,0x2B,0x42,0x61,0x63,0x6B,0x73,0x70,0x61,0x63, - 0x65,0x20,0x40,0x54,0x31,0x36,0x30,0x44,0x65,0x6C,0x65,0x74, - 0x65,0x20,0x70,0x72,0x65,0x76,0x69,0x6F,0x75,0x73,0x20,0x6C, - 0x69,0x6E,0x65,0x2E,0x1C,0x3E,0x41,0x6C,0x74,0x2B,0x43,0x75, - 0x72,0x73,0x6F,0x72,0x20,0x40,0x54,0x31,0x36,0x30,0x4D,0x61, - 0x72,0x6B,0x20,0x62,0x6C,0x6F,0x63,0x6B,0x2E,0x16,0x3E,0x53, - 0x68,0x2B,0x46,0x33,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x75, - 0x74,0x20,0x74,0x72,0x61,0x63,0x6B,0x2E,0x17,0x3E,0x53,0x68, - 0x2B,0x46,0x34,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x6F,0x70, - 0x79,0x20,0x74,0x72,0x61,0x63,0x6B,0x2E,0x18,0x3E,0x53,0x68, - 0x2B,0x46,0x35,0x20,0x40,0x54,0x31,0x36,0x30,0x50,0x61,0x73, - 0x74,0x65,0x20,0x74,0x72,0x61,0x63,0x6B,0x2E,0x1A,0x3E,0x43, - 0x74,0x72,0x6C,0x2B,0x46,0x33,0x20,0x40,0x54,0x31,0x36,0x30, - 0x43,0x75,0x74,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x2E, - 0x1B,0x3E,0x43,0x74,0x72,0x6C,0x2B,0x46,0x34,0x20,0x40,0x54, - 0x31,0x36,0x30,0x43,0x6F,0x70,0x79,0x20,0x70,0x61,0x74,0x74, - 0x65,0x72,0x6E,0x2E,0x1C,0x3E,0x43,0x74,0x72,0x6C,0x2B,0x46, - 0x35,0x20,0x40,0x54,0x31,0x36,0x30,0x50,0x61,0x73,0x74,0x65, - 0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x2E,0x17,0x3E,0x41, - 0x6C,0x74,0x2B,0x46,0x33,0x20,0x40,0x54,0x31,0x36,0x30,0x43, - 0x75,0x74,0x20,0x62,0x6C,0x6F,0x63,0x6B,0x2E,0x18,0x3E,0x41, - 0x6C,0x74,0x2B,0x46,0x34,0x20,0x40,0x54,0x31,0x36,0x30,0x43, - 0x6F,0x70,0x79,0x20,0x62,0x6C,0x6F,0x63,0x6B,0x2E,0x19,0x3E, - 0x41,0x6C,0x74,0x2B,0x46,0x35,0x20,0x40,0x54,0x31,0x36,0x30, - 0x50,0x61,0x73,0x74,0x65,0x20,0x62,0x6C,0x6F,0x63,0x6B,0x2E, - 0x20,0x3E,0x41,0x6C,0x74,0x2B,0x43,0x20,0x20,0x40,0x54,0x31, - 0x36,0x30,0x4D,0x61,0x72,0x6B,0x20,0x63,0x75,0x72,0x72,0x65, - 0x6E,0x74,0x20,0x74,0x72,0x61,0x63,0x6B,0x2E,0x00,0x18,0x40, - 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x4D,0x69,0x73, - 0x63,0x65,0x6C,0x6C,0x61,0x6E,0x65,0x6F,0x75,0x73,0x3A,0x0B, - 0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x1C, - 0x52,0x69,0x67,0x68,0x74,0x20,0x63,0x74,0x72,0x6C,0x2E,0x20, - 0x20,0x40,0x54,0x31,0x36,0x30,0x50,0x6C,0x61,0x79,0x20,0x73, - 0x6F,0x6E,0x67,0x2E,0x1D,0x3E,0x41,0x6C,0x74,0x20,0x47,0x72, - 0x20,0x20,0x20,0x20,0x40,0x54,0x31,0x36,0x30,0x50,0x6C,0x61, - 0x79,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x2E,0x22,0x3E, - 0x52,0x69,0x67,0x68,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x20, - 0x20,0x40,0x54,0x31,0x36,0x30,0x52,0x65,0x63,0x6F,0x72,0x64, - 0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x2E,0x19,0x3E,0x53, - 0x70,0x61,0x63,0x65,0x20,0x20,0x20,0x20,0x40,0x54,0x31,0x36, - 0x30,0x53,0x74,0x6F,0x70,0x2F,0x45,0x64,0x69,0x74,0x2E,0x1B, - 0x3E,0x46,0x31,0x2E,0x2E,0x46,0x37,0x20,0x40,0x54,0x31,0x36, - 0x30,0x53,0x65,0x6C,0x65,0x63,0x74,0x20,0x6F,0x63,0x74,0x61, - 0x76,0x65,0x2E,0x27,0x3E,0x4B,0x65,0x79,0x20,0x62,0x65,0x6C, - 0x6F,0x77,0x20,0x45,0x73,0x63,0x20,0x40,0x54,0x31,0x36,0x30, - 0x49,0x6E,0x63,0x72,0x65,0x61,0x73,0x65,0x20,0x63,0x75,0x72, - 0x73,0x6F,0x72,0x61,0x64,0x64,0x2E,0x22,0x3E,0x53,0x68,0x2B, - 0x28,0x31,0x2F,0x32,0x29,0x20,0x40,0x54,0x31,0x36,0x30,0x44, - 0x65,0x63,0x72,0x65,0x61,0x73,0x65,0x20,0x63,0x75,0x72,0x73, - 0x6F,0x72,0x61,0x64,0x64,0x2E,0x23,0x3E,0x43,0x61,0x70,0x73, - 0x4C,0x6F,0x63,0x6B,0x20,0x40,0x54,0x31,0x36,0x30,0x45,0x6E, - 0x74,0x65,0x72,0x20,0x4B,0x65,0x79,0x6F,0x66,0x66,0x2D,0x22, - 0x6E,0x6F,0x74,0x65,0x22,0x2E,0x25,0x3E,0x53,0x68,0x2B,0x4C, - 0x65,0x66,0x74,0x20,0x40,0x54,0x31,0x36,0x30,0x49,0x6E,0x63, - 0x72,0x65,0x61,0x73,0x65,0x20,0x73,0x6F,0x6E,0x67,0x20,0x70, - 0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x2E,0x26,0x3E,0x53,0x68, - 0x2B,0x52,0x69,0x67,0x68,0x74,0x20,0x40,0x54,0x31,0x36,0x30, - 0x44,0x65,0x63,0x72,0x65,0x61,0x73,0x65,0x20,0x73,0x6F,0x6E, - 0x67,0x20,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x2E,0x28, - 0x3E,0x43,0x74,0x72,0x6C,0x2B,0x4C,0x65,0x66,0x74,0x20,0x40, - 0x54,0x31,0x36,0x30,0x49,0x6E,0x63,0x72,0x65,0x61,0x73,0x65, - 0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x6E,0x75,0x6D, - 0x62,0x65,0x72,0x2E,0x29,0x3E,0x43,0x74,0x72,0x6C,0x2B,0x52, - 0x69,0x67,0x68,0x74,0x20,0x40,0x54,0x31,0x36,0x30,0x44,0x65, - 0x63,0x72,0x65,0x61,0x73,0x65,0x20,0x70,0x61,0x74,0x74,0x65, - 0x72,0x6E,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x2E,0x00,0x1B, - 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x57,0x69, - 0x6E,0x64,0x6F,0x77,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x69, - 0x6E,0x67,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, - 0x30,0x30,0x32,0x05,0x43,0x74,0x72,0x6C,0x2B,0x16,0x3E,0x41, - 0x20,0x40,0x54,0x31,0x36,0x30,0x41,0x64,0x76,0x61,0x6E,0x63, - 0x65,0x64,0x20,0x65,0x64,0x69,0x74,0x2E,0x0E,0x3E,0x42,0x20, - 0x40,0x54,0x31,0x36,0x30,0x41,0x62,0x6F,0x75,0x74,0x2E,0x16, - 0x3E,0x43,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x6F,0x6E,0x66, - 0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x2E,0x18,0x3E, - 0x44,0x20,0x40,0x54,0x31,0x36,0x30,0x44,0x69,0x73,0x6B,0x20, - 0x6F,0x70,0x65,0x72,0x61,0x74,0x69,0x6F,0x6E,0x73,0x2E,0x20, - 0x3E,0x45,0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x61,0x6D,0x70, - 0x6C,0x65,0x20,0x65,0x64,0x69,0x74,0x6F,0x72,0x20,0x65,0x78, - 0x74,0x65,0x6E,0x73,0x69,0x6F,0x6E,0x2E,0x0D,0x3E,0x48,0x20, - 0x40,0x54,0x31,0x36,0x30,0x48,0x65,0x6C,0x70,0x2E,0x1A,0x3E, - 0x49,0x20,0x40,0x54,0x31,0x36,0x30,0x49,0x6E,0x73,0x74,0x72, - 0x75,0x6D,0x65,0x6E,0x74,0x20,0x65,0x64,0x69,0x74,0x6F,0x72, - 0x2E,0x2B,0x3E,0x4D,0x20,0x40,0x54,0x31,0x36,0x30,0x49,0x6E, - 0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x65,0x64,0x69, - 0x74,0x6F,0x72,0x20,0x65,0x78,0x74,0x65,0x6E,0x73,0x69,0x6F, - 0x6E,0x2E,0x20,0x28,0x4D,0x49,0x44,0x49,0x29,0x10,0x3E,0x4E, - 0x20,0x40,0x54,0x31,0x36,0x30,0x4E,0x69,0x62,0x62,0x6C,0x65, - 0x73,0x2E,0x10,0x3E,0x50,0x20,0x40,0x54,0x31,0x36,0x30,0x50, - 0x61,0x74,0x74,0x65,0x72,0x6E,0x2E,0x0D,0x3E,0x52,0x20,0x40, - 0x54,0x31,0x36,0x30,0x54,0x72,0x69,0x6D,0x2E,0x16,0x3E,0x53, - 0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x61,0x6D,0x70,0x6C,0x65, - 0x20,0x65,0x64,0x69,0x74,0x6F,0x72,0x2E,0x12,0x3E,0x54,0x20, - 0x40,0x54,0x31,0x36,0x30,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F, - 0x73,0x65,0x2E,0x23,0x3E,0x58,0x20,0x40,0x54,0x31,0x36,0x30, - 0x4D,0x61,0x69,0x6E,0x20,0x73,0x63,0x72,0x65,0x65,0x6E,0x2E, - 0x20,0x28,0x61,0x6C,0x6D,0x6F,0x73,0x74,0x20,0x61,0x6C,0x74, - 0x2B,0x58,0x29,0x27,0x3E,0x5A,0x20,0x40,0x54,0x31,0x36,0x30, - 0x46,0x75,0x6C,0x6C,0x20,0x73,0x63,0x72,0x65,0x65,0x6E,0x20, - 0x65,0x64,0x69,0x74,0x2E,0x20,0x28,0x5A,0x20,0x66,0x6F,0x72, - 0x20,0x73,0x69,0x5A,0x65,0x3F,0x29,0x19,0x3E,0x31,0x20,0x40, - 0x54,0x31,0x36,0x30,0x43,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72, - 0x61,0x74,0x69,0x6F,0x6E,0x20,0x23,0x31,0x2E,0x19,0x3E,0x32, - 0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x6F,0x6E,0x66,0x69,0x67, - 0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x23,0x32,0x2E,0x19, - 0x3E,0x33,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x6F,0x6E,0x66, - 0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x23,0x33, - 0x2E,0x19,0x3E,0x34,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x6F, - 0x6E,0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20, - 0x23,0x34,0x2E,0x00,0x2D,0x40,0x58,0x30,0x34,0x30,0x40,0x43, - 0x30,0x30,0x31,0x49,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E, - 0x74,0x20,0x73,0x65,0x6C,0x65,0x63,0x74,0x20,0x28,0x4E,0x75, - 0x6D,0x65,0x72,0x69,0x63,0x20,0x6B,0x65,0x79,0x70,0x61,0x64, - 0x29,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, - 0x30,0x32,0x28,0x54,0x6F,0x70,0x20,0x34,0x20,0x6B,0x65,0x79, - 0x73,0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x65,0x6C,0x65,0x63, - 0x74,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74, - 0x20,0x62,0x6C,0x6F,0x63,0x6B,0x2E,0x32,0x3E,0x27,0x2B,0x27, - 0x20,0x2B,0x54,0x6F,0x70,0x20,0x34,0x20,0x6B,0x65,0x79,0x73, - 0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x65,0x6C,0x65,0x63,0x74, - 0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x20, - 0x62,0x6C,0x6F,0x63,0x6B,0x20,0x2B,0x20,0x34,0x2E,0x23,0x3E, - 0x45,0x6E,0x74,0x65,0x72,0x20,0x40,0x54,0x31,0x36,0x30,0x53, - 0x65,0x6C,0x65,0x63,0x74,0x20,0x69,0x6E,0x73,0x74,0x72,0x75, - 0x6D,0x65,0x6E,0x74,0x20,0x62,0x61,0x6E,0x6B,0x2E,0x1D,0x3E, - 0x30,0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x65,0x6C,0x65,0x63, - 0x74,0x20,0x6E,0x6F,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D, - 0x65,0x6E,0x74,0x2E,0x26,0x3E,0x31,0x2E,0x2E,0x38,0x20,0x40, - 0x54,0x31,0x36,0x30,0x53,0x65,0x6C,0x65,0x63,0x74,0x20,0x69, - 0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x69,0x6E, - 0x20,0x62,0x6C,0x6F,0x63,0x6B,0x2E,0x19,0x3E,0x2C,0x20,0x40, - 0x54,0x31,0x36,0x30,0x43,0x6C,0x65,0x61,0x72,0x20,0x69,0x6E, - 0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x18,0x3E,0x53, - 0x68,0x2B,0x2C,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x6C,0x65, - 0x61,0x72,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x27,0x3E, - 0x53,0x68,0x2B,0x55,0x70,0x20,0x40,0x54,0x31,0x36,0x30,0x53, - 0x65,0x6C,0x65,0x63,0x74,0x20,0x70,0x72,0x65,0x76,0x69,0x6F, - 0x75,0x73,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E, - 0x74,0x2E,0x25,0x3E,0x53,0x68,0x2B,0x44,0x6F,0x77,0x6E,0x20, - 0x40,0x54,0x31,0x36,0x30,0x53,0x65,0x6C,0x65,0x63,0x74,0x20, - 0x6E,0x65,0x78,0x74,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D, - 0x65,0x6E,0x74,0x2E,0x00,0x1F,0x40,0x58,0x30,0x34,0x30,0x40, - 0x43,0x30,0x30,0x31,0x43,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x2F, - 0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x6D,0x61,0x63,0x72,0x6F, - 0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30, - 0x32,0x2D,0x41,0x6C,0x74,0x2B,0x31,0x2E,0x2E,0x30,0x20,0x40, - 0x54,0x31,0x36,0x30,0x57,0x72,0x69,0x74,0x65,0x20,0x63,0x6F, - 0x6D,0x6D,0x61,0x6E,0x64,0x2F,0x76,0x6F,0x6C,0x75,0x6D,0x65, - 0x20,0x61,0x74,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x2E,0x30, - 0x3E,0x53,0x68,0x2B,0x41,0x6C,0x74,0x2B,0x31,0x2E,0x2E,0x30, - 0x20,0x40,0x54,0x31,0x36,0x30,0x52,0x65,0x61,0x64,0x20,0x63, - 0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x2F,0x76,0x6F,0x6C,0x75,0x6D, - 0x65,0x20,0x61,0x74,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x2E, - 0x00,0x1C,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31, - 0x53,0x63,0x61,0x6C,0x65,0x2D,0x66,0x61,0x64,0x65,0x20,0x76, - 0x6F,0x6C,0x75,0x6D,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36, - 0x30,0x40,0x43,0x30,0x30,0x32,0x25,0x53,0x68,0x2B,0x56,0x20, - 0x40,0x54,0x31,0x36,0x30,0x53,0x63,0x61,0x6C,0x65,0x2D,0x66, - 0x61,0x64,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x69, - 0x6E,0x20,0x74,0x72,0x61,0x63,0x6B,0x2E,0x2A,0x3E,0x43,0x74, - 0x72,0x6C,0x2B,0x56,0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x63, - 0x61,0x6C,0x65,0x2D,0x66,0x61,0x64,0x65,0x20,0x76,0x6F,0x6C, - 0x75,0x6D,0x65,0x20,0x69,0x6E,0x20,0x70,0x61,0x74,0x74,0x65, - 0x72,0x6E,0x2E,0x27,0x3E,0x41,0x6C,0x74,0x2B,0x56,0x20,0x40, - 0x54,0x31,0x36,0x30,0x53,0x63,0x61,0x6C,0x65,0x2D,0x66,0x61, - 0x64,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x69,0x6E, - 0x20,0x62,0x6C,0x6F,0x63,0x6B,0x2E,0x00,0x14,0x40,0x58,0x30, - 0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x54,0x72,0x61,0x6E,0x73, - 0x70,0x6F,0x73,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30, - 0x40,0x43,0x30,0x30,0x32,0x36,0x53,0x68,0x2B,0x46,0x37,0x20, - 0x40,0x54,0x31,0x36,0x30,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F, - 0x73,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x69, - 0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x69,0x6E, - 0x20,0x74,0x72,0x61,0x63,0x6B,0x20,0x64,0x6F,0x77,0x6E,0x2E, - 0x35,0x3E,0x53,0x68,0x2B,0x46,0x38,0x20,0x40,0x54,0x31,0x36, - 0x30,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x73,0x65,0x20,0x63, - 0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x69,0x6E,0x73,0x74,0x72, - 0x75,0x6D,0x65,0x6E,0x74,0x20,0x69,0x6E,0x20,0x74,0x72,0x61, - 0x63,0x6B,0x20,0x75,0x70,0x2E,0x3B,0x3E,0x43,0x74,0x72,0x6C, - 0x2B,0x46,0x37,0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x72,0x61, - 0x6E,0x73,0x70,0x6F,0x73,0x65,0x20,0x63,0x75,0x72,0x72,0x65, - 0x6E,0x74,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E, - 0x74,0x20,0x69,0x6E,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E, - 0x20,0x64,0x6F,0x77,0x6E,0x2E,0x39,0x3E,0x43,0x74,0x72,0x6C, - 0x2B,0x46,0x38,0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x72,0x61, - 0x6E,0x73,0x70,0x6F,0x73,0x65,0x20,0x63,0x75,0x72,0x72,0x65, - 0x6E,0x74,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E, - 0x74,0x20,0x69,0x6E,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E, - 0x20,0x75,0x70,0x2E,0x38,0x3E,0x41,0x6C,0x74,0x2B,0x46,0x37, - 0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x72,0x61,0x6E,0x73,0x70, - 0x6F,0x73,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20, - 0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x69, - 0x6E,0x20,0x62,0x6C,0x6F,0x63,0x6B,0x20,0x64,0x6F,0x77,0x6E, - 0x2E,0x36,0x3E,0x41,0x6C,0x74,0x2B,0x46,0x38,0x20,0x40,0x54, - 0x31,0x36,0x30,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x73,0x65, - 0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x69,0x6E,0x73, - 0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x69,0x6E,0x20,0x62, - 0x6C,0x6F,0x63,0x6B,0x20,0x75,0x70,0x2E,0x34,0x3E,0x53,0x68, - 0x2B,0x46,0x31,0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x72,0x61, - 0x6E,0x73,0x70,0x6F,0x73,0x65,0x20,0x61,0x6C,0x6C,0x20,0x69, - 0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x73,0x20,0x69, - 0x6E,0x20,0x74,0x72,0x61,0x63,0x6B,0x20,0x64,0x6F,0x77,0x6E, - 0x2E,0x32,0x3E,0x53,0x68,0x2B,0x46,0x32,0x20,0x40,0x54,0x31, - 0x36,0x30,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x73,0x65,0x20, - 0x61,0x6C,0x6C,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65, - 0x6E,0x74,0x73,0x20,0x69,0x6E,0x20,0x74,0x72,0x61,0x63,0x6B, - 0x20,0x75,0x70,0x2E,0x38,0x3E,0x43,0x74,0x72,0x6C,0x2B,0x46, - 0x31,0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x72,0x61,0x6E,0x73, - 0x70,0x6F,0x73,0x65,0x20,0x61,0x6C,0x6C,0x20,0x69,0x6E,0x73, - 0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x73,0x20,0x69,0x6E,0x20, - 0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x64,0x6F,0x77,0x6E, - 0x2E,0x36,0x3E,0x43,0x74,0x72,0x6C,0x2B,0x46,0x32,0x20,0x40, - 0x54,0x31,0x36,0x30,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x73, - 0x65,0x20,0x61,0x6C,0x6C,0x20,0x69,0x6E,0x73,0x74,0x72,0x75, - 0x6D,0x65,0x6E,0x74,0x73,0x20,0x69,0x6E,0x20,0x70,0x61,0x74, - 0x74,0x65,0x72,0x6E,0x20,0x75,0x70,0x2E,0x35,0x3E,0x41,0x6C, - 0x74,0x2B,0x46,0x31,0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x72, - 0x61,0x6E,0x73,0x70,0x6F,0x73,0x65,0x20,0x61,0x6C,0x6C,0x20, - 0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x73,0x20, - 0x69,0x6E,0x20,0x62,0x6C,0x6F,0x63,0x6B,0x20,0x64,0x6F,0x77, - 0x6E,0x2E,0x33,0x3E,0x41,0x6C,0x74,0x2B,0x46,0x32,0x20,0x40, - 0x54,0x31,0x36,0x30,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x73, - 0x65,0x20,0x61,0x6C,0x6C,0x20,0x69,0x6E,0x73,0x74,0x72,0x75, - 0x6D,0x65,0x6E,0x74,0x73,0x20,0x69,0x6E,0x20,0x62,0x6C,0x6F, - 0x63,0x6B,0x20,0x75,0x70,0x2E,0x01,0x3E,0x18,0x40,0x58,0x30, - 0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x61,0x6D,0x70,0x6C, - 0x65,0x20,0x65,0x64,0x69,0x74,0x6F,0x72,0x3A,0x0B,0x3E,0x40, - 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x1A,0x41,0x6C, - 0x74,0x2F,0x43,0x74,0x72,0x6C,0x2B,0x41,0x20,0x40,0x54,0x31, - 0x36,0x30,0x52,0x61,0x6E,0x67,0x65,0x20,0x61,0x6C,0x6C,0x2E, - 0x17,0x3E,0x41,0x6C,0x74,0x2B,0x53,0x20,0x40,0x54,0x31,0x36, - 0x30,0x53,0x68,0x6F,0x77,0x20,0x72,0x61,0x6E,0x67,0x65,0x2E, - 0x15,0x3E,0x41,0x6C,0x74,0x2B,0x5A,0x20,0x40,0x54,0x31,0x36, - 0x30,0x5A,0x6F,0x6F,0x6D,0x20,0x6F,0x75,0x74,0x2E,0x1A,0x3E, - 0x41,0x6C,0x74,0x2B,0x58,0x20,0x6F,0x72,0x20,0x44,0x65,0x6C, - 0x65,0x74,0x65,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x75,0x74, - 0x2E,0x16,0x3E,0x41,0x6C,0x74,0x2F,0x43,0x74,0x72,0x6C,0x2B, - 0x43,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x6F,0x70,0x79,0x2E, - 0x17,0x3E,0x41,0x6C,0x74,0x2F,0x43,0x74,0x72,0x6C,0x2B,0x56, - 0x20,0x40,0x54,0x31,0x36,0x30,0x50,0x61,0x73,0x74,0x65,0x2E, - 0x11,0x3E,0x41,0x6C,0x74,0x2B,0x52,0x20,0x40,0x54,0x31,0x36, - 0x30,0x43,0x72,0x6F,0x70,0x2E,0x2A,0x3E,0x4D,0x6F,0x75,0x73, - 0x65,0x20,0x77,0x68,0x65,0x65,0x6C,0x20,0x40,0x54,0x31,0x36, - 0x30,0x5A,0x6F,0x6F,0x6D,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65, - 0x20,0x64,0x61,0x74,0x61,0x20,0x69,0x6E,0x2F,0x6F,0x75,0x74, - 0x2E,0x00,0x03,0x45,0x4E,0x44,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x4C, - 0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x1C,0x40,0x4C,0x48,0x6F,0x77,0x20,0x74, - 0x6F,0x20,0x75,0x73,0x65,0x20,0x46,0x61,0x73,0x74,0x74,0x72, - 0x61,0x63,0x6B,0x65,0x72,0x20,0x32,0x2E,0x30,0x0B,0x3E,0x40, - 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x32,0x40,0x3E,0x41, - 0x6C,0x6C,0x20,0x22,0x6E,0x6F,0x74,0x2D,0x74,0x6F,0x6F,0x2D, - 0x74,0x72,0x69,0x76,0x69,0x61,0x6C,0x22,0x20,0x66,0x75,0x6E, - 0x63,0x74,0x69,0x6F,0x6E,0x73,0x20,0x61,0x72,0x65,0x20,0x70, - 0x72,0x65,0x73,0x65,0x6E,0x74,0x65,0x64,0x20,0x62,0x65,0x6C, - 0x6F,0x77,0x20,0x28,0x6F,0x72,0x64,0x65,0x72,0x65,0x64,0x20, - 0x69,0x6E,0x22,0x77,0x69,0x6E,0x64,0x6F,0x77,0x73,0x29,0x20, - 0x77,0x69,0x74,0x68,0x20,0x61,0x20,0x73,0x68,0x6F,0x72,0x74, - 0x20,0x64,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E, - 0x2E,0x00,0x17,0x3E,0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30, - 0x30,0x31,0x4D,0x61,0x69,0x6E,0x20,0x73,0x63,0x72,0x65,0x65, - 0x6E,0x3A,0x01,0x3E,0x22,0x3E,0x40,0x58,0x30,0x34,0x30,0x40, - 0x43,0x30,0x30,0x31,0x42,0x50,0x4D,0x20,0x28,0x42,0x65,0x61, - 0x74,0x73,0x20,0x70,0x65,0x72,0x20,0x6D,0x69,0x6E,0x75,0x74, - 0x65,0x29,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, - 0x30,0x30,0x32,0x40,0x54,0x68,0x65,0x20,0x42,0x50,0x4D,0x20, - 0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x64,0x65,0x66,0x69, - 0x6E,0x65,0x73,0x20,0x68,0x6F,0x77,0x20,0x66,0x61,0x73,0x74, - 0x20,0x28,0x74,0x69,0x63,0x6B,0x73,0x2F,0x73,0x65,0x63,0x6F, - 0x6E,0x64,0x29,0x20,0x74,0x68,0x65,0x20,0x6D,0x75,0x73,0x69, - 0x63,0x20,0x70,0x6C,0x61,0x79,0x65,0x72,0x1C,0x77,0x69,0x6C, - 0x6C,0x20,0x72,0x75,0x6E,0x2E,0x20,0x31,0x32,0x35,0x20,0x42, - 0x50,0x4D,0x20,0x3C,0x2D,0x3E,0x20,0x35,0x30,0x20,0x48,0x7A, - 0x2E,0x28,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66, - 0x20,0x70,0x6C,0x61,0x79,0x65,0x72,0x20,0x74,0x69,0x63,0x6B, - 0x73,0x2F,0x73,0x65,0x63,0x6F,0x6E,0x64,0x20,0x3D,0x20,0x42, - 0x50,0x4D,0x2A,0x32,0x2F,0x35,0x00,0x16,0x3E,0x40,0x58,0x30, - 0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x70,0x64,0x2C,0x20, - 0x53,0x70,0x65,0x65,0x64,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36, - 0x30,0x40,0x43,0x30,0x30,0x32,0x2C,0x53,0x70,0x65,0x65,0x64, - 0x20,0x3D,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66, - 0x20,0x70,0x6C,0x61,0x79,0x65,0x72,0x20,0x74,0x69,0x63,0x6B, - 0x73,0x2F,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x6C,0x69, - 0x6E,0x65,0x2E,0x00,0x0F,0x3E,0x40,0x58,0x30,0x34,0x30,0x40, - 0x43,0x30,0x30,0x31,0x41,0x64,0x64,0x3A,0x0B,0x3E,0x40,0x58, - 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3E,0x22,0x41,0x64, - 0x64,0x22,0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x20,0x6E,0x75, - 0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x61,0x74,0x74, - 0x65,0x72,0x6E,0x20,0x6C,0x69,0x6E,0x65,0x73,0x20,0x74,0x68, - 0x65,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x20,0x6A,0x75,0x6D, - 0x70,0x73,0x20,0x77,0x68,0x65,0x6E,0x20,0x79,0x6F,0x75,0x0C, - 0x65,0x64,0x69,0x74,0x20,0x61,0x20,0x6E,0x6F,0x74,0x65,0x2E, - 0x00,0x0F,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, - 0x31,0x50,0x74,0x6E,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30, - 0x40,0x43,0x30,0x30,0x32,0x1B,0x54,0x68,0x65,0x20,0x63,0x75, - 0x72,0x72,0x65,0x6E,0x74,0x20,0x70,0x61,0x74,0x74,0x65,0x72, - 0x6E,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x2E,0x00,0x0E,0x3E, - 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x4C,0x6E, - 0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30, - 0x32,0x43,0x54,0x68,0x65,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72, - 0x20,0x6F,0x66,0x20,0x6C,0x69,0x6E,0x65,0x73,0x20,0x66,0x6F, - 0x72,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E, - 0x74,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x2E,0x20,0x55, - 0x70,0x20,0x74,0x6F,0x20,0x24,0x31,0x30,0x30,0x20,0x6C,0x69, - 0x6E,0x65,0x73,0x2E,0x20,0x4E,0x6F,0x74,0x65,0x40,0x74,0x68, - 0x61,0x74,0x20,0x46,0x54,0x32,0x20,0x77,0x6F,0x6E,0x27,0x74, - 0x20,0x77,0x61,0x72,0x6E,0x20,0x79,0x6F,0x75,0x20,0x69,0x66, - 0x20,0x79,0x6F,0x75,0x20,0x64,0x65,0x63,0x72,0x65,0x61,0x73, - 0x65,0x20,0x74,0x68,0x69,0x73,0x20,0x76,0x61,0x6C,0x75,0x65, - 0x2E,0x20,0x54,0x68,0x65,0x20,0x6E,0x6F,0x74,0x65,0x73,0x20, - 0x61,0x74,0x37,0x74,0x68,0x65,0x20,0x62,0x6F,0x74,0x74,0x6F, - 0x6D,0x20,0x6C,0x69,0x6E,0x65,0x20,0x77,0x69,0x6C,0x6C,0x20, - 0x62,0x65,0x20,0x74,0x68,0x72,0x6F,0x77,0x6E,0x20,0x6F,0x75, - 0x74,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x62,0x69,0x6E, - 0x61,0x72,0x79,0x20,0x73,0x70,0x61,0x63,0x65,0x2E,0x00,0x10, - 0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x45, - 0x78,0x70,0x64,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40, - 0x43,0x30,0x30,0x32,0x44,0x45,0x78,0x70,0x61,0x6E,0x64,0x20, - 0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x2E,0x20,0x49,0x6E,0x73, - 0x65,0x72,0x74,0x73,0x20,0x61,0x20,0x62,0x6C,0x61,0x6E,0x6B, - 0x20,0x6C,0x69,0x6E,0x65,0x20,0x61,0x66,0x74,0x65,0x72,0x20, - 0x65,0x61,0x63,0x68,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E, - 0x20,0x6C,0x69,0x6E,0x65,0x2E,0x20,0x55,0x73,0x65,0x66,0x75, - 0x6C,0x3C,0x69,0x66,0x20,0x79,0x6F,0x75,0x20,0x77,0x61,0x6E, - 0x74,0x20,0x74,0x6F,0x20,0x63,0x6F,0x6E,0x76,0x65,0x72,0x74, - 0x20,0x61,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x74, - 0x68,0x61,0x74,0x20,0x72,0x75,0x6E,0x73,0x20,0x69,0x6E,0x20, - 0x73,0x70,0x65,0x65,0x64,0x20,0x32,0x2A,0x78,0x20,0x74,0x6F, - 0x20,0x61,0x1D,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x74, - 0x68,0x61,0x74,0x20,0x72,0x75,0x6E,0x73,0x20,0x69,0x6E,0x20, - 0x73,0x70,0x65,0x65,0x64,0x20,0x78,0x2E,0x00,0x10,0x3E,0x40, - 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x68,0x6E, - 0x6B,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, - 0x30,0x32,0x2E,0x53,0x68,0x72,0x69,0x6E,0x6B,0x20,0x70,0x61, - 0x74,0x74,0x65,0x72,0x6E,0x2E,0x20,0x44,0x65,0x6C,0x65,0x74, - 0x65,0x73,0x20,0x61,0x6C,0x6C,0x20,0x6F,0x64,0x64,0x20,0x70, - 0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x6C,0x69,0x6E,0x65,0x73, - 0x2E,0x00,0x2A,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, - 0x30,0x31,0x54,0x68,0x65,0x20,0x69,0x6E,0x73,0x74,0x72,0x75, - 0x6D,0x65,0x6E,0x74,0x2F,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20, - 0x73,0x65,0x6C,0x65,0x63,0x74,0x6F,0x72,0x3A,0x0B,0x3E,0x40, - 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3A,0x54,0x68, - 0x65,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74, - 0x20,0x74,0x68,0x61,0x74,0x20,0x68,0x61,0x73,0x20,0x61,0x20, - 0x6D,0x61,0x72,0x6B,0x20,0x6F,0x6E,0x20,0x69,0x74,0x27,0x73, - 0x20,0x6E,0x61,0x6D,0x65,0x20,0x73,0x74,0x72,0x69,0x6E,0x67, - 0x2C,0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x17,0x64,0x65,0x73, - 0x74,0x69,0x6E,0x61,0x74,0x69,0x6F,0x6E,0x20,0x69,0x6E,0x73, - 0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x3D,0x3E,0x54,0x68, - 0x65,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74, - 0x20,0x74,0x68,0x61,0x74,0x20,0x68,0x61,0x73,0x20,0x61,0x20, - 0x6D,0x61,0x72,0x6B,0x20,0x6F,0x6E,0x20,0x69,0x74,0x27,0x73, - 0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x2C,0x20,0x69,0x73,0x20, - 0x74,0x68,0x65,0x20,0x73,0x6F,0x75,0x72,0x63,0x65,0x0B,0x69, - 0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x1F,0x3E, - 0x54,0x68,0x65,0x20,0x73,0x61,0x6D,0x65,0x20,0x67,0x6F,0x65, - 0x73,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x73,0x61, - 0x6D,0x70,0x6C,0x65,0x73,0x2E,0x42,0x3E,0x59,0x6F,0x75,0x20, - 0x63,0x68,0x61,0x6E,0x67,0x65,0x20,0x74,0x68,0x65,0x20,0x6E, - 0x61,0x6D,0x65,0x20,0x6F,0x6E,0x20,0x61,0x6E,0x20,0x69,0x6E, - 0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x2F,0x73,0x61,0x6D, - 0x70,0x6C,0x65,0x20,0x62,0x79,0x20,0x63,0x6C,0x69,0x63,0x6B, - 0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x72,0x69,0x67,0x68, - 0x74,0x07,0x62,0x75,0x74,0x74,0x6F,0x6E,0x2E,0x00,0x12,0x3E, - 0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x63, - 0x6F,0x70,0x65,0x73,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30, - 0x40,0x43,0x30,0x30,0x32,0x22,0x3E,0x4C,0x65,0x66,0x74,0x20, - 0x62,0x75,0x74,0x74,0x6F,0x6E,0x3A,0x20,0x54,0x75,0x72,0x6E, - 0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x6F,0x6E,0x2F, - 0x6F,0x66,0x66,0x2E,0x35,0x3E,0x52,0x69,0x67,0x68,0x74,0x20, - 0x62,0x75,0x74,0x74,0x6F,0x6E,0x3A,0x20,0x54,0x75,0x72,0x6E, - 0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x6D,0x75,0x6C, - 0x74,0x69,0x2D,0x72,0x65,0x63,0x6F,0x72,0x64,0x2F,0x65,0x64, - 0x69,0x74,0x20,0x6F,0x6E,0x2F,0x6F,0x66,0x66,0x2E,0x42,0x3E, - 0x4C,0x65,0x66,0x74,0x2B,0x72,0x69,0x67,0x68,0x74,0x20,0x62, - 0x75,0x74,0x74,0x6F,0x6E,0x3A,0x20,0x54,0x75,0x72,0x6E,0x20, - 0x61,0x6C,0x6C,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73, - 0x20,0x6F,0x66,0x66,0x20,0x65,0x78,0x63,0x65,0x70,0x74,0x20, - 0x74,0x68,0x65,0x20,0x73,0x65,0x6C,0x65,0x63,0x74,0x65,0x64, - 0x20,0x6F,0x6E,0x65,0x2E,0x00,0x1C,0x40,0x58,0x30,0x32,0x30, - 0x40,0x43,0x30,0x30,0x31,0x49,0x6E,0x73,0x74,0x72,0x75,0x6D, - 0x65,0x6E,0x74,0x20,0x45,0x64,0x69,0x74,0x6F,0x72,0x3A,0x01, - 0x3E,0x22,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, - 0x31,0x57,0x68,0x61,0x74,0x20,0x69,0x73,0x20,0x61,0x6E,0x20, - 0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x3F,0x3A, - 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, - 0x1E,0x41,0x20,0x46,0x61,0x73,0x74,0x74,0x72,0x61,0x63,0x6B, - 0x65,0x72,0x20,0x32,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D, - 0x65,0x6E,0x74,0x20,0x69,0x73,0x3A,0x15,0x3E,0x20,0x20,0x20, - 0x31,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x65,0x6E,0x76, - 0x65,0x6C,0x6F,0x70,0x65,0x16,0x3E,0x20,0x20,0x20,0x31,0x20, - 0x50,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x65,0x6E,0x76,0x65, - 0x6C,0x6F,0x70,0x65,0x1D,0x3E,0x20,0x20,0x20,0x31,0x20,0x41, - 0x75,0x74,0x6F,0x2D,0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20, - 0x64,0x65,0x66,0x69,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x13,0x3E, - 0x20,0x20,0x20,0x31,0x2E,0x2E,0x31,0x36,0x20,0x53,0x61,0x6D, - 0x70,0x6C,0x65,0x28,0x73,0x29,0x1F,0x3E,0x20,0x20,0x20,0x31, - 0x20,0x4B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64,0x20,0x73,0x70, - 0x6C,0x69,0x74,0x20,0x64,0x65,0x66,0x69,0x6E,0x69,0x74,0x69, - 0x6F,0x6E,0x15,0x3E,0x20,0x20,0x20,0x31,0x20,0x4D,0x49,0x44, - 0x49,0x20,0x64,0x65,0x66,0x69,0x6E,0x69,0x74,0x69,0x6F,0x6E, - 0x00,0x1B,0x3E,0x41,0x20,0x46,0x61,0x73,0x74,0x74,0x72,0x61, - 0x63,0x6B,0x65,0x72,0x20,0x32,0x20,0x73,0x61,0x6D,0x70,0x6C, - 0x65,0x20,0x69,0x73,0x3A,0x29,0x3E,0x20,0x20,0x20,0x31,0x20, - 0x56,0x6F,0x6C,0x75,0x6D,0x65,0x2F,0x50,0x61,0x6E,0x6E,0x69, - 0x6E,0x67,0x2F,0x46,0x69,0x6E,0x65,0x2D,0x74,0x75,0x6E,0x65, - 0x20,0x64,0x65,0x66,0x69,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x14, - 0x3E,0x20,0x20,0x20,0x31,0x20,0x52,0x65,0x6C,0x61,0x74,0x69, - 0x76,0x65,0x20,0x74,0x6F,0x6E,0x65,0x2E,0x10,0x3E,0x20,0x20, - 0x20,0x31,0x20,0x57,0x61,0x76,0x65,0x20,0x66,0x6F,0x72,0x6D, - 0x2E,0x00,0x1F,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, - 0x30,0x31,0x54,0x68,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65, - 0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65,0x3A,0x0B,0x3E, - 0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x40,0x3E, - 0x41,0x6E,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E, - 0x74,0x27,0x73,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x69, - 0x73,0x20,0x64,0x65,0x66,0x69,0x6E,0x65,0x64,0x20,0x62,0x79, - 0x20,0x69,0x74,0x73,0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70, - 0x65,0x20,0x63,0x75,0x72,0x76,0x65,0x2E,0x20,0x49,0x66,0x20, - 0x74,0x68,0x65,0x3E,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65, - 0x6E,0x74,0x20,0x68,0x61,0x73,0x20,0x61,0x20,0x73,0x75,0x73, - 0x74,0x61,0x69,0x6E,0x20,0x70,0x6F,0x69,0x6E,0x74,0x2C,0x20, - 0x74,0x68,0x65,0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65, - 0x20,0x77,0x69,0x6C,0x6C,0x20,0x73,0x74,0x6F,0x70,0x20,0x61, - 0x74,0x20,0x74,0x68,0x61,0x74,0x42,0x70,0x6F,0x69,0x6E,0x74, - 0x20,0x75,0x6E,0x74,0x69,0x6C,0x20,0x61,0x20,0x6B,0x65,0x79, - 0x2D,0x6F,0x66,0x66,0x20,0x6E,0x6F,0x74,0x65,0x20,0x68,0x61, - 0x73,0x20,0x62,0x65,0x65,0x6E,0x20,0x70,0x6C,0x61,0x79,0x65, - 0x64,0x2E,0x20,0x57,0x68,0x65,0x6E,0x20,0x61,0x20,0x6B,0x65, - 0x79,0x2D,0x6F,0x66,0x66,0x20,0x6E,0x6F,0x74,0x65,0x20,0x69, - 0x73,0x1D,0x70,0x6C,0x61,0x79,0x65,0x64,0x2C,0x20,0x74,0x68, - 0x65,0x20,0x22,0x66,0x61,0x64,0x65,0x6F,0x75,0x74,0x22,0x20, - 0x62,0x65,0x67,0x69,0x6E,0x73,0x2E,0x44,0x3E,0x4F,0x6E,0x65, - 0x20,0x70,0x69,0x78,0x65,0x6C,0x20,0x69,0x6E,0x20,0x74,0x68, - 0x65,0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65,0x20,0x77, - 0x69,0x6E,0x64,0x6F,0x77,0x20,0x63,0x6F,0x72,0x72,0x65,0x73, - 0x70,0x6F,0x6E,0x64,0x73,0x20,0x74,0x6F,0x20,0x6F,0x6E,0x65, - 0x20,0x70,0x6C,0x61,0x79,0x65,0x72,0x2D,0x74,0x69,0x63,0x6B, - 0x2E,0x20,0x49,0x66,0x3C,0x74,0x68,0x65,0x20,0x42,0x50,0x4D, - 0x20,0x69,0x73,0x20,0x31,0x32,0x35,0x2C,0x20,0x79,0x6F,0x75, - 0x27,0x6C,0x6C,0x20,0x63,0x6F,0x6E,0x73,0x75,0x6D,0x65,0x20, - 0x35,0x30,0x20,0x70,0x69,0x78,0x65,0x6C,0x2F,0x73,0x65,0x63, - 0x6F,0x6E,0x64,0x2E,0x20,0x54,0x68,0x65,0x20,0x77,0x69,0x6E, - 0x64,0x6F,0x77,0x27,0x73,0x1A,0x22,0x73,0x69,0x7A,0x65,0x22, - 0x20,0x69,0x73,0x20,0x61,0x62,0x6F,0x75,0x74,0x20,0x36,0x20, - 0x73,0x65,0x63,0x6F,0x6E,0x64,0x73,0x2E,0x3E,0x3E,0x49,0x66, - 0x20,0x79,0x6F,0x75,0x20,0x70,0x72,0x65,0x73,0x73,0x20,0x74, - 0x68,0x65,0x20,0x72,0x69,0x67,0x68,0x74,0x20,0x6D,0x6F,0x75, - 0x73,0x65,0x20,0x62,0x75,0x74,0x74,0x6F,0x6E,0x20,0x61,0x74, - 0x20,0x74,0x68,0x65,0x20,0x70,0x72,0x65,0x64,0x65,0x66,0x69, - 0x6E,0x65,0x20,0x62,0x75,0x74,0x74,0x6F,0x6E,0x73,0x2C,0x3F, - 0x79,0x6F,0x75,0x27,0x6C,0x6C,0x20,0x73,0x74,0x6F,0x72,0x65, - 0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74, - 0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65,0x20,0x69,0x6E, - 0x74,0x6F,0x20,0x74,0x68,0x61,0x74,0x20,0x70,0x72,0x65,0x64, - 0x65,0x66,0x69,0x6E,0x65,0x20,0x63,0x65,0x6C,0x6C,0x2E,0x20, - 0x54,0x68,0x65,0x30,0x70,0x72,0x65,0x64,0x65,0x66,0x69,0x6E, - 0x65,0x73,0x20,0x61,0x72,0x65,0x20,0x73,0x74,0x6F,0x72,0x65, - 0x64,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x6E, - 0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x66, - 0x69,0x6C,0x65,0x2E,0x43,0x3E,0x50,0x72,0x65,0x64,0x65,0x66, - 0x69,0x6E,0x65,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x20,0x31, - 0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x20,0x64,0x65,0x66,0x61, - 0x75,0x6C,0x74,0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65, - 0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x6D,0x65,0x61,0x6E,0x73, - 0x20,0x74,0x68,0x61,0x74,0x20,0x69,0x66,0x20,0x79,0x6F,0x75, - 0x42,0x6C,0x6F,0x61,0x64,0x20,0x61,0x20,0x73,0x61,0x6D,0x70, - 0x6C,0x65,0x2C,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20, - 0x67,0x65,0x74,0x20,0x61,0x6C,0x6C,0x20,0x65,0x6E,0x76,0x65, - 0x6C,0x6F,0x70,0x65,0x20,0x69,0x6E,0x66,0x6F,0x72,0x6D,0x61, - 0x74,0x69,0x6F,0x6E,0x20,0x66,0x72,0x6F,0x6D,0x20,0x70,0x72, - 0x65,0x64,0x65,0x66,0x69,0x6E,0x65,0x20,0x6E,0x75,0x6D,0x62, - 0x65,0x72,0x20,0x31,0x2C,0x20,0x69,0x6E,0x63,0x6C,0x75,0x64, - 0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x76,0x69,0x62,0x72, - 0x61,0x74,0x6F,0x2E,0x42,0x3E,0x4E,0x6F,0x74,0x65,0x20,0x74, - 0x68,0x61,0x74,0x20,0x69,0x66,0x20,0x79,0x6F,0x75,0x20,0x74, - 0x75,0x72,0x6E,0x20,0x74,0x68,0x65,0x20,0x76,0x6F,0x6C,0x75, - 0x6D,0x65,0x2D,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65,0x20, - 0x6F,0x66,0x66,0x2C,0x20,0x79,0x6F,0x75,0x20,0x64,0x6F,0x6E, - 0x27,0x74,0x20,0x74,0x75,0x72,0x6E,0x20,0x74,0x68,0x65,0x0C, - 0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x6F,0x66,0x66,0x2E, - 0x00,0x20,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, - 0x31,0x54,0x68,0x65,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67, - 0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65,0x3A,0x0B,0x3E, - 0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x40,0x3E, - 0x53,0x61,0x6D,0x65,0x20,0x61,0x73,0x20,0x61,0x62,0x6F,0x76, - 0x65,0x2C,0x20,0x65,0x78,0x63,0x65,0x70,0x74,0x20,0x66,0x72, - 0x6F,0x6D,0x20,0x74,0x68,0x61,0x74,0x20,0x74,0x68,0x65,0x20, - 0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x69,0x73,0x20,0x6E, - 0x6F,0x74,0x20,0x63,0x6F,0x6E,0x6E,0x65,0x63,0x74,0x65,0x64, - 0x20,0x74,0x6F,0x15,0x74,0x68,0x65,0x20,0x70,0x61,0x6E,0x6E, - 0x69,0x6E,0x67,0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65, - 0x2E,0x00,0x10,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, - 0x30,0x31,0x54,0x75,0x6E,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30, - 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3F,0x3E,0x54,0x68,0x65, - 0x20,0x66,0x69,0x6E,0x65,0x2D,0x74,0x75,0x6E,0x65,0x20,0x72, - 0x65,0x73,0x6F,0x6C,0x75,0x74,0x69,0x6F,0x6E,0x20,0x68,0x61, - 0x73,0x20,0x62,0x65,0x65,0x6E,0x20,0x63,0x68,0x61,0x6E,0x67, - 0x65,0x64,0x20,0x66,0x72,0x6F,0x6D,0x20,0x61,0x20,0x73,0x69, - 0x67,0x6E,0x65,0x64,0x20,0x6E,0x69,0x62,0x62,0x6C,0x65,0x27, - 0x28,0x2D,0x38,0x2E,0x2E,0x2B,0x37,0x29,0x20,0x74,0x6F,0x20, - 0x61,0x20,0x73,0x69,0x67,0x6E,0x65,0x64,0x20,0x62,0x79,0x74, - 0x65,0x20,0x28,0x2D,0x31,0x32,0x38,0x2E,0x2E,0x2B,0x31,0x32, - 0x37,0x29,0x2E,0x00,0x13,0x3E,0x40,0x58,0x30,0x34,0x30,0x40, - 0x43,0x30,0x30,0x31,0x46,0x61,0x64,0x65,0x6F,0x75,0x74,0x3A, - 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, - 0x1B,0x3E,0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x74,0x68, - 0x65,0x20,0x66,0x61,0x64,0x65,0x6F,0x75,0x74,0x20,0x73,0x70, - 0x65,0x65,0x64,0x2E,0x00,0x19,0x3E,0x40,0x58,0x30,0x34,0x30, - 0x40,0x43,0x30,0x30,0x31,0x56,0x69,0x62,0x72,0x61,0x74,0x6F, - 0x20,0x73,0x77,0x65,0x65,0x70,0x3A,0x0B,0x3E,0x40,0x58,0x30, - 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3E,0x3E,0x54,0x68,0x69, - 0x73,0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x20,0x74,0x69,0x6D, - 0x65,0x20,0x28,0x69,0x6E,0x20,0x70,0x6C,0x61,0x79,0x65,0x72, - 0x20,0x74,0x69,0x63,0x6B,0x73,0x29,0x20,0x74,0x68,0x61,0x74, - 0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x79,0x70,0x61,0x73,0x73, - 0x20,0x75,0x6E,0x74,0x69,0x6C,0x20,0x74,0x68,0x65,0x2D,0x61, - 0x75,0x74,0x6F,0x2D,0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20, - 0x77,0x69,0x6C,0x6C,0x20,0x72,0x65,0x61,0x63,0x68,0x20,0x69, - 0x74,0x27,0x73,0x20,0x66,0x69,0x6E,0x61,0x6C,0x20,0x61,0x6D, - 0x70,0x6C,0x69,0x74,0x75,0x64,0x65,0x2E,0x00,0x1E,0x3E,0x40, - 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x54,0x68,0x65, - 0x20,0x70,0x69,0x61,0x6E,0x6F,0x20,0x6B,0x65,0x79,0x62,0x6F, - 0x61,0x72,0x64,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40, - 0x43,0x30,0x30,0x32,0x3F,0x3E,0x54,0x68,0x65,0x20,0x70,0x69, - 0x61,0x6E,0x6F,0x20,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64, - 0x20,0x64,0x65,0x66,0x69,0x6E,0x65,0x73,0x20,0x74,0x68,0x65, - 0x20,0x6B,0x65,0x79,0x20,0x73,0x70,0x6C,0x69,0x74,0x20,0x66, - 0x6F,0x72,0x20,0x61,0x6E,0x20,0x69,0x6E,0x73,0x74,0x72,0x75, - 0x6D,0x65,0x6E,0x74,0x2E,0x20,0x54,0x6F,0x3F,0x63,0x68,0x61, - 0x6E,0x67,0x65,0x20,0x74,0x68,0x65,0x20,0x6B,0x65,0x79,0x20, - 0x73,0x70,0x6C,0x69,0x74,0x2C,0x20,0x63,0x68,0x6F,0x6F,0x73, - 0x65,0x20,0x61,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x77, - 0x69,0x74,0x68,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x69,0x6E, - 0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x61,0x6E,0x64, - 0x1C,0x74,0x68,0x65,0x6E,0x20,0x22,0x64,0x72,0x61,0x77,0x22, - 0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x6B,0x65,0x79,0x62, - 0x6F,0x61,0x72,0x64,0x2E,0x42,0x3E,0x54,0x68,0x65,0x20,0x6E, - 0x6F,0x74,0x65,0x73,0x20,0x70,0x6C,0x61,0x79,0x65,0x64,0x20, - 0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72, - 0x72,0x65,0x6E,0x74,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D, - 0x65,0x6E,0x74,0x20,0x61,0x72,0x65,0x20,0x69,0x6E,0x64,0x69, - 0x63,0x61,0x74,0x65,0x64,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65, - 0x09,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64,0x2E,0x00,0x1A, - 0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x49, - 0x6D,0x70,0x6F,0x72,0x74,0x61,0x6E,0x74,0x20,0x6E,0x6F,0x74, - 0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, - 0x30,0x32,0x40,0x3E,0x54,0x68,0x65,0x20,0x76,0x6F,0x6C,0x75, - 0x6D,0x65,0x2C,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2C, - 0x20,0x74,0x75,0x6E,0x65,0x20,0x61,0x6E,0x64,0x20,0x72,0x65, - 0x6C,0x61,0x74,0x69,0x76,0x65,0x20,0x74,0x6F,0x6E,0x65,0x20, - 0x69,0x73,0x20,0x64,0x65,0x66,0x69,0x6E,0x65,0x64,0x20,0x66, - 0x6F,0x72,0x20,0x45,0x41,0x43,0x48,0x41,0x53,0x41,0x4D,0x50, - 0x4C,0x45,0x20,0x69,0x6E,0x20,0x61,0x6E,0x20,0x69,0x6E,0x73, - 0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x20,0x41,0x6C,0x6C, - 0x20,0x6F,0x74,0x68,0x65,0x72,0x20,0x69,0x6E,0x66,0x6F,0x72, - 0x6D,0x61,0x74,0x69,0x6F,0x6E,0x20,0x69,0x73,0x20,0x64,0x65, - 0x66,0x69,0x6E,0x65,0x64,0x20,0x66,0x6F,0x72,0x20,0x74,0x68, - 0x65,0x12,0x65,0x6E,0x74,0x69,0x72,0x65,0x20,0x69,0x6E,0x73, - 0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x00,0x31,0x40,0x58, - 0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x31,0x49,0x6E,0x73,0x74, - 0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x45,0x64,0x69,0x74,0x6F, - 0x72,0x20,0x45,0x78,0x74,0x65,0x6E,0x73,0x69,0x6F,0x6E,0x3A, - 0x20,0x28,0x49,0x2E,0x45,0x2E,0x45,0x78,0x74,0x2E,0x29,0x01, - 0x3E,0x10,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, - 0x31,0x4D,0x49,0x44,0x49,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36, - 0x30,0x40,0x43,0x30,0x30,0x32,0x28,0x3E,0x27,0x70,0x2E,0x27, - 0x20,0x73,0x74,0x61,0x6E,0x64,0x73,0x20,0x66,0x6F,0x72,0x20, - 0x22,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x22,0x20,0x28,0x69, - 0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x29,0x2E,0x40, - 0x3E,0x53,0x65,0x76,0x65,0x72,0x61,0x6C,0x20,0x69,0x6E,0x73, - 0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x73,0x20,0x63,0x61,0x6E, - 0x20,0x68,0x61,0x76,0x65,0x20,0x74,0x68,0x65,0x20,0x73,0x61, - 0x6D,0x65,0x20,0x74,0x72,0x61,0x6E,0x73,0x6D,0x69,0x74,0x20, - 0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x62,0x75,0x74,0x20, - 0x77,0x69,0x74,0x68,0x33,0x64,0x69,0x66,0x66,0x65,0x72,0x65, - 0x6E,0x74,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x73,0x2E, - 0x20,0x46,0x54,0x32,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x73, - 0x20,0x74,0x68,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D, - 0x73,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x43,0x4D,0x49,0x44, - 0x49,0x2D,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x20,0x69, - 0x6E,0x73,0x74,0x61,0x6E,0x74,0x6C,0x79,0x20,0x64,0x75,0x72, - 0x69,0x6E,0x67,0x20,0x70,0x6C,0x61,0x79,0x20,0x69,0x66,0x20, - 0x64,0x69,0x66,0x66,0x65,0x72,0x65,0x6E,0x74,0x20,0x70,0x72, - 0x6F,0x67,0x72,0x61,0x6D,0x73,0x20,0x61,0x72,0x65,0x20,0x75, - 0x73,0x65,0x64,0x2E,0x3E,0x44,0x69,0x66,0x66,0x65,0x72,0x65, - 0x6E,0x74,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x73,0x20, - 0x63,0x61,0x6E,0x6E,0x6F,0x74,0x20,0x62,0x65,0x20,0x70,0x6C, - 0x61,0x79,0x65,0x64,0x20,0x61,0x74,0x20,0x74,0x68,0x65,0x20, - 0x73,0x61,0x6D,0x65,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C, - 0x20,0x61,0x74,0x20,0x74,0x68,0x65,0x11,0x73,0x61,0x6D,0x65, - 0x20,0x74,0x69,0x6D,0x65,0x20,0x74,0x68,0x6F,0x75,0x67,0x68, - 0x2E,0x44,0x3E,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x63,0x68, - 0x61,0x6E,0x67,0x65,0x20,0x74,0x68,0x69,0x73,0x20,0x76,0x61, - 0x6C,0x75,0x65,0x2C,0x20,0x74,0x68,0x65,0x20,0x70,0x72,0x6F, - 0x67,0x72,0x61,0x6D,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x20, - 0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x74,0x72,0x61,0x6E, - 0x73,0x6D,0x69,0x74,0x74,0x65,0x64,0x20,0x74,0x6F,0x1C,0x74, - 0x68,0x65,0x20,0x73,0x79,0x6E,0x74,0x68,0x65,0x73,0x69,0x7A, - 0x65,0x72,0x20,0x69,0x6D,0x6D,0x65,0x64,0x69,0x61,0x74,0x65, - 0x6C,0x79,0x2E,0x3E,0x3E,0x53,0x6F,0x6D,0x65,0x20,0x73,0x79, - 0x6E,0x74,0x68,0x65,0x73,0x69,0x7A,0x65,0x72,0x73,0x20,0x74, - 0x72,0x61,0x6E,0x73,0x6D,0x69,0x74,0x20,0x70,0x72,0x6F,0x67, - 0x72,0x61,0x6D,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x20,0x69, - 0x6E,0x66,0x6F,0x72,0x6D,0x61,0x74,0x69,0x6F,0x6E,0x2E,0x20, - 0x49,0x66,0x20,0x74,0x68,0x65,0x43,0x63,0x75,0x72,0x72,0x65, - 0x6E,0x74,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E, - 0x74,0x20,0x69,0x6E,0x20,0x46,0x54,0x32,0x20,0x69,0x73,0x20, - 0x61,0x20,0x4D,0x49,0x44,0x49,0x2D,0x69,0x6E,0x73,0x74,0x72, - 0x2E,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x20,0x73, - 0x61,0x6D,0x65,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20, - 0x61,0x73,0x3F,0x74,0x68,0x65,0x20,0x72,0x65,0x63,0x65,0x69, - 0x76,0x65,0x64,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x20, - 0x63,0x68,0x61,0x6E,0x67,0x65,0x2C,0x20,0x69,0x74,0x27,0x73, - 0x20,0x4D,0x49,0x44,0x49,0x2D,0x70,0x72,0x6F,0x67,0x72,0x61, - 0x6D,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x63,0x68, - 0x61,0x6E,0x67,0x65,0x64,0x2E,0x40,0x3E,0x49,0x66,0x20,0x79, - 0x6F,0x75,0x72,0x20,0x73,0x79,0x6E,0x74,0x68,0x65,0x73,0x69, - 0x7A,0x65,0x72,0x20,0x64,0x6F,0x65,0x73,0x6E,0x27,0x74,0x20, - 0x74,0x72,0x61,0x6E,0x73,0x6D,0x69,0x74,0x20,0x70,0x72,0x6F, - 0x67,0x72,0x61,0x6D,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x2C, - 0x20,0x74,0x68,0x65,0x72,0x65,0x27,0x73,0x20,0x6E,0x6F,0x3E, - 0x70,0x6F,0x69,0x6E,0x74,0x20,0x69,0x6E,0x20,0x63,0x68,0x61, - 0x6E,0x67,0x69,0x6E,0x67,0x20,0x69,0x74,0x20,0x6F,0x6E,0x20, - 0x74,0x68,0x65,0x20,0x73,0x79,0x6E,0x74,0x68,0x65,0x73,0x69, - 0x7A,0x65,0x72,0x2C,0x20,0x64,0x6F,0x20,0x69,0x74,0x20,0x69, - 0x6E,0x20,0x46,0x54,0x32,0x20,0x69,0x6E,0x73,0x74,0x65,0x61, - 0x64,0x2E,0x00,0x18,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43, - 0x30,0x30,0x31,0x42,0x65,0x6E,0x64,0x65,0x72,0x20,0x72,0x61, - 0x6E,0x67,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40, - 0x43,0x30,0x30,0x32,0x38,0x3E,0x54,0x68,0x69,0x73,0x20,0x76, - 0x61,0x6C,0x75,0x65,0x20,0x64,0x65,0x66,0x69,0x6E,0x65,0x73, - 0x20,0x68,0x6F,0x77,0x20,0x6D,0x61,0x6E,0x79,0x20,0x6E,0x6F, - 0x74,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x69,0x6E,0x73,0x74, - 0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x6F,0x6E,0x20,0x74,0x68, - 0x65,0x37,0x73,0x79,0x6E,0x74,0x68,0x65,0x73,0x69,0x7A,0x65, - 0x72,0x20,0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x70,0x69,0x74, - 0x63,0x68,0x62,0x65,0x6E,0x64,0x65,0x64,0x2E,0x20,0x46,0x54, - 0x32,0x20,0x75,0x73,0x65,0x73,0x20,0x74,0x68,0x69,0x73,0x20, - 0x76,0x61,0x6C,0x75,0x65,0x20,0x66,0x6F,0x72,0x37,0x74,0x72, - 0x61,0x6E,0x73,0x6D,0x69,0x74,0x74,0x69,0x6E,0x67,0x20,0x74, - 0x68,0x65,0x20,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74, - 0x6F,0x20,0x75,0x70,0x2F,0x64,0x6F,0x77,0x6E,0x20,0x61,0x6E, - 0x64,0x20,0x74,0x6F,0x6E,0x65,0x2D,0x70,0x6F,0x72,0x74,0x61, - 0x6D,0x65,0x6E,0x74,0x6F,0x13,0x63,0x6F,0x6D,0x6D,0x61,0x6E, - 0x64,0x73,0x20,0x63,0x6F,0x72,0x72,0x65,0x63,0x74,0x6C,0x79, - 0x2E,0x45,0x3E,0x54,0x68,0x65,0x20,0x4D,0x49,0x44,0x49,0x2D, - 0x70,0x69,0x74,0x63,0x68,0x62,0x65,0x6E,0x64,0x20,0x77,0x6F, - 0x72,0x6B,0x73,0x20,0x63,0x6F,0x72,0x72,0x65,0x63,0x74,0x6C, - 0x79,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x77,0x69,0x74,0x68,0x20, - 0x6C,0x69,0x6E,0x65,0x61,0x72,0x20,0x66,0x72,0x65,0x71,0x75, - 0x65,0x6E,0x63,0x79,0x20,0x74,0x61,0x62,0x6C,0x65,0x2E,0x00, - 0x18,0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x31,0x53, - 0x61,0x6D,0x70,0x6C,0x65,0x20,0x45,0x64,0x69,0x74,0x6F,0x72, - 0x3A,0x01,0x3E,0x2C,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43, - 0x30,0x30,0x31,0x50,0x6C,0x61,0x79,0x20,0x28,0x57,0x61,0x76, - 0x65,0x20,0x66,0x6F,0x72,0x6D,0x2C,0x20,0x72,0x61,0x6E,0x67, - 0x65,0x2C,0x20,0x64,0x69,0x73,0x70,0x6C,0x61,0x79,0x29,0x3A, - 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, - 0x3C,0x3E,0x50,0x6C,0x61,0x79,0x73,0x20,0x74,0x68,0x65,0x20, - 0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x73,0x61,0x6D,0x70, - 0x6C,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x6F,0x6E,0x65, - 0x20,0x64,0x69,0x73,0x70,0x6C,0x61,0x79,0x20,0x61,0x62,0x6F, - 0x76,0x65,0x20,0x74,0x68,0x65,0x20,0x22,0x73,0x74,0x6F,0x70, - 0x22,0x3D,0x62,0x75,0x74,0x74,0x6F,0x6E,0x2E,0x20,0x4E,0x6F, - 0x74,0x65,0x20,0x74,0x68,0x61,0x74,0x20,0x72,0x65,0x73,0x70, - 0x65,0x63,0x74,0x20,0x69,0x73,0x20,0x74,0x61,0x6B,0x65,0x6E, - 0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x70,0x61,0x72,0x74, - 0x69,0x63,0x75,0x6C,0x61,0x72,0x20,0x73,0x61,0x6D,0x70,0x6C, - 0x65,0x27,0x73,0x0E,0x72,0x65,0x6C,0x61,0x74,0x69,0x76,0x65, - 0x20,0x74,0x6F,0x6E,0x65,0x2E,0x00,0x16,0x3E,0x40,0x58,0x30, - 0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x61,0x76,0x65,0x20, - 0x72,0x61,0x6E,0x67,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36, - 0x30,0x40,0x43,0x30,0x30,0x32,0x3C,0x3E,0x53,0x74,0x6F,0x72, - 0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x72,0x61,0x6E,0x67,0x65, - 0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x69, - 0x6E,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E, - 0x74,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x64,0x69,0x72, - 0x65,0x63,0x74,0x6F,0x72,0x79,0x2E,0x00,0x11,0x3E,0x40,0x58, - 0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x50,0x61,0x73,0x74, - 0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, - 0x30,0x32,0x40,0x3E,0x54,0x68,0x65,0x20,0x73,0x61,0x6D,0x70, - 0x6C,0x65,0x20,0x64,0x61,0x74,0x61,0x20,0x69,0x6E,0x20,0x74, - 0x68,0x65,0x20,0x63,0x6F,0x70,0x79,0x20,0x62,0x75,0x66,0x66, - 0x65,0x72,0x20,0x69,0x73,0x20,0x73,0x74,0x6F,0x72,0x65,0x64, - 0x20,0x49,0x4E,0x54,0x4F,0x20,0x74,0x68,0x65,0x20,0x73,0x70, - 0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x06,0x72,0x61,0x6E,0x67, - 0x65,0x2E,0x00,0x10,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43, - 0x30,0x30,0x31,0x43,0x72,0x6F,0x70,0x3A,0x0B,0x3E,0x40,0x58, - 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3E,0x3E,0x43,0x75, - 0x74,0x73,0x20,0x65,0x76,0x65,0x72,0x79,0x74,0x68,0x69,0x6E, - 0x67,0x20,0x62,0x75,0x74,0x20,0x74,0x68,0x65,0x20,0x72,0x61, - 0x6E,0x67,0x65,0x2E,0x20,0x4E,0x6F,0x74,0x68,0x69,0x6E,0x67, - 0x20,0x69,0x73,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x64,0x20, - 0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x70,0x79,0x19, - 0x62,0x75,0x66,0x66,0x65,0x72,0x20,0x62,0x79,0x20,0x74,0x68, - 0x69,0x73,0x20,0x6F,0x70,0x65,0x72,0x61,0x74,0x69,0x6F,0x6E, - 0x2E,0x00,0x12,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, - 0x30,0x31,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x3A,0x0B,0x3E,0x40, - 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x17,0x3E,0x4F, - 0x70,0x65,0x72,0x61,0x74,0x65,0x73,0x20,0x6F,0x6E,0x20,0x74, - 0x68,0x65,0x20,0x72,0x61,0x6E,0x67,0x65,0x2E,0x00,0x12,0x3E, - 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x58,0x2D, - 0x46,0x61,0x64,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30, - 0x40,0x43,0x30,0x30,0x32,0x44,0x3E,0x54,0x68,0x69,0x73,0x20, - 0x69,0x73,0x20,0x61,0x20,0x74,0x6F,0x6F,0x6C,0x20,0x66,0x6F, - 0x72,0x20,0x6D,0x61,0x6B,0x69,0x6E,0x67,0x20,0x73,0x6D,0x6F, - 0x6F,0x74,0x68,0x20,0x6C,0x6F,0x6F,0x70,0x73,0x2E,0x20,0x53, - 0x70,0x65,0x63,0x69,0x66,0x79,0x20,0x61,0x20,0x72,0x61,0x6E, - 0x67,0x65,0x20,0x74,0x68,0x61,0x74,0x20,0x63,0x6F,0x76,0x65, - 0x72,0x73,0x41,0x74,0x68,0x65,0x20,0x66,0x69,0x72,0x73,0x74, - 0x20,0x6C,0x6F,0x6F,0x70,0x20,0x70,0x6F,0x69,0x6E,0x74,0x2E, - 0x20,0x4D,0x61,0x6B,0x65,0x20,0x73,0x75,0x72,0x65,0x20,0x74, - 0x68,0x61,0x74,0x20,0x74,0x68,0x65,0x72,0x65,0x20,0x69,0x73, - 0x20,0x61,0x73,0x20,0x6D,0x75,0x63,0x68,0x20,0x73,0x70,0x61, - 0x63,0x65,0x20,0x61,0x66,0x74,0x65,0x72,0x41,0x74,0x68,0x65, - 0x20,0x73,0x65,0x63,0x6F,0x6E,0x64,0x20,0x6C,0x6F,0x6F,0x70, - 0x20,0x70,0x6F,0x69,0x6E,0x74,0x20,0x61,0x73,0x20,0x74,0x68, - 0x65,0x20,0x72,0x61,0x6E,0x67,0x65,0x20,0x62,0x79,0x70,0x61, - 0x73,0x73,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x66,0x69,0x72, - 0x73,0x74,0x20,0x6C,0x6F,0x6F,0x70,0x20,0x70,0x6F,0x69,0x6E, - 0x74,0x2E,0x1F,0x50,0x72,0x65,0x73,0x73,0x20,0x74,0x68,0x65, - 0x20,0x58,0x2D,0x66,0x61,0x64,0x65,0x20,0x62,0x75,0x74,0x74, - 0x6F,0x6E,0x2E,0x20,0x45,0x6E,0x6A,0x6F,0x79,0x21,0x00,0x18, - 0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x38, - 0x2D,0x42,0x69,0x74,0x2F,0x31,0x36,0x2D,0x62,0x69,0x74,0x3A, - 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, - 0x42,0x3E,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x6C,0x6F,0x61, - 0x64,0x20,0x61,0x20,0x31,0x36,0x2D,0x62,0x69,0x74,0x20,0x73, - 0x61,0x6D,0x70,0x6C,0x65,0x20,0x77,0x69,0x74,0x68,0x6F,0x75, - 0x74,0x20,0x68,0x65,0x61,0x64,0x65,0x72,0x2C,0x20,0x46,0x54, - 0x32,0x20,0x61,0x73,0x73,0x75,0x6D,0x65,0x73,0x20,0x74,0x68, - 0x61,0x74,0x20,0x69,0x74,0x27,0x73,0x3E,0x61,0x6E,0x20,0x38, - 0x2D,0x62,0x69,0x74,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x2E, - 0x20,0x57,0x68,0x65,0x6E,0x20,0x70,0x72,0x65,0x73,0x73,0x69, - 0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x31,0x36,0x2D,0x62,0x69, - 0x74,0x20,0x62,0x75,0x74,0x74,0x6F,0x6E,0x2C,0x20,0x64,0x6F, - 0x20,0x6E,0x6F,0x74,0x20,0x70,0x72,0x65,0x73,0x73,0x23,0x22, - 0x63,0x6F,0x6E,0x76,0x65,0x72,0x74,0x22,0x20,0x77,0x68,0x65, - 0x6E,0x20,0x74,0x68,0x65,0x20,0x72,0x65,0x71,0x75,0x65,0x73, - 0x74,0x20,0x69,0x73,0x20,0x6D,0x61,0x64,0x65,0x2E,0x00,0x14, - 0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x4D, - 0x69,0x6E,0x69,0x6D,0x69,0x7A,0x65,0x3A,0x0B,0x3E,0x40,0x58, - 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x44,0x3E,0x54,0x68, - 0x69,0x73,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20, - 0x63,0x75,0x74,0x73,0x20,0x74,0x68,0x65,0x20,0x70,0x61,0x72, - 0x74,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6D, - 0x70,0x6C,0x65,0x20,0x74,0x68,0x61,0x74,0x20,0x69,0x73,0x20, - 0x62,0x65,0x79,0x6F,0x6E,0x64,0x20,0x74,0x68,0x65,0x20,0x73, - 0x65,0x63,0x6F,0x6E,0x64,0x0B,0x6C,0x6F,0x6F,0x70,0x20,0x70, - 0x6F,0x69,0x6E,0x74,0x2E,0x00,0x2D,0x40,0x58,0x30,0x32,0x30, - 0x40,0x43,0x30,0x30,0x31,0x53,0x61,0x6D,0x70,0x6C,0x65,0x20, - 0x45,0x64,0x69,0x74,0x6F,0x72,0x20,0x45,0x78,0x74,0x65,0x6E, - 0x73,0x69,0x6F,0x6E,0x3A,0x20,0x28,0x53,0x2E,0x45,0x2E,0x45, - 0x78,0x74,0x2E,0x29,0x01,0x3E,0x27,0x3E,0x40,0x58,0x30,0x34, - 0x30,0x40,0x43,0x30,0x30,0x31,0x43,0x6F,0x70,0x79,0x2F,0x58, - 0x63,0x68,0x67,0x20,0x53,0x61,0x6D,0x70,0x6C,0x65,0x2F,0x49, - 0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x3A,0x0B,0x3E, - 0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3C,0x3E, - 0x54,0x68,0x65,0x20,0x73,0x6F,0x75,0x72,0x63,0x65,0x20,0x69, - 0x73,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x20, - 0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x6C,0x69,0x6E,0x65,0x20, - 0x6E,0x75,0x6D,0x62,0x65,0x72,0x69,0x6E,0x67,0x20,0x63,0x6F, - 0x6C,0x75,0x6D,0x6E,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x40, - 0x69,0x6E,0x73,0x74,0x72,0x2E,0x2F,0x73,0x61,0x6D,0x70,0x6C, - 0x65,0x20,0x6C,0x69,0x73,0x74,0x73,0x20,0x69,0x6E,0x20,0x74, - 0x68,0x65,0x20,0x75,0x70,0x70,0x65,0x72,0x2D,0x72,0x69,0x67, - 0x68,0x74,0x20,0x63,0x6F,0x72,0x6E,0x65,0x72,0x20,0x6F,0x66, - 0x20,0x74,0x68,0x65,0x20,0x73,0x63,0x72,0x65,0x65,0x6E,0x2E, - 0x20,0x54,0x68,0x65,0x29,0x64,0x65,0x73,0x74,0x69,0x6E,0x61, - 0x74,0x69,0x6F,0x6E,0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x20, - 0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x69,0x6E,0x73,0x74, - 0x72,0x2E,0x2F,0x73,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x00,0x15, - 0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x42, - 0x61,0x63,0x6B,0x77,0x61,0x72,0x64,0x73,0x3A,0x0B,0x3E,0x40, - 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x40,0x3E,0x4F, - 0x70,0x65,0x72,0x61,0x74,0x65,0x73,0x20,0x6F,0x6E,0x20,0x74, - 0x68,0x65,0x20,0x72,0x61,0x6E,0x67,0x65,0x20,0x28,0x6F,0x72, - 0x20,0x74,0x68,0x65,0x20,0x77,0x68,0x6F,0x6C,0x65,0x20,0x73, - 0x61,0x6D,0x70,0x6C,0x65,0x20,0x69,0x66,0x20,0x6E,0x6F,0x20, - 0x72,0x61,0x6E,0x67,0x65,0x20,0x69,0x73,0x20,0x73,0x65,0x74, - 0x29,0x2E,0x00,0x13,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43, - 0x30,0x30,0x31,0x43,0x6F,0x6E,0x76,0x65,0x72,0x74,0x3A,0x0B, - 0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x34, - 0x3E,0x43,0x6F,0x6E,0x76,0x65,0x72,0x74,0x73,0x20,0x74,0x68, - 0x65,0x20,0x65,0x6E,0x74,0x69,0x72,0x65,0x20,0x73,0x61,0x6D, - 0x70,0x6C,0x65,0x20,0x66,0x72,0x6F,0x6D,0x2F,0x74,0x6F,0x20, - 0x73,0x69,0x67,0x6E,0x65,0x64,0x2F,0x75,0x6E,0x73,0x69,0x67, - 0x6E,0x65,0x64,0x2E,0x00,0x15,0x3E,0x40,0x58,0x30,0x34,0x30, - 0x40,0x43,0x30,0x30,0x31,0x43,0x6F,0x6E,0x76,0x65,0x72,0x74, - 0x20,0x57,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, - 0x30,0x30,0x32,0x3F,0x53,0x77,0x61,0x70,0x73,0x20,0x74,0x68, - 0x65,0x20,0x62,0x79,0x74,0x65,0x20,0x6F,0x72,0x64,0x65,0x72, - 0x20,0x74,0x6F,0x2F,0x66,0x72,0x6F,0x6D,0x20,0x49,0x6E,0x74, - 0x65,0x6C,0x20,0x66,0x72,0x6F,0x6D,0x2F,0x74,0x6F,0x20,0x4D, - 0x6F,0x74,0x6F,0x72,0x6F,0x6C,0x61,0x20,0x73,0x74,0x61,0x6E, - 0x64,0x61,0x72,0x64,0x20,0x6F,0x6E,0x12,0x74,0x68,0x65,0x20, - 0x65,0x6E,0x74,0x69,0x72,0x65,0x20,0x73,0x61,0x6D,0x70,0x6C, - 0x65,0x2E,0x44,0x59,0x6F,0x75,0x27,0x6C,0x6C,0x20,0x6E,0x65, - 0x65,0x64,0x20,0x74,0x68,0x69,0x73,0x20,0x66,0x75,0x6E,0x63, - 0x74,0x69,0x6F,0x6E,0x20,0x69,0x66,0x20,0x79,0x6F,0x75,0x20, - 0x69,0x6D,0x70,0x6F,0x72,0x74,0x20,0x31,0x36,0x2D,0x62,0x69, - 0x74,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x73,0x20,0x77,0x69, - 0x74,0x68,0x20,0x4D,0x6F,0x74,0x6F,0x72,0x6F,0x6C,0x61,0x2D, - 0x62,0x79,0x74,0x65,0x2D,0x6F,0x72,0x64,0x65,0x72,0x69,0x6E, - 0x67,0x20,0x28,0x66,0x2E,0x65,0x78,0x2E,0x20,0x4B,0x75,0x72, - 0x7A,0x77,0x65,0x69,0x6C,0x20,0x4B,0x32,0x30,0x30,0x30,0x20, - 0x73,0x61,0x6D,0x70,0x6C,0x65,0x73,0x2E,0x29,0x00,0x10,0x3E, - 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x45,0x63, - 0x68,0x6F,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, - 0x30,0x30,0x32,0x1E,0x4F,0x70,0x65,0x72,0x61,0x74,0x65,0x73, - 0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x65,0x6E,0x74,0x69, - 0x72,0x65,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x00,0x12, - 0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x46, - 0x69,0x78,0x20,0x44,0x43,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36, - 0x30,0x40,0x43,0x30,0x30,0x32,0x3D,0x41,0x74,0x74,0x65,0x6D, - 0x70,0x74,0x73,0x20,0x74,0x6F,0x20,0x63,0x65,0x6E,0x74,0x65, - 0x72,0x20,0x61,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x74, - 0x68,0x61,0x74,0x20,0x68,0x61,0x73,0x20,0x75,0x6E,0x77,0x61, - 0x6E,0x74,0x65,0x64,0x20,0x44,0x43,0x20,0x6F,0x66,0x66,0x73, - 0x65,0x74,0x2F,0x62,0x69,0x61,0x73,0x2E,0x43,0x50,0x6C,0x65, - 0x61,0x73,0x65,0x20,0x6E,0x6F,0x74,0x65,0x20,0x74,0x68,0x61, - 0x74,0x20,0x69,0x74,0x20,0x69,0x73,0x20,0x75,0x73,0x69,0x6E, - 0x67,0x20,0x61,0x20,0x63,0x72,0x75,0x64,0x65,0x20,0x61,0x6C, - 0x67,0x6F,0x72,0x69,0x74,0x68,0x6D,0x2C,0x20,0x73,0x6F,0x20, - 0x69,0x74,0x20,0x63,0x61,0x6E,0x20,0x73,0x6F,0x6D,0x65,0x74, - 0x69,0x6D,0x65,0x73,0x22,0x66,0x61,0x69,0x6C,0x20,0x64,0x65, - 0x70,0x65,0x6E,0x64,0x69,0x6E,0x67,0x20,0x6F,0x6E,0x20,0x74, - 0x68,0x65,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x64,0x61, - 0x74,0x61,0x2E,0x00,0x14,0x3E,0x40,0x58,0x30,0x34,0x30,0x40, - 0x43,0x30,0x30,0x31,0x52,0x65,0x73,0x61,0x6D,0x70,0x6C,0x65, - 0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30, - 0x32,0x3C,0x4F,0x70,0x65,0x72,0x61,0x74,0x65,0x73,0x20,0x6F, - 0x6E,0x20,0x74,0x68,0x65,0x20,0x65,0x6E,0x74,0x69,0x72,0x65, - 0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x20,0x54,0x68,0x65, - 0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x27,0x73,0x20,0x72,0x65, - 0x6C,0x61,0x74,0x69,0x76,0x65,0x20,0x74,0x6F,0x6E,0x65,0x20, - 0x69,0x73,0x2C,0x63,0x68,0x61,0x6E,0x67,0x65,0x64,0x20,0x77, - 0x69,0x74,0x68,0x20,0x72,0x65,0x73,0x70,0x65,0x63,0x74,0x20, - 0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x72,0x65,0x73,0x61,0x6D, - 0x70,0x6C,0x69,0x6E,0x67,0x20,0x72,0x61,0x74,0x65,0x2E,0x00, - 0x16,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31, - 0x4D,0x69,0x78,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x3A,0x0B, - 0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x35, - 0x3E,0x4D,0x69,0x78,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x73, - 0x6F,0x75,0x72,0x63,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x74, - 0x68,0x65,0x20,0x64,0x65,0x73,0x74,0x69,0x6E,0x61,0x74,0x69, - 0x6F,0x6E,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x73,0x6F, - 0x75,0x72,0x63,0x65,0x2E,0x00,0x15,0x3E,0x40,0x58,0x30,0x34, - 0x30,0x40,0x43,0x30,0x30,0x31,0x44,0x72,0x61,0x77,0x20,0x6D, - 0x6F,0x64,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40, - 0x43,0x30,0x30,0x32,0x40,0x42,0x79,0x20,0x70,0x72,0x65,0x73, - 0x73,0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x72,0x69,0x67, - 0x68,0x74,0x20,0x6D,0x6F,0x75,0x73,0x65,0x20,0x62,0x75,0x74, - 0x74,0x6F,0x6E,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x73, - 0x61,0x6D,0x70,0x6C,0x65,0x20,0x77,0x69,0x6E,0x64,0x6F,0x77, - 0x2C,0x20,0x79,0x6F,0x75,0x20,0x63,0x61,0x6E,0x1E,0x64,0x72, - 0x61,0x77,0x20,0x79,0x6F,0x75,0x72,0x20,0x77,0x61,0x76,0x65, - 0x20,0x66,0x6F,0x72,0x6D,0x73,0x20,0x6D,0x61,0x6E,0x75,0x61, - 0x6C,0x6C,0x79,0x2E,0x00,0x18,0x40,0x58,0x30,0x32,0x30,0x40, - 0x43,0x30,0x30,0x31,0x43,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72, - 0x61,0x74,0x69,0x6F,0x6E,0x3A,0x01,0x3E,0x15,0x3E,0x40,0x58, - 0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x41,0x75,0x74,0x6F, - 0x20,0x73,0x61,0x76,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36, - 0x30,0x40,0x43,0x30,0x30,0x32,0x43,0x49,0x66,0x20,0x74,0x68, - 0x65,0x20,0x61,0x75,0x74,0x6F,0x20,0x73,0x61,0x76,0x65,0x20, - 0x69,0x73,0x20,0x6F,0x6E,0x2C,0x20,0x46,0x54,0x32,0x20,0x77, - 0x69,0x6C,0x6C,0x20,0x75,0x70,0x64,0x61,0x74,0x65,0x20,0x74, - 0x68,0x65,0x20,0x63,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72,0x61, - 0x74,0x69,0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x20,0x77,0x68, - 0x65,0x6E,0x15,0x79,0x6F,0x75,0x20,0x65,0x78,0x69,0x74,0x20, - 0x74,0x68,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x2E, - 0x00,0x25,0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x31, - 0x43,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F, - 0x6E,0x2C,0x20,0x49,0x2F,0x4F,0x20,0x64,0x65,0x76,0x69,0x63, - 0x65,0x73,0x3A,0x01,0x3E,0x19,0x3E,0x40,0x58,0x30,0x34,0x30, - 0x40,0x43,0x30,0x30,0x31,0x49,0x6E,0x74,0x65,0x72,0x70,0x6F, - 0x6C,0x61,0x74,0x69,0x6F,0x6E,0x3A,0x0B,0x3E,0x40,0x58,0x30, - 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3C,0x54,0x68,0x65,0x20, - 0x6D,0x69,0x78,0x69,0x6E,0x67,0x20,0x72,0x6F,0x75,0x74,0x69, - 0x6E,0x65,0x20,0x69,0x6E,0x74,0x65,0x72,0x70,0x6F,0x6C,0x61, - 0x74,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6D,0x70, - 0x6C,0x65,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x62,0x65,0x74, - 0x77,0x65,0x65,0x6E,0x20,0x74,0x68,0x65,0x42,0x73,0x61,0x6D, - 0x70,0x6C,0x65,0x20,0x70,0x6F,0x69,0x6E,0x74,0x73,0x20,0x74, - 0x6F,0x20,0x72,0x65,0x6D,0x6F,0x76,0x65,0x20,0x75,0x6E,0x77, - 0x61,0x6E,0x74,0x65,0x64,0x20,0x6E,0x6F,0x69,0x73,0x65,0x20, - 0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x73,0x6F,0x75,0x6E,0x64, - 0x2E,0x20,0x52,0x65,0x61,0x6C,0x20,0x46,0x54,0x32,0x20,0x75, - 0x73,0x65,0x73,0x53,0x32,0x2D,0x74,0x61,0x70,0x20,0x6C,0x69, - 0x6E,0x65,0x61,0x72,0x20,0x69,0x6E,0x74,0x65,0x72,0x70,0x6F, - 0x6C,0x61,0x74,0x69,0x6F,0x6E,0x2C,0x20,0x77,0x68,0x69,0x6C, - 0x65,0x20,0x74,0x68,0x69,0x73,0x20,0x63,0x6C,0x6F,0x6E,0x65, - 0x20,0x75,0x73,0x65,0x73,0x20,0x33,0x2D,0x74,0x61,0x70,0x20, - 0x71,0x75,0x61,0x64,0x72,0x61,0x74,0x69,0x63,0x20,0x69,0x6E, - 0x74,0x65,0x72,0x70,0x6F,0x6C,0x61,0x74,0x69,0x6F,0x6E,0x20, - 0x66,0x6F,0x72,0x46,0x69,0x6D,0x70,0x72,0x6F,0x76,0x65,0x64, - 0x20,0x68,0x69,0x67,0x68,0x20,0x66,0x72,0x65,0x71,0x75,0x65, - 0x6E,0x63,0x69,0x65,0x73,0x2E,0x20,0x54,0x75,0x72,0x6E,0x69, - 0x6E,0x67,0x20,0x69,0x74,0x20,0x6F,0x66,0x66,0x20,0x77,0x69, - 0x6C,0x6C,0x20,0x6D,0x61,0x6B,0x65,0x20,0x74,0x68,0x65,0x20, - 0x61,0x75,0x64,0x69,0x6F,0x20,0x73,0x68,0x61,0x72,0x70,0x65, - 0x72,0x2C,0x1C,0x62,0x75,0x74,0x20,0x69,0x74,0x20,0x77,0x69, - 0x6C,0x6C,0x20,0x61,0x6C,0x73,0x6F,0x20,0x62,0x65,0x20,0x6E, - 0x6F,0x69,0x73,0x69,0x65,0x72,0x2E,0x00,0x1A,0x3E,0x40,0x58, - 0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x56,0x6F,0x6C,0x75, - 0x6D,0x65,0x20,0x72,0x61,0x6D,0x70,0x69,0x6E,0x67,0x3A,0x0B, - 0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3B, - 0x45,0x6E,0x61,0x62,0x6C,0x65,0x73,0x20,0x74,0x68,0x65,0x20, - 0x61,0x6E,0x74,0x69,0x2D,0x63,0x6C,0x69,0x63,0x6B,0x20,0x73, - 0x79,0x73,0x74,0x65,0x6D,0x20,0x69,0x6E,0x20,0x74,0x68,0x65, - 0x20,0x61,0x75,0x64,0x69,0x6F,0x20,0x6D,0x69,0x78,0x65,0x72, - 0x20,0x28,0x46,0x54,0x32,0x2E,0x30,0x38,0x2B,0x29,0x2E,0x3B, - 0x50,0x6C,0x65,0x61,0x73,0x65,0x20,0x6E,0x6F,0x74,0x65,0x20, - 0x74,0x68,0x61,0x74,0x20,0x6F,0x72,0x69,0x67,0x69,0x6E,0x61, - 0x6C,0x20,0x46,0x54,0x32,0x20,0x63,0x61,0x6E,0x27,0x74,0x20, - 0x6C,0x6F,0x61,0x64,0x20,0x74,0x68,0x69,0x73,0x20,0x63,0x6F, - 0x6E,0x66,0x69,0x67,0x20,0x65,0x6E,0x74,0x72,0x79,0x2C,0x0B, - 0x63,0x6C,0x6F,0x6E,0x65,0x20,0x6F,0x6E,0x6C,0x79,0x2E,0x00, - 0x1A,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31, - 0x31,0x2E,0x35,0x2D,0x62,0x69,0x74,0x20,0x64,0x69,0x74,0x68, - 0x65,0x72,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, - 0x30,0x30,0x32,0x21,0x57,0x6F,0x72,0x6B,0x73,0x20,0x66,0x6F, - 0x72,0x20,0x31,0x36,0x2D,0x62,0x69,0x74,0x20,0x61,0x75,0x64, - 0x69,0x6F,0x20,0x6D,0x6F,0x64,0x65,0x20,0x6F,0x6E,0x6C,0x79, - 0x2E,0x4E,0x41,0x70,0x70,0x6C,0x69,0x65,0x73,0x20,0x72,0x61, - 0x6E,0x64,0x6F,0x6D,0x20,0x73,0x63,0x61,0x6C,0x65,0x64,0x20, - 0x76,0x61,0x6C,0x75,0x65,0x73,0x20,0x74,0x6F,0x20,0x74,0x68, - 0x65,0x20,0x6D,0x69,0x78,0x65,0x64,0x20,0x73,0x61,0x6D,0x70, - 0x6C,0x65,0x73,0x20,0x62,0x65,0x66,0x6F,0x72,0x65,0x20,0x74, - 0x72,0x75,0x6E,0x63,0x61,0x74,0x69,0x6E,0x67,0x20,0x74,0x6F, - 0x20,0x31,0x36,0x2D,0x62,0x69,0x74,0x2E,0x46,0x54,0x68,0x69, - 0x73,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x69,0x6E,0x20, - 0x74,0x68,0x65,0x6F,0x72,0x79,0x20,0x6C,0x6F,0x77,0x65,0x72, - 0x20,0x74,0x68,0x65,0x20,0x71,0x75,0x61,0x6E,0x74,0x69,0x7A, - 0x61,0x74,0x69,0x6F,0x6E,0x20,0x6E,0x6F,0x69,0x73,0x65,0x2E, - 0x20,0x31,0x36,0x2D,0x62,0x69,0x74,0x20,0x61,0x6C,0x72,0x65, - 0x61,0x64,0x79,0x20,0x68,0x61,0x73,0x46,0x61,0x20,0x70,0x72, - 0x65,0x74,0x74,0x79,0x20,0x6C,0x6F,0x77,0x20,0x6E,0x6F,0x69, - 0x73,0x65,0x20,0x66,0x6C,0x6F,0x6F,0x72,0x2C,0x20,0x73,0x6F, - 0x20,0x64,0x6F,0x6E,0x27,0x74,0x20,0x65,0x78,0x70,0x65,0x63, - 0x74,0x20,0x61,0x6E,0x79,0x20,0x61,0x75,0x64,0x69,0x62,0x6C, - 0x65,0x20,0x64,0x69,0x66,0x66,0x65,0x72,0x65,0x6E,0x63,0x65, - 0x20,0x68,0x65,0x72,0x65,0x2E,0x1F,0x41,0x6C,0x73,0x6F,0x20, - 0x61,0x70,0x70,0x6C,0x69,0x65,0x73,0x20,0x66,0x6F,0x72,0x20, - 0x57,0x41,0x56,0x20,0x72,0x65,0x6E,0x64,0x65,0x72,0x69,0x6E, - 0x67,0x2E,0x00,0x19,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43, - 0x30,0x30,0x31,0x41,0x6D,0x70,0x6C,0x69,0x66,0x69,0x63,0x61, - 0x74,0x69,0x6F,0x6E,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30, - 0x40,0x43,0x30,0x30,0x32,0x46,0x41,0x6D,0x70,0x6C,0x69,0x66, - 0x69,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x76,0x6F,0x6C,0x75, - 0x6D,0x65,0x20,0x77,0x68,0x65,0x6E,0x20,0x6D,0x69,0x78,0x69, - 0x6E,0x67,0x2E,0x20,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x73, - 0x65,0x74,0x20,0x74,0x68,0x69,0x73,0x20,0x6F,0x6E,0x65,0x20, - 0x74,0x6F,0x6F,0x20,0x68,0x69,0x67,0x68,0x2C,0x20,0x79,0x6F, - 0x75,0x27,0x6C,0x6C,0x3A,0x67,0x65,0x74,0x20,0x64,0x69,0x73, - 0x74,0x6F,0x72,0x74,0x69,0x6F,0x6E,0x2E,0x20,0x33,0x32,0x58, - 0x20,0x65,0x71,0x75,0x61,0x6C,0x73,0x20,0x66,0x75,0x6C,0x6C, - 0x20,0x61,0x6D,0x70,0x6C,0x69,0x74,0x75,0x64,0x65,0x20,0x66, - 0x6F,0x72,0x20,0x6F,0x6E,0x65,0x20,0x63,0x68,0x61,0x6E,0x6E, - 0x65,0x6C,0x2E,0x00,0x1B,0x3E,0x40,0x58,0x30,0x34,0x30,0x40, - 0x43,0x30,0x30,0x31,0x46,0x72,0x65,0x71,0x75,0x65,0x6E,0x63, - 0x79,0x20,0x74,0x61,0x62,0x6C,0x65,0x3A,0x0B,0x3E,0x40,0x58, - 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x40,0x54,0x68,0x65, - 0x20,0x6C,0x69,0x6E,0x65,0x61,0x72,0x20,0x66,0x72,0x65,0x71, - 0x75,0x65,0x6E,0x63,0x79,0x20,0x74,0x61,0x62,0x6C,0x65,0x20, - 0x6D,0x61,0x6B,0x65,0x73,0x20,0x61,0x6C,0x6C,0x20,0x70,0x69, - 0x74,0x63,0x68,0x20,0x62,0x65,0x6E,0x64,0x73,0x20,0x72,0x75, - 0x6E,0x20,0x69,0x6E,0x20,0x63,0x6F,0x6E,0x73,0x74,0x61,0x6E, - 0x74,0x3F,0x73,0x70,0x65,0x65,0x64,0x2C,0x20,0x69,0x6E,0x64, - 0x65,0x70,0x65,0x6E,0x64,0x65,0x6E,0x74,0x20,0x6F,0x66,0x20, - 0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20, - 0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x2E,0x20,0x49, - 0x66,0x20,0x79,0x6F,0x75,0x20,0x73,0x77,0x69,0x74,0x63,0x68, - 0x20,0x74,0x68,0x69,0x73,0x41,0x6F,0x6E,0x65,0x2C,0x20,0x6F, - 0x6E,0x20,0x61,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64, - 0x20,0x73,0x6F,0x6E,0x67,0x2C,0x20,0x69,0x74,0x20,0x6D,0x69, - 0x67,0x68,0x74,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x73,0x74, - 0x72,0x61,0x6E,0x67,0x65,0x20,0x69,0x66,0x20,0x74,0x68,0x65, - 0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x75,0x73,0x65,0x73,0x0D, - 0x70,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x65,0x73, - 0x2E,0x00,0x20,0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30, - 0x31,0x43,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69, - 0x6F,0x6E,0x2C,0x20,0x4C,0x61,0x79,0x6F,0x75,0x74,0x3A,0x01, - 0x3E,0x29,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, - 0x31,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x6C,0x61,0x79, - 0x6F,0x75,0x74,0x2C,0x20,0x68,0x65,0x78,0x20,0x6E,0x75,0x6D, - 0x62,0x65,0x72,0x69,0x6E,0x67,0x3A,0x0B,0x3E,0x40,0x58,0x30, - 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x41,0x49,0x66,0x20,0x79, - 0x6F,0x75,0x20,0x75,0x73,0x65,0x20,0x70,0x61,0x74,0x74,0x65, - 0x72,0x6E,0x73,0x20,0x74,0x68,0x61,0x74,0x20,0x61,0x72,0x65, - 0x20,0x6C,0x6F,0x6E,0x67,0x65,0x72,0x20,0x74,0x68,0x61,0x6E, - 0x20,0x39,0x39,0x20,0x6C,0x69,0x6E,0x65,0x73,0x2C,0x20,0x79, - 0x6F,0x75,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x75,0x73, - 0x65,0x45,0x68,0x65,0x78,0x20,0x63,0x6F,0x75,0x6E,0x74,0x69, - 0x6E,0x67,0x20,0x73,0x69,0x6E,0x63,0x65,0x20,0x74,0x68,0x65, - 0x72,0x65,0x20,0x61,0x72,0x65,0x20,0x6F,0x6E,0x6C,0x79,0x20, - 0x32,0x20,0x64,0x69,0x67,0x69,0x74,0x73,0x20,0x69,0x6E,0x20, - 0x74,0x68,0x65,0x20,0x6C,0x69,0x6E,0x65,0x20,0x6E,0x75,0x6D, - 0x62,0x65,0x72,0x20,0x63,0x6F,0x6C,0x75,0x6D,0x6E,0x2E,0x00, - 0x17,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31, - 0x53,0x63,0x6F,0x70,0x65,0x20,0x73,0x74,0x79,0x6C,0x65,0x3A, - 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, - 0x43,0x22,0x4F,0x72,0x69,0x67,0x69,0x6E,0x61,0x6C,0x22,0x20, - 0x77,0x69,0x6C,0x6C,0x20,0x73,0x68,0x6F,0x77,0x20,0x74,0x68, - 0x65,0x20,0x70,0x6F,0x69,0x6E,0x74,0x73,0x20,0x69,0x6E,0x20, - 0x74,0x68,0x65,0x20,0x73,0x63,0x6F,0x70,0x65,0x73,0x20,0x61, - 0x73,0x20,0x70,0x69,0x78,0x65,0x6C,0x73,0x20,0x28,0x6C,0x69, - 0x6B,0x65,0x20,0x46,0x54,0x32,0x29,0x2E,0x41,0x22,0x4C,0x69, - 0x6E,0x65,0x64,0x22,0x20,0x77,0x69,0x6C,0x6C,0x20,0x64,0x72, - 0x61,0x77,0x20,0x6C,0x69,0x6E,0x65,0x73,0x20,0x62,0x65,0x74, - 0x77,0x65,0x65,0x6E,0x20,0x74,0x68,0x65,0x20,0x70,0x6F,0x69, - 0x6E,0x74,0x73,0x2C,0x20,0x6C,0x69,0x6B,0x65,0x20,0x61,0x6E, - 0x20,0x6F,0x73,0x63,0x69,0x6C,0x6C,0x6F,0x73,0x63,0x6F,0x70, - 0x65,0x2E,0x00,0x27,0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30, - 0x30,0x31,0x43,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72,0x61,0x74, - 0x69,0x6F,0x6E,0x2C,0x20,0x4D,0x69,0x73,0x63,0x65,0x6C,0x6C, - 0x61,0x6E,0x65,0x6F,0x75,0x73,0x3A,0x01,0x3E,0x15,0x3E,0x40, - 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x56,0x53,0x79, - 0x6E,0x63,0x20,0x6F,0x66,0x66,0x3A,0x0B,0x3E,0x40,0x58,0x30, - 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3F,0x54,0x65,0x6C,0x6C, - 0x73,0x20,0x74,0x68,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61, - 0x6D,0x20,0x74,0x6F,0x20,0x6E,0x6F,0x74,0x20,0x75,0x73,0x65, - 0x20,0x56,0x53,0x79,0x6E,0x63,0x20,0x66,0x6F,0x72,0x20,0x76, - 0x69,0x64,0x65,0x6F,0x2E,0x20,0x49,0x66,0x20,0x79,0x6F,0x75, - 0x72,0x20,0x6D,0x6F,0x6E,0x69,0x74,0x6F,0x72,0x27,0x73,0x40, - 0x72,0x65,0x66,0x72,0x65,0x73,0x68,0x20,0x72,0x61,0x74,0x65, - 0x20,0x69,0x73,0x20,0x6E,0x6F,0x74,0x20,0x36,0x30,0x48,0x7A, - 0x20,0x28,0x6F,0x72,0x20,0x35,0x39,0x48,0x7A,0x29,0x2C,0x20, - 0x74,0x68,0x65,0x6E,0x20,0x56,0x53,0x79,0x6E,0x63,0x20,0x69, - 0x73,0x20,0x61,0x6C,0x77,0x61,0x79,0x73,0x20,0x6F,0x66,0x66, - 0x20,0x66,0x6F,0x72,0x45,0x74,0x68,0x69,0x73,0x20,0x70,0x72, - 0x6F,0x67,0x72,0x61,0x6D,0x2E,0x20,0x4E,0x6F,0x74,0x20,0x68, - 0x61,0x76,0x69,0x6E,0x67,0x20,0x56,0x53,0x79,0x6E,0x63,0x20, - 0x77,0x69,0x6C,0x6C,0x20,0x72,0x65,0x73,0x75,0x6C,0x74,0x20, - 0x69,0x6E,0x20,0x6C,0x65,0x73,0x73,0x20,0x69,0x6E,0x70,0x75, - 0x74,0x2F,0x76,0x69,0x64,0x65,0x6F,0x20,0x64,0x65,0x6C,0x61, - 0x79,0x2C,0x1E,0x62,0x75,0x74,0x20,0x61,0x6C,0x73,0x6F,0x20, - 0x70,0x6F,0x74,0x65,0x6E,0x74,0x69,0x61,0x6C,0x20,0x73,0x74, - 0x75,0x74,0x74,0x65,0x72,0x69,0x6E,0x67,0x2E,0x01,0x20,0x18, - 0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x50, - 0x69,0x78,0x65,0x6C,0x20,0x66,0x69,0x6C,0x74,0x65,0x72,0x3A, - 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, - 0x43,0x41,0x70,0x70,0x6C,0x69,0x65,0x73,0x20,0x61,0x20,0x73, - 0x75,0x62,0x70,0x69,0x78,0x65,0x6C,0x20,0x66,0x69,0x6C,0x74, - 0x65,0x72,0x20,0x74,0x68,0x61,0x74,0x20,0x69,0x73,0x20,0x75, - 0x73,0x65,0x64,0x20,0x77,0x68,0x65,0x6E,0x20,0x74,0x68,0x65, - 0x20,0x77,0x69,0x6E,0x64,0x6F,0x77,0x20,0x69,0x73,0x20,0x75, - 0x70,0x73,0x63,0x61,0x6C,0x65,0x64,0x2E,0x43,0x54,0x68,0x69, - 0x73,0x20,0x61,0x6C,0x73,0x6F,0x20,0x6D,0x61,0x6B,0x65,0x73, - 0x20,0x66,0x75,0x6C,0x6C,0x73,0x63,0x72,0x65,0x65,0x6E,0x20, - 0x6D,0x6F,0x64,0x65,0x20,0x63,0x6F,0x6D,0x70,0x6C,0x65,0x74, - 0x65,0x6C,0x79,0x20,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x20, - 0x6F,0x75,0x74,0x20,0x69,0x66,0x20,0x69,0x74,0x20,0x64,0x69, - 0x64,0x6E,0x27,0x74,0x44,0x61,0x6C,0x72,0x65,0x61,0x64,0x79, - 0x2E,0x20,0x50,0x6C,0x65,0x61,0x73,0x65,0x20,0x6B,0x65,0x65, - 0x70,0x20,0x69,0x6E,0x20,0x6D,0x69,0x6E,0x64,0x20,0x74,0x68, - 0x61,0x74,0x20,0x74,0x68,0x69,0x73,0x20,0x77,0x69,0x6C,0x6C, - 0x20,0x6D,0x61,0x6B,0x65,0x20,0x70,0x69,0x78,0x65,0x6C,0x73, - 0x20,0x6C,0x6F,0x6F,0x6B,0x20,0x62,0x6C,0x75,0x72,0x72,0x79, - 0x2E,0x00,0x23,0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30, - 0x31,0x41,0x64,0x76,0x61,0x6E,0x63,0x65,0x64,0x20,0x65,0x64, - 0x69,0x74,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73, - 0x3A,0x20,0x01,0x3E,0x1E,0x3E,0x40,0x58,0x30,0x34,0x30,0x40, - 0x43,0x30,0x30,0x31,0x43,0x6F,0x70,0x79,0x2F,0x50,0x61,0x73, - 0x74,0x65,0x20,0x6D,0x61,0x73,0x6B,0x69,0x6E,0x67,0x3A,0x0B, - 0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x37, - 0x54,0x68,0x65,0x20,0x6D,0x61,0x73,0x6B,0x69,0x6E,0x67,0x20, - 0x69,0x73,0x20,0x75,0x73,0x65,0x64,0x20,0x66,0x6F,0x72,0x20, - 0x63,0x6F,0x70,0x79,0x69,0x6E,0x67,0x2F,0x70,0x61,0x73,0x74, - 0x69,0x6E,0x67,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x70,0x61,0x72, - 0x74,0x73,0x20,0x6F,0x66,0x20,0x61,0x46,0x22,0x6E,0x6F,0x74, - 0x65,0x2D,0x63,0x65,0x6C,0x6C,0x22,0x2E,0x20,0x54,0x68,0x65, - 0x20,0x64,0x69,0x66,0x66,0x65,0x72,0x65,0x6E,0x74,0x20,0x70, - 0x61,0x72,0x74,0x73,0x20,0x6F,0x66,0x20,0x61,0x20,0x22,0x6E, - 0x6F,0x74,0x65,0x2D,0x63,0x65,0x6C,0x6C,0x22,0x20,0x69,0x73, - 0x20,0x4E,0x6F,0x74,0x65,0x2C,0x20,0x49,0x6E,0x73,0x74,0x72, - 0x2E,0x20,0x6E,0x72,0x2E,0x2C,0x20,0x56,0x6F,0x6C,0x75,0x6D, - 0x65,0x2C,0x20,0x45,0x66,0x66,0x65,0x63,0x74,0x20,0x6E,0x72, - 0x20,0x26,0x20,0x45,0x66,0x66,0x65,0x63,0x74,0x20,0x64,0x61, - 0x74,0x61,0x2E,0x34,0x3E,0x41,0x73,0x20,0x79,0x6F,0x75,0x20, - 0x63,0x61,0x6E,0x20,0x73,0x65,0x65,0x20,0x69,0x6E,0x20,0x74, - 0x68,0x65,0x20,0x77,0x69,0x6E,0x64,0x6F,0x77,0x20,0x74,0x68, - 0x65,0x72,0x65,0x20,0x61,0x72,0x65,0x20,0x33,0x20,0x63,0x6F, - 0x6C,0x75,0x6D,0x6E,0x73,0x20,0x6F,0x66,0x3D,0x22,0x65,0x6E, - 0x61,0x62,0x6C,0x65,0x2F,0x64,0x69,0x73,0x61,0x62,0x6C,0x65, - 0x20,0x62,0x75,0x74,0x74,0x6F,0x6E,0x73,0x22,0x20,0x77,0x68, - 0x69,0x63,0x68,0x20,0x68,0x61,0x73,0x20,0x74,0x68,0x65,0x20, - 0x6C,0x65,0x74,0x74,0x65,0x72,0x73,0x20,0x43,0x2C,0x50,0x20, - 0x26,0x20,0x54,0x20,0x61,0x62,0x6F,0x76,0x65,0x2E,0x45,0x3E, - 0x43,0x20,0x6D,0x65,0x61,0x6E,0x73,0x20,0x63,0x6F,0x70,0x79, - 0x2C,0x20,0x69,0x74,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C, - 0x73,0x20,0x77,0x68,0x69,0x63,0x68,0x20,0x70,0x61,0x72,0x74, - 0x73,0x20,0x74,0x68,0x61,0x74,0x20,0x67,0x6F,0x65,0x73,0x20, - 0x69,0x6E,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x70, - 0x79,0x62,0x75,0x66,0x66,0x65,0x72,0x2E,0x3E,0x3E,0x50,0x20, - 0x6D,0x65,0x61,0x6E,0x73,0x20,0x70,0x61,0x73,0x74,0x65,0x20, - 0x61,0x6E,0x64,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x73, - 0x20,0x77,0x68,0x69,0x63,0x68,0x20,0x70,0x61,0x72,0x74,0x73, - 0x20,0x74,0x68,0x61,0x74,0x20,0x67,0x6F,0x65,0x73,0x20,0x6F, - 0x75,0x74,0x20,0x66,0x72,0x6F,0x6D,0x20,0x74,0x68,0x65,0x0B, - 0x63,0x6F,0x70,0x79,0x62,0x75,0x66,0x66,0x65,0x72,0x2E,0x45, - 0x3E,0x54,0x20,0x6D,0x65,0x61,0x6E,0x73,0x20,0x74,0x72,0x61, - 0x6E,0x73,0x70,0x61,0x72,0x65,0x6E,0x63,0x79,0x2E,0x20,0x49, - 0x66,0x20,0x69,0x74,0x27,0x73,0x20,0x65,0x6E,0x61,0x62,0x6C, - 0x65,0x64,0x2C,0x20,0x74,0x68,0x65,0x20,0x70,0x61,0x73,0x74, - 0x69,0x6E,0x67,0x20,0x64,0x6F,0x65,0x73,0x6E,0x27,0x74,0x20, - 0x6F,0x76,0x65,0x72,0x77,0x72,0x69,0x74,0x65,0x3D,0x64,0x61, - 0x74,0x61,0x20,0x77,0x69,0x74,0x68,0x20,0x6E,0x69,0x6C,0x2D, - 0x69,0x6E,0x66,0x6F,0x72,0x6D,0x61,0x74,0x69,0x6F,0x6E,0x2C, - 0x20,0x6F,0x6E,0x6C,0x79,0x20,0x77,0x69,0x74,0x68,0x20,0x61, - 0x20,0x6E,0x6F,0x74,0x65,0x20,0x6F,0x72,0x20,0x61,0x20,0x6E, - 0x75,0x6D,0x62,0x65,0x72,0x20,0x3C,0x3E,0x20,0x30,0x2E,0x01, - 0x3E,0x40,0x3E,0x54,0x68,0x65,0x20,0x63,0x75,0x74,0x20,0x66, - 0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73,0x20,0x77,0x6F,0x72, - 0x6B,0x73,0x20,0x6C,0x69,0x6B,0x65,0x20,0x70,0x61,0x73,0x74, - 0x69,0x6E,0x67,0x20,0x77,0x69,0x74,0x68,0x20,0x7A,0x65,0x72, - 0x6F,0x2D,0x64,0x61,0x74,0x61,0x2E,0x20,0x54,0x68,0x69,0x73, - 0x20,0x6D,0x65,0x61,0x6E,0x73,0x3B,0x74,0x68,0x61,0x74,0x20, - 0x74,0x68,0x65,0x20,0x63,0x75,0x74,0x74,0x69,0x6E,0x67,0x20, - 0x69,0x73,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x6C,0x65, - 0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x50,0x2D,0x63,0x6F,0x6C, - 0x75,0x6D,0x6E,0x20,0x28,0x6F,0x72,0x20,0x54,0x2D,0x63,0x6F, - 0x6C,0x75,0x6D,0x6E,0x29,0x2E,0x3C,0x3E,0x57,0x68,0x65,0x6E, - 0x20,0x79,0x6F,0x75,0x20,0x63,0x6F,0x70,0x79,0x20,0x64,0x61, - 0x74,0x61,0x20,0x77,0x69,0x74,0x68,0x20,0x6D,0x61,0x73,0x6B, - 0x69,0x6E,0x67,0x2C,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x73, - 0x61,0x62,0x6C,0x65,0x64,0x20,0x70,0x61,0x72,0x74,0x73,0x20, - 0x61,0x72,0x65,0x20,0x6E,0x6F,0x74,0x43,0x63,0x6C,0x65,0x61, - 0x72,0x65,0x64,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x63, - 0x6F,0x70,0x79,0x62,0x75,0x66,0x66,0x65,0x72,0x2E,0x20,0x28, - 0x4D,0x61,0x6B,0x69,0x6E,0x67,0x20,0x69,0x74,0x20,0x70,0x6F, - 0x73,0x73,0x69,0x62,0x6C,0x65,0x20,0x74,0x6F,0x20,0x63,0x6F, - 0x6C,0x6C,0x65,0x63,0x74,0x20,0x64,0x61,0x74,0x61,0x20,0x66, - 0x72,0x6F,0x6D,0x27,0x73,0x65,0x76,0x65,0x72,0x61,0x6C,0x20, - 0x6C,0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x73,0x20,0x69,0x6E, - 0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x70,0x79,0x62, - 0x75,0x66,0x66,0x65,0x72,0x2E,0x29,0x00,0x03,0x45,0x4E,0x44, - 0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0E,0x40, - 0x4C,0x50,0x72,0x6F,0x62,0x6C,0x65,0x6D,0x73,0x2F,0x46,0x41, - 0x51,0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x41,0x3E,0x40,0x43, - 0x30,0x30,0x31,0x51,0x3A,0x20,0x43,0x61,0x6E,0x20,0x49,0x20, - 0x6D,0x61,0x6B,0x65,0x20,0x66,0x75,0x6C,0x6C,0x73,0x63,0x72, - 0x65,0x65,0x6E,0x20,0x6D,0x6F,0x64,0x65,0x20,0x73,0x74,0x72, - 0x65,0x74,0x63,0x68,0x20,0x6F,0x75,0x74,0x20,0x74,0x68,0x65, - 0x20,0x77,0x68,0x6F,0x6C,0x65,0x20,0x73,0x63,0x72,0x65,0x65, - 0x6E,0x3F,0x3A,0x3E,0x40,0x43,0x30,0x30,0x32,0x41,0x3A,0x20, - 0x45,0x6E,0x61,0x62,0x6C,0x65,0x20,0x22,0x50,0x69,0x78,0x65, - 0x6C,0x20,0x66,0x69,0x6C,0x74,0x65,0x72,0x22,0x20,0x69,0x6E, - 0x20,0x43,0x6F,0x6E,0x66,0x69,0x67,0x20,0x2D,0x3E,0x20,0x4D, - 0x69,0x73,0x63,0x65,0x6C,0x6C,0x61,0x6E,0x65,0x6F,0x75,0x73, - 0x2E,0x4D,0x3E,0x40,0x58,0x30,0x33,0x35,0x49,0x74,0x20,0x77, - 0x6F,0x6E,0x27,0x74,0x20,0x6C,0x6F,0x6F,0x6B,0x20,0x70,0x72, - 0x65,0x74,0x74,0x79,0x2C,0x20,0x62,0x75,0x74,0x20,0x74,0x6F, - 0x20,0x73,0x6F,0x6D,0x65,0x20,0x70,0x65,0x6F,0x70,0x6C,0x65, - 0x20,0x69,0x74,0x27,0x73,0x20,0x6D,0x75,0x63,0x68,0x20,0x62, - 0x65,0x74,0x74,0x65,0x72,0x20,0x74,0x68,0x61,0x6E,0x20,0x6E, - 0x6F,0x74,0x68,0x69,0x6E,0x67,0x2E,0x06,0x3E,0x40,0x58,0x30, - 0x32,0x30,0x27,0x3E,0x40,0x43,0x30,0x30,0x31,0x51,0x3A,0x20, - 0x49,0x20,0x63,0x61,0x6E,0x27,0x74,0x20,0x75,0x73,0x65,0x20, - 0x41,0x4C,0x54,0x2B,0x46,0x34,0x20,0x61,0x6E,0x64,0x20,0x41, - 0x4C,0x54,0x2B,0x46,0x35,0x21,0x4E,0x3E,0x40,0x43,0x30,0x30, - 0x32,0x41,0x3A,0x20,0x57,0x69,0x6E,0x64,0x6F,0x77,0x73,0x3A, - 0x20,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x68,0x61,0x76,0x65, - 0x20,0x47,0x65,0x46,0x6F,0x72,0x63,0x65,0x20,0x45,0x78,0x70, - 0x65,0x72,0x69,0x65,0x6E,0x63,0x65,0x20,0x69,0x6E,0x73,0x74, - 0x61,0x6C,0x6C,0x65,0x64,0x2C,0x20,0x79,0x6F,0x75,0x20,0x6E, - 0x65,0x65,0x64,0x20,0x74,0x6F,0x20,0x63,0x68,0x61,0x6E,0x67, - 0x65,0x2B,0x3E,0x40,0x58,0x30,0x33,0x35,0x74,0x68,0x65,0x20, - 0x6B,0x65,0x79,0x62,0x69,0x6E,0x64,0x69,0x6E,0x67,0x73,0x20, - 0x69,0x6E,0x20,0x69,0x74,0x73,0x20,0x73,0x65,0x74,0x74,0x69, - 0x6E,0x67,0x73,0x20,0x70,0x61,0x67,0x65,0x2E,0x56,0x6D,0x61, - 0x63,0x4F,0x53,0x2F,0x4F,0x53,0x20,0x58,0x3A,0x20,0x43,0x68, - 0x61,0x6E,0x67,0x65,0x20,0x41,0x4C,0x54,0x2B,0x46,0x34,0x2F, - 0x41,0x4C,0x54,0x2B,0x46,0x35,0x20,0x6B,0x65,0x79,0x73,0x20, - 0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x4F,0x53,0x20,0x74,0x6F, - 0x20,0x73,0x6F,0x6D,0x65,0x74,0x68,0x69,0x6E,0x67,0x20,0x65, - 0x6C,0x73,0x65,0x2E,0x20,0x41,0x6C,0x73,0x6F,0x20,0x66,0x6F, - 0x72,0x20,0x47,0x4E,0x55,0x2F,0x4C,0x69,0x6E,0x75,0x78,0x2E, - 0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x2B,0x3E,0x40,0x43,0x30, - 0x30,0x31,0x51,0x3A,0x20,0x54,0x68,0x65,0x20,0x6D,0x6F,0x75, - 0x73,0x65,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x20,0x69,0x73, - 0x20,0x64,0x65,0x6C,0x61,0x79,0x65,0x64,0x2F,0x6C,0x61,0x67, - 0x67,0x79,0x21,0x4A,0x3E,0x40,0x43,0x30,0x30,0x32,0x41,0x3A, - 0x20,0x45,0x6E,0x61,0x62,0x6C,0x65,0x20,0x22,0x56,0x53,0x79, - 0x6E,0x63,0x20,0x6F,0x66,0x66,0x22,0x20,0x69,0x6E,0x20,0x43, - 0x6F,0x6E,0x66,0x69,0x67,0x20,0x2D,0x3E,0x20,0x4D,0x69,0x73, - 0x63,0x65,0x6C,0x6C,0x61,0x6E,0x65,0x6F,0x75,0x73,0x2E,0x20, - 0x54,0x68,0x69,0x73,0x20,0x68,0x6F,0x77,0x65,0x76,0x65,0x72, - 0x2C,0x20,0x77,0x69,0x6C,0x6C,0x4A,0x3E,0x40,0x58,0x30,0x33, - 0x35,0x69,0x6E,0x74,0x72,0x6F,0x64,0x75,0x63,0x65,0x20,0x73, - 0x74,0x75,0x74,0x74,0x65,0x72,0x69,0x6E,0x67,0x20,0x62,0x65, - 0x63,0x61,0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x20,0x72,0x65, - 0x6E,0x64,0x65,0x72,0x69,0x6E,0x67,0x20,0x72,0x61,0x74,0x65, - 0x20,0x69,0x73,0x20,0x6E,0x6F,0x74,0x20,0x65,0x78,0x61,0x63, - 0x74,0x20,0x74,0x6F,0x20,0x79,0x6F,0x75,0x72,0x4C,0x3E,0x6D, - 0x6F,0x6E,0x69,0x74,0x6F,0x72,0x27,0x73,0x20,0x72,0x61,0x74, - 0x65,0x2E,0x20,0x41,0x6C,0x74,0x65,0x72,0x6E,0x61,0x74,0x69, - 0x76,0x65,0x6C,0x79,0x2C,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65, - 0x20,0x22,0x48,0x61,0x72,0x64,0x77,0x61,0x72,0x65,0x20,0x6D, - 0x6F,0x75,0x73,0x65,0x22,0x20,0x69,0x6E,0x20,0x43,0x6F,0x6E, - 0x66,0x69,0x67,0x20,0x2D,0x3E,0x20,0x4C,0x61,0x79,0x6F,0x75, - 0x74,0x2E,0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x33,0x3E,0x40, - 0x43,0x30,0x30,0x31,0x51,0x3A,0x20,0x57,0x69,0x6C,0x6C,0x20, - 0x79,0x6F,0x75,0x20,0x69,0x6D,0x70,0x6C,0x65,0x6D,0x65,0x6E, - 0x74,0x20,0x4D,0x49,0x44,0x49,0x20,0x6F,0x75,0x74,0x20,0x66, - 0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x69,0x74,0x79, - 0x3F,0x4D,0x3E,0x40,0x43,0x30,0x30,0x32,0x41,0x3A,0x20,0x4E, - 0x6F,0x2C,0x20,0x73,0x6F,0x72,0x72,0x79,0x2E,0x20,0x54,0x68, - 0x69,0x73,0x20,0x69,0x73,0x20,0x76,0x65,0x72,0x79,0x20,0x64, - 0x69,0x66,0x66,0x69,0x63,0x75,0x6C,0x74,0x20,0x74,0x6F,0x20, - 0x69,0x6D,0x70,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x20,0x63,0x6F, - 0x72,0x72,0x65,0x63,0x74,0x6C,0x79,0x20,0x77,0x68,0x65,0x6E, - 0x20,0x68,0x61,0x76,0x69,0x6E,0x67,0x3C,0x3E,0x40,0x58,0x30, - 0x33,0x35,0x68,0x69,0x67,0x68,0x65,0x72,0x20,0x61,0x75,0x64, - 0x69,0x6F,0x20,0x62,0x75,0x66,0x66,0x65,0x72,0x20,0x73,0x69, - 0x7A,0x65,0x73,0x20,0x28,0x62,0x75,0x66,0x66,0x65,0x72,0x65, - 0x64,0x20,0x72,0x65,0x70,0x6C,0x61,0x79,0x65,0x72,0x20,0x74, - 0x69,0x63,0x6B,0x73,0x29,0x2E,0x2E,0x2E,0x06,0x3E,0x40,0x58, - 0x30,0x32,0x30,0x30,0x3E,0x40,0x43,0x30,0x30,0x31,0x51,0x3A, - 0x20,0x57,0x68,0x65,0x72,0x65,0x20,0x69,0x73,0x20,0x74,0x68, - 0x65,0x20,0x63,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72,0x61,0x74, - 0x69,0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x20,0x73,0x74,0x6F, - 0x72,0x65,0x64,0x3F,0x3F,0x3E,0x40,0x43,0x30,0x30,0x32,0x41, - 0x3A,0x20,0x57,0x69,0x6E,0x64,0x6F,0x77,0x73,0x3A,0x20,0x5C, - 0x55,0x73,0x65,0x72,0x73,0x5C,0x55,0x53,0x45,0x52,0x5C,0x41, - 0x70,0x70,0x44,0x61,0x74,0x61,0x5C,0x52,0x6F,0x61,0x6D,0x69, - 0x6E,0x67,0x5C,0x46,0x54,0x32,0x20,0x63,0x6C,0x6F,0x6E,0x65, - 0x5C,0x46,0x54,0x32,0x2E,0x43,0x46,0x47,0x45,0x3E,0x40,0x58, - 0x30,0x33,0x35,0x4F,0x53,0x20,0x58,0x3A,0x20,0x2F,0x55,0x73, - 0x65,0x72,0x73,0x2F,0x55,0x53,0x45,0x52,0x2F,0x4C,0x69,0x62, - 0x72,0x61,0x72,0x79,0x2F,0x41,0x70,0x70,0x6C,0x69,0x63,0x61, - 0x74,0x69,0x6F,0x6E,0x20,0x53,0x75,0x70,0x70,0x6F,0x72,0x74, - 0x2F,0x46,0x54,0x32,0x20,0x63,0x6C,0x6F,0x6E,0x65,0x2F,0x46, - 0x54,0x32,0x2E,0x43,0x46,0x47,0x2F,0x47,0x4E,0x55,0x2F,0x4C, - 0x69,0x6E,0x75,0x78,0x3A,0x20,0x2F,0x68,0x6F,0x6D,0x65,0x2F, - 0x55,0x53,0x45,0x52,0x2F,0x2E,0x63,0x6F,0x6E,0x66,0x69,0x67, - 0x2F,0x46,0x54,0x32,0x20,0x63,0x6C,0x6F,0x6E,0x65,0x2F,0x46, - 0x54,0x32,0x2E,0x43,0x46,0x47,0x01,0x3E,0x48,0x49,0x74,0x20, - 0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x73,0x74,0x6F,0x72, - 0x65,0x64,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x70,0x72, - 0x6F,0x67,0x72,0x61,0x6D,0x20,0x64,0x69,0x72,0x65,0x63,0x74, - 0x6F,0x72,0x79,0x20,0x69,0x66,0x20,0x74,0x68,0x65,0x20,0x70, - 0x61,0x74,0x68,0x20,0x63,0x6F,0x75,0x6C,0x64,0x6E,0x27,0x74, - 0x20,0x62,0x65,0x20,0x75,0x73,0x65,0x64,0x2E,0x4D,0x49,0x66, - 0x20,0x79,0x6F,0x75,0x20,0x70,0x75,0x74,0x20,0x74,0x68,0x65, - 0x20,0x63,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69, - 0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x20,0x69,0x6E,0x20,0x74, - 0x68,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x20,0x64, - 0x69,0x72,0x65,0x63,0x74,0x6F,0x72,0x79,0x2C,0x20,0x69,0x74, - 0x20,0x77,0x69,0x6C,0x6C,0x20,0x72,0x65,0x61,0x64,0x20,0x74, - 0x68,0x61,0x74,0x4A,0x6F,0x6E,0x65,0x20,0x61,0x6E,0x64,0x20, - 0x6E,0x6F,0x74,0x20,0x61,0x74,0x74,0x65,0x6D,0x70,0x74,0x20, - 0x74,0x6F,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x63,0x6F, - 0x6E,0x66,0x69,0x67,0x20,0x64,0x69,0x72,0x73,0x20,0x66,0x6F, - 0x72,0x20,0x74,0x68,0x65,0x20,0x4F,0x53,0x20,0x75,0x73,0x65, - 0x72,0x2E,0x20,0x28,0x70,0x6F,0x72,0x74,0x61,0x62,0x6C,0x65, - 0x20,0x6D,0x6F,0x64,0x65,0x29,0x06,0x3E,0x40,0x58,0x30,0x32, - 0x30,0x42,0x3E,0x40,0x43,0x30,0x30,0x31,0x51,0x3A,0x20,0x43, - 0x61,0x6E,0x20,0x74,0x68,0x65,0x20,0x63,0x6C,0x6F,0x6E,0x65, - 0x20,0x72,0x65,0x61,0x64,0x20,0x46,0x54,0x32,0x2E,0x43,0x46, - 0x47,0x20,0x66,0x72,0x6F,0x6D,0x20,0x72,0x65,0x61,0x6C,0x20, - 0x46,0x54,0x32,0x2C,0x20,0x61,0x6E,0x64,0x20,0x76,0x69,0x63, - 0x65,0x20,0x76,0x65,0x72,0x73,0x61,0x3F,0x4C,0x3E,0x40,0x43, - 0x30,0x30,0x32,0x41,0x3A,0x20,0x59,0x65,0x73,0x2C,0x20,0x69, - 0x74,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x77,0x6F,0x72, - 0x6B,0x20,0x6A,0x75,0x73,0x74,0x20,0x66,0x69,0x6E,0x65,0x2E, - 0x20,0x50,0x75,0x74,0x20,0x69,0x74,0x20,0x69,0x6E,0x20,0x74, - 0x68,0x65,0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x6F,0x72,0x79, - 0x20,0x73,0x68,0x6F,0x77,0x6E,0x20,0x61,0x62,0x6F,0x76,0x65, - 0x2E,0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x52,0x3E,0x40,0x43, - 0x30,0x30,0x31,0x51,0x3A,0x20,0x53,0x6D,0x70,0x2E,0x20,0x45, - 0x64,0x2E,0x3A,0x20,0x57,0x68,0x69,0x6C,0x65,0x20,0x7A,0x6F, - 0x6F,0x6D,0x69,0x6E,0x67,0x20,0x69,0x6E,0x2C,0x20,0x49,0x20, - 0x73,0x6F,0x6D,0x65,0x74,0x69,0x6D,0x65,0x73,0x20,0x63,0x61, - 0x6E,0x27,0x74,0x20,0x6D,0x61,0x72,0x6B,0x20,0x74,0x68,0x65, - 0x20,0x6C,0x61,0x73,0x74,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65, - 0x20,0x70,0x6F,0x69,0x6E,0x74,0x21,0x47,0x3E,0x40,0x43,0x30, - 0x30,0x32,0x41,0x3A,0x20,0x54,0x68,0x69,0x73,0x20,0x69,0x73, - 0x20,0x6E,0x6F,0x72,0x6D,0x61,0x6C,0x2E,0x20,0x54,0x68,0x69, - 0x73,0x20,0x69,0x73,0x20,0x61,0x20,0x6C,0x69,0x6D,0x69,0x74, - 0x61,0x74,0x69,0x6F,0x6E,0x20,0x69,0x6E,0x20,0x74,0x68,0x65, - 0x20,0x6E,0x61,0x74,0x75,0x72,0x65,0x20,0x6F,0x66,0x20,0x73, - 0x63,0x61,0x6C,0x69,0x6E,0x67,0x2E,0x06,0x3E,0x40,0x58,0x30, - 0x32,0x30,0x17,0x3E,0x40,0x43,0x30,0x30,0x31,0x51,0x3A,0x20, - 0x49,0x20,0x66,0x6F,0x75,0x6E,0x64,0x20,0x61,0x20,0x62,0x75, - 0x67,0x21,0x4B,0x3E,0x40,0x43,0x30,0x30,0x32,0x41,0x3A,0x20, - 0x50,0x6C,0x65,0x61,0x73,0x65,0x20,0x73,0x65,0x6E,0x64,0x20, - 0x61,0x20,0x6D,0x61,0x69,0x6C,0x20,0x74,0x6F,0x20,0x6F,0x6C, - 0x61,0x76,0x2E,0x73,0x6F,0x72,0x65,0x6E,0x73,0x65,0x6E,0x40, - 0x6C,0x69,0x76,0x65,0x2E,0x6E,0x6F,0x20,0x61,0x6E,0x64,0x20, - 0x74,0x72,0x79,0x20,0x74,0x6F,0x20,0x65,0x78,0x70,0x6C,0x61, - 0x69,0x6E,0x20,0x69,0x74,0x2E,0x00,0x03,0x45,0x4E,0x44,0x4C, - 0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, - 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0C,0x40,0x4C, - 0x4B,0x6E,0x6F,0x77,0x6E,0x20,0x62,0x75,0x67,0x73,0x06,0x3E, - 0x40,0x58,0x30,0x31,0x30,0x14,0x3E,0x40,0x43,0x30,0x30,0x31, - 0x53,0x61,0x6D,0x70,0x6C,0x65,0x20,0x65,0x64,0x69,0x74,0x6F, - 0x72,0x3A,0x06,0x3E,0x40,0x43,0x30,0x30,0x32,0x4E,0x3E,0x40, - 0x58,0x30,0x31,0x30,0x2D,0x20,0x57,0x68,0x65,0x6E,0x20,0x61, - 0x20,0x6C,0x6F,0x6F,0x70,0x65,0x64,0x20,0x73,0x61,0x6D,0x70, - 0x6C,0x65,0x20,0x69,0x73,0x20,0x7A,0x6F,0x6F,0x6D,0x65,0x64, - 0x20,0x6F,0x75,0x74,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20, - 0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x65,0x64,0x69,0x74,0x6F, - 0x72,0x2C,0x20,0x79,0x6F,0x75,0x20,0x63,0x6F,0x75,0x6C,0x64, - 0x20,0x73,0x65,0x65,0x4D,0x3E,0x40,0x58,0x30,0x32,0x31,0x75, - 0x6E,0x77,0x61,0x6E,0x74,0x65,0x64,0x20,0x73,0x61,0x6D,0x70, - 0x6C,0x65,0x20,0x64,0x61,0x74,0x61,0x20,0x61,0x74,0x20,0x74, - 0x68,0x65,0x20,0x6C,0x6F,0x6F,0x70,0x2D,0x65,0x6E,0x64,0x20, - 0x70,0x6F,0x69,0x6E,0x74,0x2E,0x20,0x54,0x68,0x69,0x73,0x20, - 0x69,0x73,0x20,0x62,0x65,0x63,0x61,0x75,0x73,0x65,0x20,0x6F, - 0x66,0x20,0x61,0x20,0x6B,0x6C,0x75,0x64,0x67,0x65,0x4B,0x66, - 0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x72,0x65,0x73,0x61,0x6D, - 0x70,0x6C,0x69,0x6E,0x67,0x20,0x69,0x6E,0x74,0x65,0x72,0x70, - 0x6F,0x6C,0x61,0x74,0x69,0x6F,0x6E,0x20,0x74,0x6F,0x20,0x77, - 0x6F,0x72,0x6B,0x20,0x66,0x61,0x73,0x74,0x65,0x72,0x20,0x69, - 0x6E,0x20,0x74,0x68,0x65,0x20,0x61,0x75,0x64,0x69,0x6F,0x20, - 0x6D,0x69,0x78,0x65,0x72,0x2C,0x20,0x61,0x6E,0x64,0x20,0x74, - 0x68,0x65,0x4B,0x6F,0x72,0x69,0x67,0x69,0x6E,0x61,0x6C,0x20, - 0x46,0x54,0x32,0x20,0x68,0x61,0x73,0x20,0x74,0x68,0x65,0x20, - 0x73,0x61,0x6D,0x65,0x20,0x70,0x72,0x6F,0x62,0x6C,0x65,0x6D, - 0x2E,0x20,0x49,0x20,0x68,0x61,0x76,0x65,0x20,0x6D,0x61,0x64, - 0x65,0x20,0x69,0x74,0x20,0x73,0x6F,0x20,0x74,0x68,0x61,0x74, - 0x20,0x69,0x66,0x20,0x79,0x6F,0x75,0x20,0x7A,0x6F,0x6F,0x6D, - 0x20,0x69,0x6E,0x20,0x74,0x6F,0x3B,0x73,0x65,0x65,0x20,0x74, - 0x68,0x65,0x20,0x69,0x6E,0x64,0x69,0x76,0x69,0x64,0x75,0x61, - 0x6C,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x70,0x6F,0x69, - 0x6E,0x74,0x73,0x2C,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C, - 0x20,0x6C,0x6F,0x6F,0x6B,0x20,0x6C,0x69,0x6B,0x65,0x20,0x6E, - 0x6F,0x72,0x6D,0x61,0x6C,0x2E,0x06,0x3E,0x40,0x58,0x30,0x31, - 0x30,0x17,0x3E,0x40,0x43,0x30,0x30,0x31,0x4D,0x6F,0x75,0x73, - 0x65,0x20,0x2F,0x20,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64, - 0x3A,0x01,0x3E,0x4D,0x3E,0x40,0x43,0x30,0x30,0x32,0x2D,0x20, - 0x57,0x68,0x65,0x6E,0x20,0x79,0x6F,0x75,0x20,0x68,0x6F,0x6C, - 0x64,0x20,0x64,0x6F,0x77,0x6E,0x20,0x61,0x20,0x6B,0x65,0x79, - 0x20,0x28,0x66,0x2E,0x65,0x78,0x2E,0x20,0x70,0x6C,0x61,0x79, - 0x69,0x6E,0x67,0x20,0x61,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65, - 0x29,0x2C,0x20,0x74,0x68,0x65,0x20,0x6D,0x6F,0x75,0x73,0x65, - 0x20,0x6D,0x6F,0x76,0x65,0x6D,0x65,0x6E,0x74,0x4A,0x3E,0x40, - 0x58,0x30,0x32,0x31,0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x63, - 0x68,0x6F,0x70,0x70,0x79,0x2E,0x20,0x54,0x68,0x69,0x73,0x20, - 0x69,0x73,0x20,0x72,0x65,0x6C,0x61,0x74,0x65,0x64,0x20,0x74, - 0x6F,0x20,0x74,0x68,0x65,0x20,0x69,0x6E,0x70,0x75,0x74,0x20, - 0x71,0x75,0x65,0x75,0x65,0x20,0x62,0x65,0x69,0x6E,0x67,0x20, - 0x73,0x70,0x61,0x6D,0x6D,0x65,0x64,0x20,0x77,0x69,0x74,0x68, - 0x36,0x22,0x6B,0x65,0x79,0x20,0x64,0x6F,0x77,0x6E,0x22,0x20, - 0x65,0x76,0x65,0x6E,0x74,0x73,0x2C,0x20,0x64,0x65,0x6C,0x61, - 0x79,0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x6D,0x6F,0x75, - 0x73,0x65,0x20,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x20, - 0x65,0x76,0x65,0x6E,0x74,0x73,0x2E,0x4E,0x49,0x20,0x6F,0x6E, - 0x6C,0x79,0x20,0x70,0x6F,0x6C,0x6C,0x20,0x69,0x6E,0x70,0x75, - 0x74,0x20,0x6F,0x6E,0x63,0x65,0x20,0x70,0x65,0x72,0x20,0x66, - 0x72,0x61,0x6D,0x65,0x20,0x28,0x36,0x30,0x48,0x7A,0x29,0x2C, - 0x20,0x73,0x6F,0x20,0x74,0x68,0x65,0x20,0x66,0x72,0x65,0x71, - 0x75,0x65,0x6E,0x63,0x79,0x20,0x69,0x73,0x20,0x61,0x20,0x74, - 0x61,0x64,0x20,0x6C,0x6F,0x77,0x2E,0x20,0x49,0x74,0x20,0x68, - 0x61,0x73,0x2E,0x74,0x6F,0x20,0x62,0x65,0x20,0x6C,0x69,0x6B, - 0x65,0x20,0x74,0x68,0x69,0x73,0x20,0x66,0x6F,0x72,0x20,0x73, - 0x65,0x76,0x65,0x72,0x61,0x6C,0x20,0x72,0x65,0x61,0x73,0x6F, - 0x6E,0x73,0x2C,0x20,0x74,0x68,0x6F,0x75,0x67,0x68,0x2E,0x2E, - 0x2E,0x06,0x3E,0x40,0x58,0x30,0x31,0x30,0x48,0x3E,0x2D,0x20, - 0x6D,0x61,0x63,0x4F,0x53,0x20,0x2F,0x20,0x4F,0x53,0x20,0x58, - 0x3A,0x20,0x48,0x6F,0x6C,0x64,0x69,0x6E,0x67,0x20,0x64,0x6F, - 0x77,0x6E,0x20,0x61,0x20,0x6D,0x6F,0x75,0x73,0x65,0x20,0x62, - 0x75,0x74,0x74,0x6F,0x6E,0x20,0x77,0x6F,0x6E,0x27,0x74,0x20, - 0x74,0x72,0x61,0x70,0x20,0x74,0x68,0x65,0x20,0x6D,0x6F,0x75, - 0x73,0x65,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x4D,0x3E,0x40, - 0x58,0x30,0x32,0x31,0x69,0x6E,0x73,0x69,0x64,0x65,0x20,0x74, - 0x68,0x65,0x20,0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x20,0x54, - 0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x72,0x65,0x6C,0x61,0x74, - 0x65,0x64,0x20,0x74,0x6F,0x20,0x61,0x20,0x6B,0x6C,0x75,0x64, - 0x67,0x65,0x20,0x74,0x68,0x61,0x74,0x20,0x73,0x69,0x6D,0x70, - 0x6C,0x79,0x20,0x64,0x6F,0x65,0x73,0x6E,0x27,0x74,0x20,0x77, - 0x6F,0x72,0x6B,0x4F,0x76,0x65,0x72,0x79,0x20,0x77,0x65,0x6C, - 0x6C,0x20,0x69,0x6E,0x20,0x6D,0x61,0x63,0x4F,0x53,0x2E,0x20, - 0x54,0x68,0x65,0x20,0x6D,0x6F,0x75,0x73,0x65,0x20,0x6D,0x6F, - 0x76,0x65,0x6D,0x65,0x6E,0x74,0x20,0x77,0x6F,0x75,0x6C,0x64, - 0x20,0x66,0x72,0x65,0x65,0x7A,0x65,0x20,0x66,0x6F,0x72,0x20, - 0x73,0x6F,0x6D,0x65,0x20,0x74,0x69,0x6D,0x65,0x20,0x61,0x66, - 0x74,0x65,0x72,0x20,0x61,0x20,0x6D,0x6F,0x75,0x73,0x65,0x15, - 0x62,0x75,0x74,0x74,0x6F,0x6E,0x20,0x77,0x61,0x73,0x20,0x68, - 0x65,0x6C,0x64,0x20,0x64,0x6F,0x77,0x6E,0x2E,0x06,0x3E,0x40, - 0x58,0x30,0x31,0x30,0x51,0x3E,0x40,0x43,0x30,0x30,0x32,0x2D, - 0x20,0x54,0x68,0x65,0x20,0x22,0x6B,0x69,0x6C,0x6C,0x20,0x73, - 0x61,0x6D,0x70,0x6C,0x65,0x22,0x20,0x73,0x68,0x6F,0x72,0x74, - 0x63,0x75,0x74,0x20,0x28,0x73,0x68,0x69,0x66,0x74,0x20,0x2B, - 0x20,0x6E,0x75,0x6D,0x2D,0x70,0x61,0x64,0x20,0x44,0x65,0x6C, - 0x2F,0x27,0x2C,0x27,0x29,0x20,0x6D,0x61,0x79,0x20,0x6E,0x6F, - 0x74,0x20,0x77,0x6F,0x72,0x6B,0x20,0x6F,0x6E,0x20,0x79,0x6F, - 0x75,0x72,0x3E,0x3E,0x40,0x58,0x30,0x32,0x31,0x6B,0x65,0x79, - 0x62,0x6F,0x61,0x72,0x64,0x20,0x62,0x65,0x63,0x61,0x75,0x73, - 0x65,0x20,0x6F,0x66,0x20,0x68,0x6F,0x77,0x20,0x74,0x68,0x65, - 0x20,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64,0x20,0x6D,0x61, - 0x74,0x72,0x69,0x78,0x20,0x69,0x73,0x20,0x77,0x69,0x72,0x65, - 0x64,0x20,0x75,0x70,0x2E,0x06,0x3E,0x40,0x58,0x30,0x31,0x30, - 0x0C,0x3E,0x40,0x43,0x30,0x30,0x31,0x56,0x69,0x64,0x65,0x6F, - 0x3A,0x06,0x3E,0x40,0x43,0x30,0x30,0x32,0x4A,0x3E,0x40,0x58, - 0x30,0x31,0x30,0x2D,0x20,0x54,0x68,0x65,0x20,0x73,0x63,0x6F, - 0x70,0x65,0x73,0x20,0x63,0x61,0x6E,0x20,0x6D,0x69,0x6C,0x64, - 0x6C,0x79,0x20,0x66,0x6C,0x69,0x63,0x6B,0x65,0x72,0x20,0x64, - 0x65,0x70,0x65,0x6E,0x64,0x69,0x6E,0x67,0x20,0x6F,0x6E,0x20, - 0x74,0x68,0x65,0x20,0x77,0x61,0x76,0x65,0x66,0x6F,0x72,0x6D, - 0x20,0x61,0x6E,0x64,0x20,0x70,0x69,0x74,0x63,0x68,0x2E,0x4D, - 0x3E,0x40,0x58,0x30,0x32,0x31,0x54,0x68,0x69,0x73,0x20,0x69, - 0x73,0x20,0x62,0x65,0x63,0x61,0x75,0x73,0x65,0x20,0x74,0x68, - 0x65,0x69,0x72,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63, - 0x79,0x20,0x69,0x73,0x20,0x6E,0x6F,0x74,0x20,0x63,0x6C,0x6F, - 0x63,0x6B,0x65,0x64,0x20,0x74,0x6F,0x20,0x65,0x78,0x61,0x63, - 0x74,0x6C,0x79,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6D,0x65, - 0x20,0x72,0x61,0x74,0x65,0x4D,0x3E,0x61,0x74,0x20,0x77,0x68, - 0x69,0x63,0x68,0x20,0x74,0x68,0x65,0x20,0x73,0x63,0x6F,0x70, - 0x65,0x73,0x20,0x61,0x72,0x65,0x20,0x72,0x65,0x6E,0x64,0x65, - 0x72,0x65,0x64,0x2E,0x20,0x49,0x74,0x27,0x73,0x20,0x63,0x6C, - 0x6F,0x73,0x65,0x2C,0x20,0x77,0x68,0x69,0x63,0x68,0x20,0x63, - 0x61,0x75,0x73,0x65,0x73,0x20,0x61,0x20,0x66,0x6C,0x69,0x63, - 0x6B,0x65,0x72,0x20,0x65,0x66,0x66,0x65,0x63,0x74,0x2E,0x01, - 0x3E,0x52,0x3E,0x40,0x58,0x30,0x31,0x30,0x2D,0x20,0x4E,0x6F, - 0x74,0x20,0x61,0x20,0x62,0x75,0x67,0x2C,0x20,0x62,0x75,0x74, - 0x20,0x69,0x66,0x20,0x79,0x6F,0x75,0x72,0x20,0x6D,0x6F,0x6E, - 0x69,0x74,0x6F,0x72,0x27,0x73,0x20,0x72,0x65,0x66,0x72,0x65, - 0x73,0x68,0x20,0x72,0x61,0x74,0x65,0x20,0x69,0x73,0x20,0x6E, - 0x6F,0x74,0x20,0x73,0x65,0x74,0x20,0x74,0x6F,0x20,0x36,0x30, - 0x48,0x7A,0x20,0x28,0x6F,0x72,0x20,0x35,0x39,0x48,0x7A,0x29, - 0x4F,0x3E,0x40,0x58,0x30,0x32,0x31,0x79,0x6F,0x75,0x20,0x6D, - 0x61,0x79,0x20,0x65,0x78,0x70,0x65,0x72,0x69,0x65,0x6E,0x63, - 0x65,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x20,0x73,0x74,0x75, - 0x74,0x74,0x65,0x72,0x69,0x6E,0x67,0x20,0x62,0x65,0x63,0x61, - 0x75,0x73,0x65,0x20,0x56,0x53,0x79,0x6E,0x63,0x20,0x77,0x69, - 0x6C,0x6C,0x20,0x6E,0x6F,0x74,0x20,0x62,0x65,0x20,0x75,0x73, - 0x65,0x64,0x20,0x74,0x68,0x65,0x6E,0x2E,0x49,0x49,0x20,0x68, - 0x69,0x67,0x68,0x6C,0x79,0x20,0x72,0x65,0x63,0x6F,0x6D,0x6D, - 0x65,0x6E,0x64,0x20,0x72,0x75,0x6E,0x6E,0x69,0x6E,0x67,0x20, - 0x79,0x6F,0x75,0x72,0x20,0x6D,0x6F,0x6E,0x69,0x74,0x6F,0x72, - 0x20,0x61,0x74,0x20,0x36,0x30,0x48,0x7A,0x20,0x69,0x66,0x20, - 0x79,0x6F,0x75,0x27,0x72,0x65,0x20,0x61,0x20,0x68,0x61,0x72, - 0x64,0x63,0x6F,0x72,0x65,0x20,0x75,0x73,0x65,0x72,0x10,0x6F, - 0x66,0x20,0x74,0x68,0x69,0x73,0x20,0x70,0x72,0x6F,0x67,0x72, - 0x61,0x6D,0x2E,0x01,0x3E,0x4C,0x3E,0x40,0x58,0x30,0x31,0x30, - 0x2D,0x20,0x6D,0x61,0x63,0x4F,0x53,0x20,0x2F,0x20,0x4F,0x53, - 0x20,0x58,0x3A,0x20,0x49,0x66,0x20,0x22,0x48,0x61,0x72,0x64, - 0x77,0x61,0x72,0x65,0x20,0x6D,0x6F,0x75,0x73,0x65,0x22,0x20, - 0x69,0x73,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2C,0x20, - 0x74,0x68,0x65,0x20,0x6D,0x6F,0x75,0x73,0x65,0x20,0x63,0x75, - 0x72,0x73,0x6F,0x72,0x20,0x77,0x6F,0x6E,0x27,0x74,0x4C,0x3E, - 0x40,0x58,0x30,0x32,0x31,0x63,0x68,0x61,0x6E,0x67,0x65,0x20, - 0x77,0x68,0x65,0x6E,0x20,0x74,0x68,0x65,0x20,0x70,0x72,0x6F, - 0x67,0x72,0x61,0x6D,0x20,0x69,0x73,0x20,0x62,0x75,0x73,0x79, - 0x2E,0x20,0x54,0x68,0x65,0x20,0x6D,0x61,0x63,0x4F,0x53,0x20, - 0x22,0x77,0x61,0x69,0x74,0x22,0x20,0x63,0x75,0x72,0x73,0x6F, - 0x72,0x20,0x69,0x73,0x20,0x6D,0x69,0x73,0x73,0x69,0x6E,0x67, - 0x20,0x69,0x6E,0x07,0x53,0x44,0x4C,0x32,0x2E,0x2E,0x2E,0x00, - 0x03,0x45,0x4E,0x44 -}; - -#endif +#ifndef __FT2_HELP_DATA_H +#define __FT2_HELP_DATA_H + +#include + +#define HELP_DATA_LEN 27916 + +const uint8_t helpData[27916] = +{ + 0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0A,0x40, + 0x4C,0x46,0x65,0x61,0x74,0x75,0x72,0x65,0x73,0x00,0x21,0x40, + 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x42,0x72,0x69, + 0x65,0x66,0x20,0x6C,0x69,0x73,0x74,0x20,0x6F,0x66,0x20,0x66, + 0x65,0x61,0x74,0x75,0x72,0x65,0x73,0x3A,0x0B,0x3E,0x40,0x58, + 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x0F,0x3E,0x2D,0x20, + 0x33,0x32,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x2E, + 0x30,0x3E,0x2D,0x20,0x46,0x75,0x6C,0x6C,0x20,0x4D,0x49,0x44, + 0x49,0x20,0x73,0x75,0x70,0x70,0x6F,0x72,0x74,0x20,0x28,0x69, + 0x6E,0x70,0x75,0x74,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x69,0x6E, + 0x20,0x74,0x68,0x69,0x73,0x20,0x63,0x6C,0x6F,0x6E,0x65,0x21, + 0x29,0x27,0x3E,0x2D,0x20,0x31,0x32,0x2D,0x50,0x6F,0x69,0x6E, + 0x74,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x2D,0x20,0x26,0x20, + 0x50,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x45,0x6E,0x76,0x65, + 0x6C,0x6F,0x70,0x65,0x2E,0x2D,0x3E,0x2D,0x20,0x4D,0x75,0x6C, + 0x74,0x69,0x73,0x61,0x6D,0x70,0x6C,0x65,0x73,0x2C,0x20,0x75, + 0x70,0x20,0x74,0x6F,0x20,0x31,0x36,0x20,0x73,0x61,0x6D,0x70, + 0x6C,0x65,0x73,0x2F,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65, + 0x6E,0x74,0x2E,0x13,0x3E,0x2D,0x20,0x31,0x32,0x38,0x20,0x69, + 0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x73,0x2E,0x31, + 0x3E,0x2D,0x20,0x22,0x55,0x6E,0x6C,0x69,0x6D,0x69,0x74,0x65, + 0x64,0x22,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x6C,0x65, + 0x6E,0x67,0x74,0x68,0x2E,0x20,0x28,0x31,0x47,0x42,0x20,0x69, + 0x6E,0x20,0x74,0x68,0x69,0x73,0x20,0x63,0x6C,0x6F,0x6E,0x65, + 0x29,0x0D,0x3E,0x2D,0x20,0x38,0x20,0x6F,0x63,0x74,0x61,0x76, + 0x65,0x73,0x2E,0x1B,0x3E,0x2D,0x20,0x56,0x61,0x72,0x69,0x61, + 0x62,0x6C,0x65,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x20, + 0x6C,0x65,0x6E,0x67,0x74,0x68,0x2E,0x22,0x3E,0x2D,0x20,0x42, + 0x75,0x69,0x6C,0x74,0x20,0x69,0x6E,0x20,0x73,0x61,0x6D,0x70, + 0x6C,0x65,0x72,0x2F,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x65, + 0x64,0x69,0x74,0x6F,0x72,0x2E,0x16,0x3E,0x2D,0x20,0x55,0x70, + 0x20,0x74,0x6F,0x20,0x32,0x35,0x36,0x20,0x70,0x61,0x74,0x74, + 0x65,0x72,0x6E,0x73,0x2E,0x19,0x3E,0x2D,0x20,0x53,0x6F,0x6E, + 0x67,0x20,0x6C,0x65,0x6E,0x67,0x74,0x68,0x20,0x75,0x70,0x20, + 0x74,0x6F,0x20,0x32,0x35,0x36,0x2E,0x25,0x3E,0x2D,0x20,0x4E, + 0x65,0x77,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2F,0x70,0x61, + 0x6E,0x6E,0x69,0x6E,0x67,0x2F,0x76,0x69,0x62,0x72,0x61,0x74, + 0x6F,0x20,0x63,0x6F,0x6C,0x75,0x6D,0x6E,0x2E,0x0F,0x3E,0x2D, + 0x20,0x53,0x6F,0x6E,0x67,0x20,0x65,0x64,0x69,0x74,0x6F,0x72, + 0x2E,0x19,0x3E,0x2D,0x20,0x46,0x75,0x6C,0x6C,0x20,0x73,0x63, + 0x72,0x65,0x65,0x6E,0x20,0x65,0x64,0x69,0x74,0x20,0x6D,0x6F, + 0x64,0x65,0x2E,0x1F,0x3E,0x2D,0x20,0x49,0x6D,0x70,0x72,0x6F, + 0x76,0x65,0x64,0x20,0x65,0x64,0x69,0x74,0x69,0x6E,0x67,0x20, + 0x66,0x61,0x63,0x69,0x6C,0x69,0x74,0x69,0x65,0x73,0x2E,0x00, + 0x32,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x46, + 0x54,0x32,0x20,0x73,0x75,0x70,0x70,0x6F,0x72,0x74,0x73,0x20, + 0x74,0x68,0x65,0x20,0x66,0x6F,0x6C,0x6C,0x6F,0x77,0x69,0x6E, + 0x67,0x20,0x66,0x69,0x6C,0x65,0x20,0x66,0x6F,0x72,0x6D,0x61, + 0x74,0x73,0x3A,0x00,0x12,0x40,0x58,0x30,0x34,0x30,0x40,0x43, + 0x30,0x30,0x31,0x4D,0x6F,0x64,0x75,0x6C,0x65,0x73,0x3A,0x0B, + 0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x35, + 0x3E,0x2D,0x20,0x53,0x74,0x61,0x6E,0x64,0x61,0x72,0x64,0x20, + 0x6D,0x6F,0x64,0x75,0x6C,0x65,0x73,0x20,0x28,0x31,0x35,0x2D, + 0x20,0x3E,0x20,0x33,0x31,0x2D,0x69,0x6E,0x73,0x74,0x72,0x75, + 0x6D,0x65,0x6E,0x74,0x73,0x29,0x2E,0x20,0x28,0x4D,0x4F,0x44, + 0x2C,0x4E,0x53,0x54,0x29,0x36,0x3E,0x2D,0x20,0x46,0x61,0x73, + 0x74,0x74,0x72,0x61,0x63,0x6B,0x65,0x72,0x20,0x76,0x31,0x2E, + 0x30,0x20,0x32,0x2C,0x34,0x2C,0x36,0x2C,0x38,0x2E,0x2E,0x33, + 0x32,0x2D,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x66,0x6F, + 0x72,0x6D,0x61,0x74,0x73,0x2E,0x20,0x28,0x4D,0x4F,0x44,0x29, + 0x23,0x3E,0x2D,0x20,0x53,0x63,0x72,0x65,0x61,0x6D,0x54,0x72, + 0x61,0x63,0x6B,0x65,0x72,0x20,0x6D,0x6F,0x64,0x75,0x6C,0x65, + 0x73,0x2E,0x20,0x28,0x53,0x54,0x4D,0x2C,0x53,0x33,0x4D,0x29, + 0x01,0x3E,0x12,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, + 0x31,0x53,0x61,0x6D,0x70,0x6C,0x65,0x73,0x3A,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x22,0x3E,0x2D, + 0x20,0x47,0x72,0x61,0x76,0x69,0x73,0x20,0x55,0x6C,0x74,0x72, + 0x61,0x73,0x6F,0x75,0x6E,0x64,0x20,0x50,0x61,0x74,0x63,0x68, + 0x65,0x73,0x2C,0x20,0x50,0x41,0x54,0x2E,0x33,0x3E,0x2D,0x20, + 0x53,0x4D,0x50,0x2F,0x53,0x41,0x4D,0x2F,0x52,0x41,0x57,0x2F, + 0x53,0x4E,0x44,0x20,0x64,0x61,0x74,0x61,0x20,0x66,0x69,0x6C, + 0x65,0x73,0x2C,0x20,0x73,0x69,0x67,0x6E,0x65,0x64,0x20,0x61, + 0x6E,0x64,0x20,0x75,0x6E,0x73,0x69,0x67,0x6E,0x65,0x64,0x2E, + 0x15,0x3E,0x2D,0x20,0x57,0x69,0x6E,0x64,0x6F,0x77,0x73,0x20, + 0x57,0x41,0x56,0x2D,0x66,0x69,0x6C,0x65,0x73,0x2E,0x2D,0x3E, + 0x2D,0x20,0x41,0x6D,0x69,0x67,0x61,0x20,0x49,0x46,0x46,0x2D, + 0x66,0x69,0x6C,0x65,0x73,0x2E,0x20,0x28,0x49,0x6E,0x74,0x65, + 0x72,0x63,0x68,0x61,0x6E,0x67,0x65,0x20,0x46,0x69,0x6C,0x65, + 0x20,0x46,0x6F,0x72,0x6D,0x61,0x74,0x29,0x14,0x3E,0x2D,0x20, + 0x41,0x70,0x70,0x6C,0x65,0x20,0x41,0x49,0x46,0x46,0x2D,0x66, + 0x69,0x6C,0x65,0x73,0x2E,0x00,0x32,0x40,0x58,0x30,0x34,0x30, + 0x40,0x43,0x30,0x30,0x31,0x46,0x54,0x32,0x20,0x69,0x6E,0x74, + 0x72,0x6F,0x64,0x75,0x63,0x65,0x73,0x20,0x73,0x65,0x76,0x65, + 0x72,0x61,0x6C,0x20,0x6E,0x65,0x77,0x20,0x66,0x69,0x6C,0x65, + 0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x73,0x3A,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x1C,0x3E,0x2D, + 0x20,0x58,0x4D,0x20,0x20,0x40,0x54,0x31,0x31,0x30,0x45,0x78, + 0x74,0x65,0x6E,0x64,0x65,0x64,0x20,0x6D,0x6F,0x64,0x75,0x6C, + 0x65,0x2E,0x20,0x3E,0x2D,0x20,0x58,0x49,0x20,0x20,0x40,0x54, + 0x31,0x31,0x30,0x45,0x78,0x74,0x65,0x6E,0x64,0x65,0x64,0x20, + 0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x1D, + 0x3E,0x2D,0x20,0x58,0x50,0x20,0x20,0x40,0x54,0x31,0x31,0x30, + 0x45,0x78,0x74,0x65,0x6E,0x64,0x65,0x64,0x20,0x70,0x61,0x74, + 0x74,0x65,0x72,0x6E,0x2E,0x1B,0x3E,0x2D,0x20,0x58,0x54,0x20, + 0x20,0x40,0x54,0x31,0x31,0x30,0x45,0x78,0x74,0x65,0x6E,0x64, + 0x65,0x64,0x20,0x74,0x72,0x61,0x63,0x6B,0x2E,0x00,0x03,0x45, + 0x4E,0x44,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x4C,0x3B,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x09,0x40,0x4C,0x45,0x66,0x66,0x65,0x63,0x74,0x73,0x00,0x18, + 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x68, + 0x6F,0x72,0x74,0x20,0x73,0x75,0x6D,0x6D,0x61,0x72,0x79,0x3A, + 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, + 0x0B,0x3E,0x30,0x20,0x41,0x72,0x70,0x65,0x67,0x67,0x69,0x6F, + 0x10,0x3E,0x31,0x20,0x50,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E, + 0x74,0x6F,0x20,0x75,0x70,0x12,0x3E,0x32,0x20,0x50,0x6F,0x72, + 0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x64,0x6F,0x77,0x6E, + 0x12,0x3E,0x33,0x20,0x54,0x6F,0x6E,0x65,0x20,0x70,0x6F,0x72, + 0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x0A,0x3E,0x34,0x20,0x56, + 0x69,0x62,0x72,0x61,0x74,0x6F,0x1C,0x3E,0x35,0x20,0x50,0x6F, + 0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x2B,0x20,0x56, + 0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x19, + 0x3E,0x36,0x20,0x56,0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x2B, + 0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64, + 0x65,0x0A,0x3E,0x37,0x20,0x54,0x72,0x65,0x6D,0x6F,0x6C,0x6F, + 0x17,0x3E,0x38,0x20,0x53,0x65,0x74,0x20,0x70,0x61,0x6E,0x6E, + 0x69,0x6E,0x67,0x20,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E, + 0x10,0x3E,0x39,0x20,0x53,0x61,0x6D,0x70,0x6C,0x65,0x20,0x6F, + 0x66,0x66,0x73,0x65,0x74,0x0F,0x3E,0x41,0x20,0x56,0x6F,0x6C, + 0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x10,0x3E,0x42, + 0x20,0x50,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x20,0x6A,0x75, + 0x6D,0x70,0x0D,0x3E,0x43,0x20,0x53,0x65,0x74,0x20,0x76,0x6F, + 0x6C,0x75,0x6D,0x65,0x10,0x3E,0x44,0x20,0x50,0x61,0x74,0x74, + 0x65,0x72,0x6E,0x20,0x62,0x72,0x65,0x61,0x6B,0x04,0x3E,0x45, + 0x20,0x2B,0x23,0x3E,0x40,0x58,0x30,0x38,0x30,0x30,0x20,0x46, + 0x69,0x6C,0x74,0x65,0x72,0x20,0x6F,0x6E,0x2F,0x6F,0x66,0x66, + 0x20,0x28,0x41,0x6D,0x69,0x67,0x61,0x20,0x6F,0x6E,0x6C,0x79, + 0x21,0x29,0x15,0x3E,0x31,0x20,0x46,0x69,0x6E,0x65,0x20,0x70, + 0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x75,0x70, + 0x17,0x3E,0x32,0x20,0x46,0x69,0x6E,0x65,0x20,0x70,0x6F,0x72, + 0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x64,0x6F,0x77,0x6E, + 0x18,0x3E,0x33,0x20,0x53,0x65,0x74,0x20,0x67,0x6C,0x69,0x73, + 0x73,0x61,0x6E,0x64,0x6F,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F, + 0x6C,0x16,0x3E,0x34,0x20,0x53,0x65,0x74,0x20,0x76,0x69,0x62, + 0x72,0x61,0x74,0x6F,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C, + 0x10,0x3E,0x35,0x20,0x53,0x65,0x74,0x20,0x66,0x69,0x6E,0x65, + 0x2D,0x74,0x75,0x6E,0x65,0x0C,0x3E,0x36,0x20,0x4A,0x75,0x6D, + 0x70,0x20,0x6C,0x6F,0x6F,0x70,0x16,0x3E,0x37,0x20,0x53,0x65, + 0x74,0x20,0x74,0x72,0x65,0x6D,0x6F,0x6C,0x6F,0x20,0x63,0x6F, + 0x6E,0x74,0x72,0x6F,0x6C,0x09,0x3E,0x38,0x20,0x55,0x6E,0x75, + 0x73,0x65,0x64,0x0E,0x3E,0x39,0x20,0x52,0x65,0x74,0x72,0x69, + 0x67,0x20,0x6E,0x6F,0x74,0x65,0x17,0x3E,0x41,0x20,0x46,0x69, + 0x6E,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C, + 0x69,0x64,0x65,0x20,0x75,0x70,0x19,0x3E,0x42,0x20,0x46,0x69, + 0x6E,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C, + 0x69,0x64,0x65,0x20,0x64,0x6F,0x77,0x6E,0x0B,0x3E,0x43,0x20, + 0x4E,0x6F,0x74,0x65,0x20,0x63,0x75,0x74,0x0D,0x3E,0x44,0x20, + 0x4E,0x6F,0x74,0x65,0x20,0x64,0x65,0x6C,0x61,0x79,0x10,0x3E, + 0x45,0x20,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x64,0x65, + 0x6C,0x61,0x79,0x1D,0x3E,0x46,0x20,0x46,0x75,0x6E,0x6B,0x20, + 0x69,0x74,0x21,0x20,0x28,0x4E,0x6F,0x74,0x20,0x69,0x6D,0x70, + 0x6C,0x65,0x6D,0x65,0x6E,0x74,0x65,0x64,0x29,0x06,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x0B,0x46,0x20,0x53,0x65,0x74,0x20,0x73, + 0x70,0x65,0x65,0x64,0x14,0x3E,0x47,0x20,0x53,0x65,0x74,0x20, + 0x67,0x6C,0x6F,0x62,0x61,0x6C,0x20,0x76,0x6F,0x6C,0x75,0x6D, + 0x65,0x16,0x3E,0x48,0x20,0x47,0x6C,0x6F,0x62,0x61,0x6C,0x20, + 0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65, + 0x0A,0x3E,0x4B,0x20,0x4B,0x65,0x79,0x20,0x6F,0x66,0x66,0x18, + 0x3E,0x4C,0x20,0x53,0x65,0x74,0x20,0x65,0x6E,0x76,0x65,0x6C, + 0x6F,0x70,0x65,0x20,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E, + 0x10,0x3E,0x50,0x20,0x50,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20, + 0x73,0x6C,0x69,0x64,0x65,0x14,0x3E,0x52,0x20,0x4D,0x75,0x6C, + 0x74,0x69,0x20,0x72,0x65,0x74,0x72,0x69,0x67,0x20,0x6E,0x6F, + 0x74,0x65,0x09,0x3E,0x54,0x20,0x54,0x72,0x65,0x6D,0x6F,0x72, + 0x04,0x3E,0x58,0x20,0x2B,0x20,0x3E,0x40,0x58,0x30,0x38,0x30, + 0x31,0x20,0x45,0x78,0x74,0x72,0x61,0x20,0x66,0x69,0x6E,0x65, + 0x20,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20, + 0x75,0x70,0x1D,0x3E,0x32,0x20,0x45,0x78,0x74,0x72,0x61,0x20, + 0x66,0x69,0x6E,0x65,0x20,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65, + 0x6E,0x74,0x6F,0x20,0x64,0x6F,0x77,0x6E,0x00,0x18,0x40,0x58, + 0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x56,0x6F,0x6C,0x75, + 0x6D,0x65,0x20,0x63,0x6F,0x6C,0x75,0x6D,0x6E,0x3A,0x0B,0x3E, + 0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x17,0x30, + 0x30,0x2E,0x2E,0x34,0x30,0x20,0x40,0x54,0x31,0x36,0x30,0x53, + 0x65,0x74,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x01,0x3E, + 0x1A,0x3E,0x2D,0x20,0x40,0x54,0x31,0x36,0x30,0x56,0x6F,0x6C, + 0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x20,0x64,0x6F, + 0x77,0x6E,0x2E,0x18,0x3E,0x2B,0x20,0x40,0x54,0x31,0x36,0x30, + 0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65, + 0x20,0x75,0x70,0x2E,0x35,0x3E,0x44,0x20,0x40,0x54,0x31,0x36, + 0x30,0x46,0x69,0x6E,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65, + 0x20,0x73,0x6C,0x69,0x64,0x65,0x20,0x64,0x6F,0x77,0x6E,0x2E, + 0x20,0x28,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x64,0x20, + 0x62,0x79,0x20,0x73,0x79,0x6D,0x62,0x6F,0x6C,0x29,0x33,0x3E, + 0x55,0x20,0x40,0x54,0x31,0x36,0x30,0x46,0x69,0x6E,0x65,0x20, + 0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65, + 0x20,0x75,0x70,0x2E,0x20,0x28,0x49,0x6E,0x64,0x69,0x63,0x61, + 0x74,0x65,0x64,0x20,0x62,0x79,0x20,0x73,0x79,0x6D,0x62,0x6F, + 0x6C,0x29,0x1A,0x3E,0x53,0x20,0x40,0x54,0x31,0x36,0x30,0x53, + 0x65,0x74,0x20,0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x73, + 0x70,0x65,0x65,0x64,0x2E,0x10,0x3E,0x56,0x20,0x40,0x54,0x31, + 0x36,0x30,0x56,0x69,0x62,0x72,0x61,0x74,0x6F,0x2E,0x1D,0x3E, + 0x50,0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x65,0x74,0x20,0x70, + 0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x70,0x6F,0x73,0x69,0x74, + 0x69,0x6F,0x6E,0x2E,0x32,0x3E,0x52,0x20,0x40,0x54,0x31,0x36, + 0x30,0x50,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x73,0x6C,0x69, + 0x64,0x65,0x20,0x72,0x69,0x67,0x68,0x74,0x2E,0x20,0x28,0x49, + 0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x64,0x20,0x62,0x79,0x20, + 0x73,0x79,0x6D,0x62,0x6F,0x6C,0x29,0x31,0x3E,0x4C,0x20,0x40, + 0x54,0x31,0x36,0x30,0x50,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20, + 0x73,0x6C,0x69,0x64,0x65,0x20,0x6C,0x65,0x66,0x74,0x2E,0x20, + 0x28,0x49,0x6E,0x64,0x69,0x63,0x61,0x74,0x65,0x64,0x20,0x62, + 0x79,0x20,0x73,0x79,0x6D,0x62,0x6F,0x6C,0x29,0x18,0x3E,0x4D, + 0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x6F,0x6E,0x65,0x20,0x70, + 0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x2E,0x00,0x00, + 0x1B,0x40,0x4C,0x40,0x58,0x30,0x30,0x30,0x44,0x65,0x74,0x61, + 0x69,0x6C,0x65,0x64,0x20,0x69,0x6E,0x66,0x6F,0x72,0x6D,0x61, + 0x74,0x69,0x6F,0x6E,0x00,0x12,0x40,0x58,0x30,0x34,0x30,0x40, + 0x43,0x30,0x30,0x31,0x41,0x72,0x70,0x65,0x67,0x67,0x69,0x6F, + 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, + 0x27,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x30,0x20,0x2B, + 0x20,0x31,0x73,0x74,0x20,0x68,0x61,0x6C,0x66,0x74,0x6F,0x6E, + 0x65,0x20,0x2B,0x20,0x32,0x6E,0x64,0x20,0x68,0x61,0x6C,0x66, + 0x74,0x6F,0x6E,0x65,0x00,0x0D,0x45,0x78,0x2E,0x3A,0x20,0x43, + 0x2D,0x31,0x20,0x20,0x30,0x33,0x37,0x00,0x16,0x3E,0x31,0x30, + 0x20,0x50,0x6C,0x61,0x79,0x73,0x20,0x43,0x2D,0x31,0x20,0x74, + 0x69,0x63,0x6B,0x20,0x23,0x31,0x2E,0x26,0x3E,0x32,0x30,0x20, + 0x50,0x6C,0x61,0x79,0x73,0x20,0x43,0x2D,0x31,0x20,0x2B,0x20, + 0x33,0x20,0x4E,0x6F,0x74,0x65,0x73,0x20,0x3D,0x20,0x44,0x23, + 0x31,0x20,0x74,0x69,0x63,0x6B,0x20,0x23,0x32,0x2E,0x26,0x3E, + 0x33,0x30,0x20,0x50,0x6C,0x61,0x79,0x73,0x20,0x43,0x2D,0x31, + 0x20,0x2B,0x20,0x37,0x20,0x4E,0x6F,0x74,0x65,0x73,0x20,0x3D, + 0x20,0x47,0x2D,0x31,0x20,0x74,0x69,0x63,0x6B,0x20,0x23,0x33, + 0x2E,0x0B,0x3E,0x34,0x30,0x20,0x47,0x6F,0x74,0x6F,0x20,0x31, + 0x30,0x00,0x1C,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, + 0x31,0x50,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20, + 0x75,0x70,0x2F,0x64,0x6F,0x77,0x6E,0x0B,0x3E,0x40,0x58,0x30, + 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x18,0x53,0x79,0x6E,0x74, + 0x61,0x78,0x3A,0x20,0x28,0x31,0x20,0x6F,0x72,0x20,0x32,0x29, + 0x20,0x2B,0x20,0x53,0x70,0x65,0x65,0x64,0x00,0x40,0x50,0x6F, + 0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x69,0x73,0x20, + 0x75,0x73,0x65,0x64,0x20,0x74,0x6F,0x20,0x73,0x6C,0x69,0x64, + 0x65,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65, + 0x20,0x70,0x69,0x74,0x63,0x68,0x20,0x75,0x70,0x20,0x6F,0x72, + 0x20,0x64,0x6F,0x77,0x6E,0x2E,0x20,0x54,0x68,0x69,0x73,0x20, + 0x69,0x73,0x42,0x64,0x6F,0x6E,0x65,0x20,0x75,0x73,0x69,0x6E, + 0x67,0x20,0x74,0x68,0x65,0x20,0x70,0x65,0x72,0x69,0x6F,0x64, + 0x20,0x76,0x61,0x6C,0x75,0x65,0x2E,0x20,0x49,0x66,0x20,0x41, + 0x6D,0x69,0x67,0x61,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E, + 0x63,0x79,0x20,0x74,0x61,0x62,0x6C,0x65,0x20,0x69,0x73,0x20, + 0x75,0x73,0x65,0x64,0x2C,0x20,0x74,0x68,0x65,0x40,0x73,0x6C, + 0x69,0x64,0x69,0x6E,0x67,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62, + 0x65,0x20,0x6E,0x6F,0x6E,0x2D,0x6C,0x69,0x6E,0x65,0x61,0x72, + 0x20,0x28,0x74,0x68,0x65,0x20,0x73,0x70,0x65,0x65,0x64,0x20, + 0x64,0x65,0x70,0x65,0x6E,0x64,0x73,0x20,0x6F,0x6E,0x20,0x74, + 0x68,0x65,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79, + 0x29,0x2E,0x00,0x19,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, + 0x30,0x31,0x54,0x6F,0x6E,0x65,0x20,0x70,0x6F,0x72,0x74,0x61, + 0x6D,0x65,0x6E,0x74,0x6F,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30, + 0x40,0x43,0x30,0x30,0x32,0x11,0x53,0x79,0x6E,0x74,0x61,0x78, + 0x3A,0x20,0x33,0x20,0x2B,0x20,0x53,0x70,0x65,0x65,0x64,0x00, + 0x40,0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E, + 0x64,0x20,0x69,0x73,0x20,0x75,0x73,0x65,0x64,0x20,0x74,0x6F, + 0x67,0x65,0x74,0x68,0x65,0x72,0x20,0x77,0x69,0x74,0x68,0x20, + 0x61,0x20,0x6E,0x6F,0x74,0x65,0x2C,0x20,0x61,0x6E,0x64,0x20, + 0x77,0x69,0x6C,0x6C,0x20,0x73,0x6C,0x69,0x64,0x65,0x20,0x74, + 0x6F,0x20,0x69,0x74,0x73,0x43,0x66,0x72,0x65,0x71,0x75,0x65, + 0x6E,0x63,0x79,0x2E,0x20,0x49,0x66,0x20,0x67,0x6C,0x69,0x73, + 0x73,0x61,0x6E,0x64,0x6F,0x20,0x28,0x45,0x33,0x29,0x20,0x69, + 0x73,0x20,0x75,0x73,0x65,0x64,0x2C,0x20,0x74,0x68,0x65,0x20, + 0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x77,0x69, + 0x6C,0x6C,0x20,0x62,0x65,0x20,0x72,0x6F,0x75,0x6E,0x64,0x65, + 0x64,0x18,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x6E,0x65,0x61, + 0x72,0x65,0x73,0x74,0x20,0x68,0x61,0x6C,0x66,0x74,0x6F,0x6E, + 0x65,0x2E,0x00,0x11,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, + 0x30,0x31,0x56,0x69,0x62,0x72,0x61,0x74,0x6F,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x18,0x53,0x79, + 0x6E,0x74,0x61,0x78,0x3A,0x20,0x34,0x20,0x2B,0x20,0x52,0x61, + 0x74,0x65,0x20,0x2B,0x20,0x44,0x65,0x70,0x74,0x68,0x00,0x3E, + 0x41,0x64,0x64,0x73,0x20,0x76,0x69,0x62,0x72,0x61,0x74,0x6F, + 0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x63,0x68,0x61,0x6E, + 0x6E,0x65,0x6C,0x20,0x77,0x69,0x74,0x68,0x20,0x61,0x20,0x72, + 0x61,0x74,0x65,0x20,0x61,0x6E,0x64,0x20,0x73,0x70,0x65,0x65, + 0x64,0x2E,0x20,0x53,0x65,0x74,0x20,0x76,0x69,0x62,0x72,0x61, + 0x74,0x6F,0x3D,0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x20,0x28, + 0x45,0x34,0x29,0x20,0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x75, + 0x73,0x65,0x64,0x20,0x74,0x6F,0x20,0x63,0x68,0x61,0x6E,0x67, + 0x65,0x20,0x74,0x68,0x65,0x20,0x76,0x69,0x62,0x72,0x61,0x74, + 0x6F,0x20,0x77,0x61,0x76,0x65,0x20,0x66,0x6F,0x72,0x6D,0x20, + 0x28,0x73,0x65,0x65,0x07,0x62,0x65,0x6C,0x6F,0x77,0x29,0x2E, + 0x00,0x28,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31, + 0x54,0x6F,0x6E,0x65,0x20,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65, + 0x6E,0x74,0x6F,0x20,0x2B,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65, + 0x20,0x73,0x6C,0x69,0x64,0x65,0x0B,0x3E,0x40,0x58,0x30,0x36, + 0x30,0x40,0x43,0x30,0x30,0x32,0x11,0x53,0x79,0x6E,0x74,0x61, + 0x78,0x3A,0x20,0x35,0x20,0x2B,0x20,0x53,0x70,0x65,0x65,0x64, + 0x00,0x40,0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61, + 0x6E,0x64,0x20,0x77,0x69,0x6C,0x6C,0x20,0x65,0x78,0x65,0x63, + 0x75,0x74,0x65,0x20,0x62,0x6F,0x74,0x68,0x20,0x74,0x6F,0x6E, + 0x65,0x20,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F, + 0x20,0x61,0x6E,0x64,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20, + 0x73,0x6C,0x69,0x64,0x65,0x2E,0x27,0x54,0x68,0x65,0x20,0x73, + 0x70,0x65,0x65,0x64,0x20,0x69,0x73,0x20,0x75,0x73,0x65,0x64, + 0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x76,0x6F,0x6C, + 0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x2E,0x00,0x20, + 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x56,0x69, + 0x62,0x72,0x61,0x74,0x6F,0x20,0x2B,0x20,0x76,0x6F,0x6C,0x75, + 0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x0B,0x3E,0x40,0x58, + 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x11,0x53,0x79,0x6E, + 0x74,0x61,0x78,0x3A,0x20,0x36,0x20,0x2B,0x20,0x53,0x70,0x65, + 0x65,0x64,0x00,0x3C,0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D, + 0x6D,0x61,0x6E,0x64,0x20,0x77,0x69,0x6C,0x6C,0x20,0x65,0x78, + 0x65,0x63,0x75,0x74,0x65,0x20,0x62,0x6F,0x74,0x68,0x20,0x76, + 0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x61,0x6E,0x64,0x20,0x76, + 0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x2E, + 0x20,0x54,0x68,0x65,0x23,0x73,0x70,0x65,0x65,0x64,0x20,0x69, + 0x73,0x20,0x75,0x73,0x65,0x64,0x20,0x66,0x6F,0x72,0x20,0x74, + 0x68,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C, + 0x69,0x64,0x65,0x2E,0x00,0x11,0x40,0x58,0x30,0x34,0x30,0x40, + 0x43,0x30,0x30,0x31,0x54,0x72,0x65,0x6D,0x6F,0x6C,0x6F,0x0B, + 0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x18, + 0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x37,0x20,0x2B,0x20, + 0x52,0x61,0x74,0x65,0x20,0x2B,0x20,0x44,0x65,0x70,0x74,0x68, + 0x00,0x41,0x54,0x72,0x65,0x6D,0x6F,0x6C,0x6F,0x20,0x61,0x64, + 0x64,0x73,0x20,0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x74, + 0x6F,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E, + 0x74,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x20,0x54,0x68, + 0x65,0x20,0x73,0x79,0x6E,0x74,0x61,0x78,0x20,0x69,0x73,0x20, + 0x65,0x78,0x61,0x63,0x74,0x6C,0x79,0x1B,0x61,0x73,0x20,0x66, + 0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x76,0x69,0x62,0x72,0x61, + 0x74,0x6F,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x2E,0x00, + 0x1E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53, + 0x65,0x74,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x70, + 0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x0B,0x3E,0x40,0x58,0x30, + 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x14,0x53,0x79,0x6E,0x74, + 0x61,0x78,0x3A,0x20,0x38,0x20,0x2B,0x20,0x50,0x6F,0x73,0x69, + 0x74,0x69,0x6F,0x6E,0x00,0x3E,0x53,0x65,0x74,0x73,0x20,0x74, + 0x68,0x65,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x70, + 0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x20,0x66,0x6F,0x72,0x20, + 0x74,0x68,0x65,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x2E, + 0x20,0x24,0x30,0x30,0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x20, + 0x6C,0x65,0x66,0x74,0x6D,0x6F,0x73,0x74,0x3F,0x70,0x6F,0x73, + 0x69,0x74,0x69,0x6F,0x6E,0x20,0x61,0x6E,0x64,0x20,0x24,0x46, + 0x46,0x20,0x74,0x68,0x65,0x20,0x72,0x69,0x67,0x68,0x74,0x6D, + 0x6F,0x73,0x74,0x2E,0x20,0x4E,0x6F,0x74,0x65,0x20,0x74,0x68, + 0x61,0x74,0x20,0x73,0x6F,0x6D,0x65,0x20,0x73,0x6F,0x75,0x6E, + 0x64,0x20,0x63,0x61,0x72,0x64,0x73,0x20,0x28,0x65,0x78,0x2E, + 0x30,0x47,0x55,0x53,0x29,0x20,0x63,0x61,0x6E,0x27,0x74,0x20, + 0x75,0x73,0x65,0x20,0x61,0x73,0x20,0x6D,0x61,0x6E,0x79,0x20, + 0x61,0x73,0x20,0x32,0x35,0x36,0x20,0x70,0x61,0x6E,0x6E,0x69, + 0x6E,0x67,0x20,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x73, + 0x2E,0x00,0x17,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, + 0x31,0x53,0x61,0x6D,0x70,0x6C,0x65,0x20,0x6F,0x66,0x66,0x73, + 0x65,0x74,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, + 0x30,0x32,0x12,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x39, + 0x20,0x2B,0x20,0x4F,0x66,0x66,0x73,0x65,0x74,0x00,0x41,0x54, + 0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20, + 0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x62,0x65,0x20,0x75,0x73, + 0x65,0x64,0x20,0x74,0x6F,0x67,0x65,0x74,0x68,0x65,0x72,0x20, + 0x77,0x69,0x74,0x68,0x20,0x61,0x20,0x6E,0x6F,0x74,0x65,0x2E, + 0x20,0x54,0x68,0x65,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20, + 0x77,0x69,0x6C,0x6C,0x2D,0x62,0x65,0x20,0x70,0x6C,0x61,0x79, + 0x65,0x64,0x20,0x66,0x72,0x6F,0x6D,0x20,0x28,0x4F,0x66,0x66, + 0x73,0x65,0x74,0x2A,0x24,0x31,0x30,0x30,0x29,0x20,0x69,0x6E, + 0x73,0x74,0x65,0x61,0x64,0x20,0x6F,0x66,0x20,0x7A,0x65,0x72, + 0x6F,0x2E,0x00,0x16,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, + 0x30,0x31,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69, + 0x64,0x65,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, + 0x30,0x32,0x21,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x41, + 0x20,0x2B,0x20,0x55,0x70,0x20,0x73,0x70,0x65,0x65,0x64,0x20, + 0x2B,0x20,0x44,0x6F,0x77,0x6E,0x20,0x73,0x70,0x65,0x65,0x64, + 0x00,0x3D,0x53,0x6C,0x69,0x64,0x65,0x73,0x20,0x74,0x68,0x65, + 0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x76,0x6F,0x6C, + 0x75,0x6D,0x65,0x20,0x75,0x70,0x20,0x6F,0x72,0x20,0x64,0x6F, + 0x77,0x6E,0x2E,0x20,0x45,0x69,0x74,0x68,0x65,0x72,0x20,0x75, + 0x70,0x20,0x73,0x70,0x65,0x65,0x64,0x20,0x6F,0x72,0x20,0x64, + 0x6F,0x77,0x6E,0x15,0x73,0x70,0x65,0x65,0x64,0x20,0x73,0x68, + 0x6F,0x75,0x6C,0x64,0x20,0x62,0x65,0x20,0x7A,0x65,0x72,0x6F, + 0x2E,0x00,0x17,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, + 0x31,0x50,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x20,0x6A,0x75, + 0x6D,0x70,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, + 0x30,0x32,0x14,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x42, + 0x20,0x2B,0x20,0x50,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x00, + 0x41,0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E, + 0x64,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6A,0x75,0x6D,0x70,0x20, + 0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x73,0x65,0x6C,0x65,0x63, + 0x74,0x65,0x64,0x20,0x73,0x6F,0x6E,0x67,0x20,0x70,0x6F,0x73, + 0x69,0x74,0x69,0x6F,0x6E,0x20,0x61,0x6E,0x64,0x20,0x70,0x6C, + 0x61,0x79,0x20,0x74,0x68,0x65,0x1B,0x70,0x61,0x74,0x74,0x65, + 0x72,0x6E,0x20,0x66,0x72,0x6F,0x6D,0x20,0x74,0x68,0x65,0x20, + 0x62,0x65,0x67,0x69,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x14, + 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x65, + 0x74,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x0B,0x3E,0x40,0x58, + 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x12,0x53,0x79,0x6E, + 0x74,0x61,0x78,0x3A,0x20,0x43,0x20,0x2B,0x20,0x56,0x6F,0x6C, + 0x75,0x6D,0x65,0x00,0x3E,0x53,0x65,0x74,0x73,0x20,0x74,0x68, + 0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x76,0x6F, + 0x6C,0x75,0x6D,0x65,0x2E,0x20,0x54,0x68,0x65,0x20,0x76,0x6F, + 0x6C,0x75,0x6D,0x65,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20, + 0x6E,0x6F,0x74,0x20,0x62,0x65,0x20,0x67,0x72,0x65,0x61,0x74, + 0x65,0x72,0x20,0x74,0x68,0x61,0x6E,0x04,0x24,0x34,0x30,0x2E, + 0x00,0x17,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31, + 0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x62,0x72,0x65,0x61, + 0x6B,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30, + 0x32,0x1C,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x44,0x20, + 0x2B,0x20,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x2D,0x70,0x6F, + 0x73,0x69,0x74,0x69,0x6F,0x6E,0x00,0x3C,0x54,0x68,0x69,0x73, + 0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x77,0x69,0x6C, + 0x6C,0x20,0x6A,0x75,0x6D,0x70,0x20,0x74,0x6F,0x20,0x74,0x68, + 0x65,0x20,0x6E,0x65,0x78,0x74,0x20,0x70,0x61,0x74,0x74,0x65, + 0x72,0x6E,0x20,0x61,0x6E,0x64,0x20,0x70,0x6C,0x61,0x79,0x20, + 0x66,0x72,0x6F,0x6D,0x20,0x74,0x68,0x65,0x13,0x73,0x70,0x65, + 0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x70,0x6F,0x73,0x69,0x74, + 0x69,0x6F,0x6E,0x2E,0x00,0x22,0x40,0x58,0x30,0x34,0x30,0x40, + 0x43,0x30,0x30,0x31,0x53,0x65,0x74,0x20,0x66,0x69,0x6C,0x74, + 0x65,0x72,0x20,0x28,0x41,0x6D,0x69,0x67,0x61,0x20,0x6F,0x6E, + 0x6C,0x79,0x21,0x29,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40, + 0x43,0x30,0x30,0x32,0x13,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A, + 0x20,0x45,0x30,0x20,0x2B,0x20,0x53,0x74,0x61,0x74,0x75,0x73, + 0x00,0x38,0x55,0x73,0x65,0x20,0x45,0x30,0x30,0x20,0x61,0x6E, + 0x64,0x20,0x79,0x6F,0x75,0x72,0x20,0x74,0x75,0x6E,0x65,0x20, + 0x77,0x69,0x6C,0x6C,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x72, + 0x65,0x61,0x6C,0x6C,0x79,0x20,0x62,0x61,0x64,0x20,0x6F,0x6E, + 0x20,0x61,0x6E,0x20,0x41,0x6D,0x69,0x67,0x61,0x21,0x00,0x21, + 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x46,0x69, + 0x6E,0x65,0x20,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74, + 0x6F,0x20,0x75,0x70,0x2F,0x64,0x6F,0x77,0x6E,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x19,0x53,0x79, + 0x6E,0x74,0x61,0x78,0x3A,0x20,0x45,0x28,0x31,0x20,0x6F,0x72, + 0x20,0x32,0x29,0x20,0x2B,0x20,0x53,0x70,0x65,0x65,0x64,0x00, + 0x3F,0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E, + 0x64,0x20,0x77,0x6F,0x72,0x6B,0x73,0x20,0x61,0x73,0x20,0x70, + 0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x75,0x70, + 0x2F,0x64,0x6F,0x77,0x6E,0x2C,0x20,0x62,0x75,0x74,0x20,0x69, + 0x74,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x73,0x6C,0x69,0x64,0x65, + 0x73,0x20,0x75,0x70,0x05,0x6F,0x6E,0x63,0x65,0x2E,0x00,0x1F, + 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x65, + 0x74,0x20,0x67,0x6C,0x69,0x73,0x73,0x61,0x6E,0x64,0x6F,0x20, + 0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x0B,0x3E,0x40,0x58,0x30, + 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x13,0x53,0x79,0x6E,0x74, + 0x61,0x78,0x3A,0x20,0x45,0x33,0x20,0x2B,0x20,0x53,0x74,0x61, + 0x74,0x75,0x73,0x00,0x41,0x49,0x66,0x20,0x53,0x74,0x61,0x74, + 0x75,0x73,0x20,0x69,0x73,0x20,0x3D,0x31,0x2C,0x20,0x74,0x68, + 0x65,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20, + 0x77,0x68,0x65,0x6E,0x20,0x75,0x73,0x69,0x6E,0x67,0x20,0x74, + 0x6F,0x6E,0x65,0x20,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E, + 0x74,0x6F,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x72, + 0x6F,0x75,0x6E,0x64,0x65,0x64,0x20,0x74,0x6F,0x20,0x74,0x68, + 0x65,0x20,0x6E,0x65,0x61,0x72,0x65,0x73,0x74,0x20,0x68,0x61, + 0x6C,0x66,0x74,0x6F,0x6E,0x65,0x2E,0x00,0x1D,0x40,0x58,0x30, + 0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x65,0x74,0x20,0x76, + 0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x63,0x6F,0x6E,0x74,0x72, + 0x6F,0x6C,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, + 0x30,0x32,0x11,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x45, + 0x34,0x20,0x2B,0x20,0x54,0x79,0x70,0x65,0x00,0x2C,0x54,0x68, + 0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x63, + 0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x73,0x20,0x74,0x68,0x65,0x20, + 0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x77,0x61,0x76,0x65, + 0x20,0x66,0x6F,0x72,0x6D,0x2E,0x00,0x33,0x54,0x79,0x70,0x65, + 0x3A,0x20,0x30,0x20,0x3D,0x20,0x53,0x69,0x6E,0x65,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x31,0x20,0x3D,0x20,0x52,0x61,0x6D, + 0x70,0x20,0x64,0x6F,0x77,0x6E,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x32,0x20,0x3D,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x00, + 0x44,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x61,0x64,0x64,0x20, + 0x34,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x74,0x79,0x70, + 0x65,0x2C,0x20,0x74,0x68,0x65,0x20,0x77,0x61,0x76,0x65,0x20, + 0x66,0x6F,0x72,0x6D,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6E,0x6F, + 0x74,0x20,0x62,0x65,0x20,0x72,0x65,0x74,0x72,0x69,0x67,0x67, + 0x65,0x64,0x20,0x77,0x68,0x65,0x6E,0x20,0x61,0x19,0x6E,0x65, + 0x77,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74, + 0x20,0x69,0x73,0x20,0x70,0x6C,0x61,0x79,0x65,0x64,0x2E,0x00, + 0x17,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53, + 0x65,0x74,0x20,0x66,0x69,0x6E,0x65,0x2D,0x74,0x75,0x6E,0x65, + 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, + 0x11,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x45,0x35,0x20, + 0x2B,0x20,0x54,0x75,0x6E,0x65,0x00,0x3F,0x54,0x68,0x69,0x73, + 0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x73,0x68,0x6F, + 0x75,0x6C,0x64,0x20,0x62,0x65,0x20,0x75,0x73,0x65,0x64,0x20, + 0x74,0x6F,0x67,0x65,0x74,0x68,0x65,0x72,0x20,0x77,0x69,0x74, + 0x68,0x20,0x61,0x20,0x6E,0x6F,0x74,0x65,0x2E,0x20,0x49,0x74, + 0x20,0x77,0x69,0x6C,0x6C,0x20,0x63,0x61,0x75,0x73,0x65,0x44, + 0x61,0x6E,0x6F,0x74,0x68,0x65,0x72,0x20,0x66,0x69,0x6E,0x65, + 0x2D,0x74,0x75,0x6E,0x65,0x20,0x76,0x61,0x6C,0x75,0x65,0x20, + 0x74,0x6F,0x20,0x62,0x65,0x20,0x75,0x73,0x65,0x64,0x2E,0x20, + 0x49,0x74,0x20,0x73,0x65,0x65,0x6D,0x73,0x20,0x71,0x75,0x69, + 0x74,0x65,0x20,0x75,0x6E,0x75,0x73,0x61,0x62,0x6C,0x65,0x20, + 0x74,0x6F,0x20,0x6D,0x65,0x2E,0x2E,0x2E,0x00,0x16,0x40,0x58, + 0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x50,0x61,0x74,0x74, + 0x65,0x72,0x6E,0x20,0x6C,0x6F,0x6F,0x70,0x0B,0x3E,0x40,0x58, + 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x12,0x53,0x79,0x6E, + 0x74,0x61,0x78,0x3A,0x20,0x45,0x36,0x20,0x2B,0x20,0x43,0x6F, + 0x75,0x6E,0x74,0x00,0x45,0x49,0x66,0x20,0x63,0x6F,0x75,0x6E, + 0x74,0x20,0x69,0x73,0x20,0x7A,0x65,0x72,0x6F,0x2C,0x20,0x74, + 0x68,0x65,0x20,0x62,0x65,0x67,0x69,0x6E,0x6E,0x69,0x6E,0x67, + 0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x6C,0x6F,0x6F,0x70, + 0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x73,0x70,0x65, + 0x63,0x69,0x66,0x69,0x65,0x64,0x2E,0x20,0x57,0x68,0x65,0x6E, + 0x20,0x61,0x40,0x6E,0x6F,0x6E,0x2D,0x7A,0x65,0x72,0x6F,0x20, + 0x76,0x61,0x6C,0x75,0x65,0x20,0x69,0x73,0x20,0x75,0x73,0x65, + 0x64,0x2C,0x20,0x74,0x68,0x65,0x20,0x70,0x61,0x74,0x74,0x65, + 0x72,0x6E,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x6C, + 0x6F,0x6F,0x70,0x65,0x64,0x20,0x66,0x72,0x6F,0x6D,0x20,0x74, + 0x68,0x65,0x20,0x6C,0x6F,0x6F,0x70,0x06,0x73,0x74,0x61,0x72, + 0x74,0x2E,0x00,0x1D,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, + 0x30,0x31,0x53,0x65,0x74,0x20,0x74,0x72,0x65,0x6D,0x6F,0x6C, + 0x6F,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x11,0x53,0x79, + 0x6E,0x74,0x61,0x78,0x3A,0x20,0x45,0x37,0x20,0x2B,0x20,0x54, + 0x79,0x70,0x65,0x00,0x3A,0x54,0x68,0x69,0x73,0x20,0x63,0x6F, + 0x6D,0x6D,0x61,0x6E,0x64,0x20,0x77,0x6F,0x72,0x6B,0x73,0x20, + 0x65,0x78,0x61,0x63,0x74,0x6C,0x79,0x20,0x61,0x73,0x20,0x73, + 0x65,0x74,0x20,0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x63, + 0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x2C,0x20,0x62,0x75,0x74,0x20, + 0x74,0x68,0x65,0x2A,0x74,0x72,0x65,0x6D,0x6F,0x6C,0x6F,0x20, + 0x77,0x61,0x76,0x65,0x20,0x66,0x6F,0x72,0x6D,0x20,0x77,0x69, + 0x6C,0x6C,0x20,0x62,0x65,0x20,0x63,0x68,0x61,0x6E,0x67,0x65, + 0x64,0x20,0x69,0x6E,0x73,0x74,0x65,0x61,0x64,0x2E,0x00,0x15, + 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x52,0x65, + 0x74,0x72,0x69,0x67,0x20,0x6E,0x6F,0x74,0x65,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x15,0x53,0x79, + 0x6E,0x74,0x61,0x78,0x3A,0x20,0x45,0x39,0x20,0x2B,0x20,0x49, + 0x6E,0x74,0x65,0x72,0x76,0x61,0x6C,0x00,0x2D,0x52,0x65,0x74, + 0x72,0x69,0x67,0x73,0x20,0x74,0x68,0x65,0x20,0x6E,0x6F,0x74, + 0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x20,0x73, + 0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x69,0x6E,0x74, + 0x65,0x72,0x76,0x61,0x6C,0x2E,0x00,0x23,0x40,0x58,0x30,0x34, + 0x30,0x40,0x43,0x30,0x30,0x31,0x46,0x69,0x6E,0x65,0x20,0x76, + 0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x20, + 0x75,0x70,0x2F,0x64,0x6F,0x77,0x6E,0x0B,0x3E,0x40,0x58,0x30, + 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x19,0x53,0x79,0x6E,0x74, + 0x61,0x78,0x3A,0x20,0x45,0x28,0x41,0x20,0x6F,0x72,0x20,0x42, + 0x29,0x20,0x2B,0x20,0x53,0x70,0x65,0x65,0x64,0x00,0x44,0x54, + 0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20, + 0x77,0x6F,0x72,0x6B,0x73,0x20,0x61,0x73,0x20,0x74,0x68,0x65, + 0x20,0x75,0x73,0x75,0x61,0x6C,0x20,0x76,0x6F,0x6C,0x75,0x6D, + 0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x2C,0x20,0x62,0x75,0x74, + 0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6F,0x6E,0x6C, + 0x79,0x20,0x73,0x6C,0x69,0x64,0x65,0x05,0x6F,0x6E,0x63,0x65, + 0x2E,0x00,0x12,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, + 0x31,0x4E,0x6F,0x74,0x65,0x20,0x63,0x75,0x74,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x11,0x53,0x79, + 0x6E,0x74,0x61,0x78,0x3A,0x20,0x45,0x43,0x20,0x2B,0x20,0x54, + 0x69,0x63,0x6B,0x00,0x43,0x43,0x75,0x74,0x73,0x20,0x74,0x68, + 0x65,0x20,0x6E,0x6F,0x74,0x65,0x20,0x61,0x74,0x20,0x74,0x68, + 0x65,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x20, + 0x74,0x69,0x63,0x6B,0x2E,0x20,0x4E,0x6F,0x74,0x65,0x20,0x74, + 0x68,0x61,0x74,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20, + 0x6F,0x6E,0x6C,0x79,0x20,0x73,0x65,0x74,0x20,0x74,0x68,0x65, + 0x34,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x74,0x6F,0x20,0x7A, + 0x65,0x72,0x6F,0x2C,0x20,0x61,0x6E,0x64,0x20,0x74,0x68,0x65, + 0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x77,0x69,0x6C,0x6C, + 0x20,0x73,0x74,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x70,0x6C, + 0x61,0x79,0x65,0x64,0x2E,0x00,0x14,0x40,0x58,0x30,0x34,0x30, + 0x40,0x43,0x30,0x30,0x31,0x4E,0x6F,0x74,0x65,0x20,0x64,0x65, + 0x6C,0x61,0x79,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, + 0x30,0x30,0x32,0x12,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20, + 0x45,0x44,0x20,0x2B,0x20,0x54,0x69,0x63,0x6B,0x73,0x00,0x3E, + 0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64, + 0x20,0x77,0x69,0x6C,0x6C,0x20,0x64,0x65,0x6C,0x61,0x79,0x20, + 0x74,0x68,0x65,0x20,0x6E,0x6F,0x74,0x65,0x20,0x74,0x68,0x65, + 0x20,0x73,0x65,0x6C,0x65,0x63,0x74,0x65,0x64,0x20,0x6E,0x75, + 0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x74,0x69,0x63,0x6B, + 0x73,0x2E,0x00,0x17,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, + 0x30,0x31,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x64,0x65, + 0x6C,0x61,0x79,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, + 0x30,0x30,0x32,0x12,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20, + 0x45,0x45,0x20,0x2B,0x20,0x4E,0x6F,0x74,0x65,0x73,0x00,0x41, + 0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64, + 0x20,0x77,0x69,0x6C,0x6C,0x20,0x64,0x65,0x6C,0x61,0x79,0x20, + 0x74,0x68,0x65,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x20, + 0x74,0x68,0x65,0x20,0x73,0x65,0x6C,0x65,0x63,0x74,0x65,0x64, + 0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x6E, + 0x6F,0x74,0x65,0x73,0x2E,0x00,0x13,0x40,0x58,0x30,0x34,0x30, + 0x40,0x43,0x30,0x30,0x31,0x53,0x65,0x74,0x20,0x73,0x70,0x65, + 0x65,0x64,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, + 0x30,0x32,0x11,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x46, + 0x20,0x2B,0x20,0x56,0x61,0x6C,0x75,0x65,0x00,0x42,0x54,0x68, + 0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x77, + 0x69,0x6C,0x6C,0x20,0x73,0x65,0x74,0x20,0x74,0x68,0x65,0x20, + 0x73,0x70,0x65,0x65,0x64,0x20,0x6F,0x72,0x20,0x42,0x50,0x4D, + 0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x6F,0x66,0x20,0x74,0x68, + 0x65,0x20,0x73,0x6F,0x6E,0x67,0x2E,0x20,0x49,0x66,0x20,0x76, + 0x61,0x6C,0x75,0x65,0x3F,0x69,0x73,0x20,0x6C,0x65,0x73,0x73, + 0x20,0x74,0x68,0x61,0x6E,0x20,0x24,0x32,0x30,0x2C,0x20,0x74, + 0x68,0x65,0x20,0x73,0x70,0x65,0x65,0x64,0x20,0x77,0x69,0x6C, + 0x6C,0x20,0x62,0x65,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x64, + 0x2E,0x20,0x4F,0x74,0x68,0x65,0x72,0x77,0x69,0x73,0x65,0x2C, + 0x20,0x74,0x68,0x65,0x20,0x42,0x50,0x4D,0x16,0x76,0x61,0x6C, + 0x75,0x65,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x63, + 0x68,0x61,0x6E,0x67,0x65,0x64,0x2E,0x00,0x1B,0x40,0x58,0x30, + 0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x65,0x74,0x20,0x67, + 0x6C,0x6F,0x62,0x61,0x6C,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65, + 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, + 0x12,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x47,0x20,0x2B, + 0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x42,0x53,0x65,0x74, + 0x73,0x20,0x74,0x68,0x65,0x20,0x67,0x6C,0x6F,0x62,0x61,0x6C, + 0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x20,0x54,0x68,0x65, + 0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73,0x68,0x6F,0x75, + 0x6C,0x64,0x20,0x6E,0x6F,0x74,0x20,0x62,0x65,0x20,0x67,0x72, + 0x65,0x61,0x74,0x65,0x72,0x20,0x74,0x68,0x61,0x6E,0x20,0x24, + 0x34,0x30,0x2E,0x00,0x1D,0x40,0x58,0x30,0x34,0x30,0x40,0x43, + 0x30,0x30,0x31,0x47,0x6C,0x6F,0x62,0x61,0x6C,0x20,0x76,0x6F, + 0x6C,0x75,0x6D,0x65,0x20,0x73,0x6C,0x69,0x64,0x65,0x0B,0x3E, + 0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x21,0x53, + 0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x48,0x20,0x2B,0x20,0x55, + 0x70,0x20,0x73,0x70,0x65,0x65,0x64,0x20,0x2B,0x20,0x44,0x6F, + 0x77,0x6E,0x20,0x73,0x70,0x65,0x65,0x64,0x00,0x3D,0x54,0x68, + 0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x77, + 0x6F,0x72,0x6B,0x73,0x20,0x65,0x78,0x61,0x63,0x74,0x6C,0x79, + 0x20,0x61,0x73,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x73, + 0x6C,0x69,0x64,0x65,0x2C,0x20,0x62,0x75,0x74,0x20,0x69,0x74, + 0x20,0x73,0x6C,0x69,0x64,0x65,0x73,0x20,0x74,0x68,0x65,0x16, + 0x67,0x6C,0x6F,0x62,0x61,0x6C,0x20,0x76,0x6F,0x6C,0x75,0x6D, + 0x65,0x20,0x69,0x6E,0x73,0x74,0x65,0x61,0x64,0x2E,0x00,0x11, + 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x4B,0x65, + 0x79,0x20,0x6F,0x66,0x66,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30, + 0x40,0x43,0x30,0x30,0x32,0x10,0x53,0x79,0x6E,0x74,0x61,0x78, + 0x3A,0x20,0x4B,0x20,0x2B,0x20,0x54,0x69,0x63,0x6B,0x00,0x3C, + 0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64, + 0x20,0x77,0x69,0x6C,0x6C,0x20,0x74,0x72,0x69,0x67,0x67,0x65, + 0x72,0x20,0x61,0x20,0x22,0x4B,0x65,0x79,0x20,0x6F,0x66,0x66, + 0x22,0x20,0x61,0x74,0x20,0x74,0x68,0x65,0x20,0x73,0x70,0x65, + 0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x74,0x69,0x63,0x6B,0x2E, + 0x00,0x1F,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31, + 0x53,0x65,0x74,0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65, + 0x20,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x14,0x53,0x79, + 0x6E,0x74,0x61,0x78,0x3A,0x20,0x4C,0x20,0x2B,0x20,0x50,0x6F, + 0x73,0x69,0x74,0x69,0x6F,0x6E,0x00,0x3E,0x43,0x68,0x61,0x6E, + 0x67,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x65,0x6E,0x76,0x65, + 0x6C,0x6F,0x70,0x65,0x20,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F, + 0x6E,0x2E,0x20,0x4D,0x61,0x67,0x6E,0x75,0x73,0x20,0x74,0x6F, + 0x6C,0x64,0x20,0x6D,0x65,0x20,0x74,0x68,0x61,0x74,0x20,0x69, + 0x74,0x20,0x77,0x6F,0x75,0x6C,0x64,0x20,0x62,0x65,0x0C,0x76, + 0x65,0x72,0x79,0x20,0x75,0x73,0x61,0x62,0x6C,0x65,0x2E,0x00, + 0x17,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x50, + 0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x73,0x6C,0x69,0x64,0x65, + 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, + 0x24,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20,0x50,0x20,0x2B, + 0x20,0x52,0x69,0x67,0x68,0x74,0x20,0x73,0x70,0x65,0x65,0x64, + 0x20,0x2B,0x20,0x4C,0x65,0x66,0x74,0x20,0x73,0x70,0x65,0x65, + 0x64,0x00,0x42,0x54,0x68,0x69,0x73,0x20,0x63,0x6F,0x6D,0x6D, + 0x61,0x6E,0x64,0x20,0x73,0x6C,0x69,0x64,0x65,0x73,0x20,0x74, + 0x68,0x65,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x70, + 0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x2E,0x20,0x49,0x74,0x20, + 0x77,0x6F,0x72,0x6B,0x73,0x20,0x6C,0x69,0x6B,0x65,0x20,0x74, + 0x68,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x3C,0x73,0x6C, + 0x69,0x64,0x65,0x2E,0x20,0x4E,0x6F,0x74,0x65,0x20,0x74,0x68, + 0x61,0x74,0x20,0x73,0x6F,0x6D,0x65,0x20,0x73,0x6F,0x75,0x6E, + 0x64,0x20,0x63,0x61,0x72,0x64,0x73,0x20,0x6D,0x61,0x79,0x20, + 0x6E,0x6F,0x74,0x20,0x68,0x61,0x6E,0x64,0x6C,0x65,0x20,0x32, + 0x35,0x36,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x0A,0x70, + 0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x73,0x2E,0x00,0x16,0x40, + 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x4D,0x75,0x6C, + 0x74,0x69,0x20,0x72,0x65,0x74,0x72,0x69,0x67,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x24,0x53,0x79, + 0x6E,0x74,0x61,0x78,0x3A,0x20,0x52,0x20,0x2B,0x20,0x56,0x6F, + 0x6C,0x75,0x6D,0x65,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x20, + 0x2B,0x20,0x49,0x6E,0x74,0x65,0x72,0x76,0x61,0x6C,0x00,0x32, + 0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x61,0x6E,0x20,0x65, + 0x78,0x74,0x65,0x6E,0x64,0x65,0x64,0x20,0x76,0x65,0x72,0x73, + 0x69,0x6F,0x6E,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x72, + 0x65,0x74,0x72,0x69,0x67,0x20,0x63,0x6F,0x6D,0x6D,0x61,0x6E, + 0x64,0x2E,0x00,0x0E,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x63, + 0x68,0x61,0x6E,0x67,0x65,0x3A,0x1F,0x3E,0x40,0x58,0x31,0x30, + 0x30,0x30,0x20,0x3D,0x20,0x4E,0x6F,0x6E,0x65,0x20,0x20,0x40, + 0x54,0x33,0x30,0x30,0x38,0x20,0x3D,0x20,0x55,0x6E,0x75,0x73, + 0x65,0x64,0x16,0x3E,0x31,0x20,0x3D,0x20,0x2D,0x31,0x20,0x20, + 0x20,0x20,0x40,0x54,0x33,0x30,0x30,0x39,0x20,0x3D,0x20,0x2B, + 0x31,0x16,0x3E,0x32,0x20,0x3D,0x20,0x2D,0x32,0x20,0x20,0x20, + 0x20,0x40,0x54,0x33,0x30,0x30,0x41,0x20,0x3D,0x20,0x2B,0x32, + 0x16,0x3E,0x33,0x20,0x3D,0x20,0x2D,0x34,0x20,0x20,0x20,0x20, + 0x40,0x54,0x33,0x30,0x30,0x42,0x20,0x3D,0x20,0x2B,0x34,0x16, + 0x3E,0x34,0x20,0x3D,0x20,0x2D,0x38,0x20,0x20,0x20,0x20,0x40, + 0x54,0x33,0x30,0x30,0x43,0x20,0x3D,0x20,0x2B,0x38,0x17,0x3E, + 0x35,0x20,0x3D,0x20,0x2D,0x31,0x36,0x20,0x20,0x20,0x40,0x54, + 0x33,0x30,0x30,0x44,0x20,0x3D,0x20,0x2B,0x31,0x36,0x18,0x3E, + 0x36,0x20,0x3D,0x20,0x2A,0x32,0x2F,0x33,0x20,0x20,0x40,0x54, + 0x33,0x30,0x30,0x45,0x20,0x3D,0x20,0x2A,0x33,0x2F,0x32,0x16, + 0x3E,0x37,0x20,0x3D,0x20,0x2A,0x31,0x2F,0x32,0x20,0x20,0x40, + 0x54,0x33,0x30,0x30,0x46,0x20,0x3D,0x20,0x2A,0x32,0x00,0x10, + 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x54,0x72, + 0x65,0x6D,0x6F,0x72,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40, + 0x43,0x30,0x30,0x32,0x1E,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A, + 0x20,0x54,0x20,0x2B,0x20,0x4F,0x6E,0x20,0x74,0x69,0x6D,0x65, + 0x20,0x2B,0x20,0x4F,0x66,0x66,0x20,0x74,0x69,0x6D,0x65,0x00, + 0x3E,0x54,0x68,0x69,0x73,0x20,0x77,0x65,0x69,0x72,0x64,0x20, + 0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x77,0x69,0x6C,0x6C, + 0x20,0x73,0x65,0x74,0x20,0x74,0x68,0x65,0x20,0x76,0x6F,0x6C, + 0x75,0x6D,0x65,0x20,0x74,0x6F,0x20,0x7A,0x65,0x72,0x6F,0x20, + 0x64,0x75,0x72,0x69,0x6E,0x67,0x20,0x6F,0x66,0x66,0x20,0x74, + 0x69,0x6D,0x65,0x36,0x6E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F, + 0x66,0x20,0x74,0x69,0x63,0x6B,0x73,0x2E,0x20,0x49,0x74,0x20, + 0x69,0x73,0x20,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x64,0x20, + 0x66,0x6F,0x72,0x20,0x53,0x54,0x4D,0x20,0x63,0x6F,0x6D,0x70, + 0x61,0x74,0x69,0x62,0x69,0x6C,0x69,0x74,0x79,0x2E,0x00,0x27, + 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x45,0x78, + 0x74,0x72,0x61,0x20,0x66,0x69,0x6E,0x65,0x20,0x70,0x6F,0x72, + 0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x75,0x70,0x2F,0x64, + 0x6F,0x77,0x6E,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, + 0x30,0x30,0x32,0x19,0x53,0x79,0x6E,0x74,0x61,0x78,0x3A,0x20, + 0x58,0x28,0x31,0x20,0x6F,0x72,0x20,0x32,0x29,0x20,0x2B,0x20, + 0x53,0x70,0x65,0x65,0x64,0x00,0x3C,0x54,0x68,0x69,0x73,0x20, + 0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x77,0x6F,0x72,0x6B, + 0x73,0x20,0x61,0x73,0x20,0x66,0x69,0x6E,0x65,0x20,0x70,0x6F, + 0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x20,0x75,0x70,0x2F, + 0x64,0x6F,0x77,0x6E,0x2C,0x20,0x62,0x75,0x74,0x20,0x74,0x68, + 0x65,0x20,0x73,0x70,0x65,0x65,0x64,0x18,0x77,0x69,0x6C,0x6C, + 0x20,0x62,0x65,0x20,0x64,0x69,0x76,0x69,0x64,0x65,0x64,0x20, + 0x62,0x79,0x20,0x66,0x6F,0x75,0x72,0x2E,0x00,0x03,0x45,0x4E, + 0x44,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0A, + 0x40,0x4C,0x4B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64,0x00,0x0B, + 0x3E,0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x32,0x4A, + 0x3E,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x68,0x61,0x76,0x65, + 0x20,0x61,0x6E,0x20,0x61,0x6D,0x62,0x69,0x74,0x69,0x6F,0x6E, + 0x20,0x74,0x6F,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x6D, + 0x75,0x73,0x69,0x63,0x20,0x65,0x66,0x66,0x69,0x63,0x69,0x65, + 0x6E,0x74,0x6C,0x79,0x20,0x77,0x65,0x20,0x73,0x74,0x72,0x6F, + 0x6E,0x67,0x6C,0x79,0x20,0x72,0x65,0x63,0x6F,0x6D,0x6D,0x65, + 0x6E,0x64,0x44,0x74,0x68,0x61,0x74,0x20,0x79,0x6F,0x75,0x20, + 0x6C,0x65,0x61,0x72,0x6E,0x20,0x41,0x4C,0x4C,0x20,0x74,0x68, + 0x65,0x20,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64,0x20,0x66, + 0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73,0x2E,0x20,0x4D,0x61, + 0x6E,0x79,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x6D,0x20,0x61, + 0x72,0x65,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6D,0x65,0x45, + 0x66,0x72,0x6F,0x6D,0x20,0x46,0x61,0x73,0x74,0x74,0x72,0x61, + 0x63,0x6B,0x65,0x72,0x20,0x31,0x20,0x61,0x6E,0x64,0x20,0x50, + 0x72,0x6F,0x74,0x72,0x61,0x63,0x6B,0x65,0x72,0x20,0x74,0x6F, + 0x20,0x65,0x6E,0x73,0x75,0x72,0x65,0x20,0x74,0x68,0x61,0x74, + 0x20,0x79,0x6F,0x75,0x20,0x66,0x65,0x65,0x6C,0x20,0x63,0x6F, + 0x6D,0x66,0x6F,0x72,0x74,0x61,0x62,0x6C,0x65,0x2E,0x75,0x73, + 0x69,0x6E,0x67,0x20,0x74,0x68,0x69,0x73,0x20,0x70,0x72,0x6F, + 0x67,0x72,0x61,0x6D,0x20,0x66,0x72,0x6F,0x6D,0x20,0x74,0x68, + 0x65,0x20,0x76,0x65,0x72,0x79,0x20,0x66,0x69,0x72,0x73,0x74, + 0x20,0x6D,0x69,0x6E,0x75,0x74,0x65,0x2E,0x01,0x3E,0x0B,0x3E, + 0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x31,0x26,0x3E, + 0x59,0x6F,0x75,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x62, + 0x65,0x20,0x61,0x77,0x61,0x72,0x65,0x20,0x6F,0x66,0x20,0x74, + 0x68,0x65,0x20,0x66,0x61,0x63,0x74,0x20,0x74,0x68,0x61,0x74, + 0x3A,0x01,0x3E,0x48,0x3E,0x40,0x43,0x30,0x30,0x32,0x54,0x68, + 0x69,0x73,0x20,0x68,0x65,0x6C,0x70,0x20,0x74,0x65,0x78,0x74, + 0x20,0x69,0x73,0x20,0x77,0x72,0x69,0x74,0x74,0x65,0x6E,0x20, + 0x75,0x73,0x69,0x6E,0x67,0x20,0x61,0x20,0x53,0x77,0x65,0x64, + 0x69,0x73,0x68,0x20,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64, + 0x2E,0x20,0x54,0x68,0x65,0x72,0x65,0x66,0x6F,0x72,0x65,0x20, + 0x73,0x6F,0x6D,0x65,0x2F,0x72,0x65,0x66,0x65,0x72,0x65,0x6E, + 0x63,0x65,0x73,0x20,0x74,0x6F,0x20,0x6E,0x6F,0x6E,0x2D,0x6F, + 0x72,0x64,0x69,0x6E,0x61,0x72,0x79,0x20,0x6B,0x65,0x79,0x73, + 0x20,0x6D,0x69,0x67,0x68,0x74,0x20,0x62,0x65,0x20,0x77,0x72, + 0x6F,0x6E,0x67,0x2E,0x0F,0x53,0x68,0x20,0x3D,0x20,0x73,0x68, + 0x69,0x66,0x74,0x20,0x6B,0x65,0x79,0x2E,0x01,0x3E,0x10,0x40, + 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x56,0x69,0x64, + 0x65,0x6F,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, + 0x30,0x30,0x32,0x25,0x41,0x6C,0x74,0x2B,0x45,0x6E,0x74,0x65, + 0x72,0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x6F,0x67,0x67,0x6C, + 0x65,0x20,0x66,0x75,0x6C,0x6C,0x73,0x63,0x72,0x65,0x65,0x6E, + 0x20,0x6D,0x6F,0x64,0x65,0x00,0x17,0x40,0x58,0x30,0x34,0x30, + 0x40,0x43,0x30,0x30,0x31,0x43,0x75,0x72,0x73,0x6F,0x72,0x20, + 0x6D,0x6F,0x76,0x65,0x73,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36, + 0x30,0x40,0x43,0x30,0x30,0x32,0x1D,0x46,0x39,0x2E,0x2E,0x46, + 0x31,0x32,0x20,0x40,0x54,0x31,0x36,0x30,0x4A,0x75,0x6D,0x70, + 0x20,0x69,0x6E,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x2E, + 0x32,0x3E,0x43,0x74,0x72,0x6C,0x2B,0x46,0x39,0x2E,0x2E,0x46, + 0x31,0x32,0x20,0x40,0x54,0x31,0x36,0x30,0x50,0x61,0x74,0x74, + 0x65,0x72,0x6E,0x2D,0x70,0x6C,0x61,0x79,0x20,0x66,0x72,0x6F, + 0x6D,0x20,0x46,0x39,0x2E,0x2E,0x46,0x31,0x32,0x20,0x6C,0x69, + 0x6E,0x65,0x2E,0x2F,0x3E,0x53,0x68,0x2B,0x46,0x39,0x2E,0x2E, + 0x46,0x31,0x32,0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x74,0x6F, + 0x72,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x6C, + 0x69,0x6E,0x65,0x20,0x69,0x6E,0x20,0x46,0x39,0x2E,0x2E,0x46, + 0x31,0x32,0x2E,0x24,0x3E,0x50,0x61,0x67,0x65,0x55,0x70,0x20, + 0x20,0x40,0x54,0x31,0x36,0x30,0x4A,0x75,0x6D,0x70,0x20,0x31, + 0x36,0x2D,0x6C,0x69,0x6E,0x65,0x73,0x20,0x75,0x70,0x77,0x61, + 0x72,0x64,0x73,0x2E,0x27,0x3E,0x50,0x61,0x67,0x65,0x44,0x6F, + 0x77,0x6E,0x20,0x40,0x54,0x31,0x36,0x30,0x4A,0x75,0x6D,0x70, + 0x20,0x31,0x36,0x2D,0x6C,0x69,0x6E,0x65,0x73,0x20,0x64,0x6F, + 0x77,0x6E,0x77,0x61,0x72,0x64,0x73,0x2E,0x1B,0x3E,0x48,0x6F, + 0x6D,0x65,0x20,0x20,0x40,0x54,0x31,0x36,0x30,0x4A,0x75,0x6D, + 0x70,0x20,0x74,0x6F,0x20,0x6C,0x69,0x6E,0x65,0x20,0x30,0x2E, + 0x1D,0x3E,0x45,0x6E,0x64,0x20,0x20,0x40,0x54,0x31,0x36,0x30, + 0x4A,0x75,0x6D,0x70,0x20,0x74,0x6F,0x20,0x6C,0x61,0x73,0x74, + 0x20,0x6C,0x69,0x6E,0x65,0x2E,0x1E,0x3E,0x54,0x61,0x62,0x20, + 0x20,0x40,0x54,0x31,0x36,0x30,0x4A,0x75,0x6D,0x70,0x20,0x74, + 0x6F,0x20,0x6E,0x65,0x78,0x74,0x20,0x74,0x72,0x61,0x63,0x6B, + 0x2E,0x33,0x3E,0x41,0x6C,0x74,0x2B,0x51,0x2E,0x2E,0x49,0x20, + 0x40,0x54,0x31,0x36,0x30,0x4A,0x75,0x6D,0x70,0x20,0x74,0x6F, + 0x20,0x74,0x72,0x61,0x63,0x6B,0x20,0x28,0x30,0x2E,0x2E,0x37, + 0x29,0x20,0x4D,0x4F,0x44,0x20,0x4E,0x2D,0x43,0x68,0x61,0x6E, + 0x6E,0x65,0x6C,0x73,0x2E,0x34,0x3E,0x41,0x6C,0x74,0x2B,0x41, + 0x2E,0x2E,0x4B,0x20,0x40,0x54,0x31,0x36,0x30,0x4A,0x75,0x6D, + 0x70,0x20,0x74,0x6F,0x20,0x74,0x72,0x61,0x63,0x6B,0x20,0x28, + 0x38,0x2E,0x2E,0x31,0x35,0x29,0x20,0x4D,0x4F,0x44,0x20,0x4E, + 0x2D,0x43,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x2E,0x00,0x19, + 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x43,0x75, + 0x74,0x2F,0x43,0x6F,0x70,0x79,0x2F,0x50,0x61,0x73,0x74,0x65, + 0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30, + 0x32,0x34,0x44,0x65,0x6C,0x65,0x74,0x65,0x20,0x20,0x40,0x54, + 0x31,0x36,0x30,0x44,0x65,0x6C,0x65,0x74,0x65,0x20,0x6E,0x6F, + 0x74,0x65,0x20,0x6F,0x72,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65, + 0x20,0x63,0x6F,0x6C,0x75,0x6D,0x6E,0x20,0x61,0x74,0x20,0x63, + 0x75,0x72,0x73,0x6F,0x72,0x2E,0x39,0x3E,0x53,0x68,0x2B,0x44, + 0x65,0x6C,0x65,0x74,0x65,0x20,0x40,0x54,0x31,0x36,0x30,0x44, + 0x65,0x6C,0x65,0x74,0x65,0x20,0x6E,0x6F,0x74,0x65,0x2C,0x20, + 0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x61,0x6E,0x64,0x20,0x65, + 0x66,0x66,0x65,0x63,0x74,0x20,0x61,0x74,0x20,0x63,0x75,0x72, + 0x73,0x6F,0x72,0x2E,0x35,0x3E,0x43,0x74,0x72,0x6C,0x2B,0x44, + 0x65,0x6C,0x65,0x74,0x65,0x20,0x40,0x54,0x31,0x36,0x30,0x44, + 0x65,0x6C,0x65,0x74,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65, + 0x20,0x61,0x6E,0x64,0x20,0x65,0x66,0x66,0x65,0x63,0x74,0x20, + 0x61,0x74,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x2E,0x29,0x3E, + 0x41,0x6C,0x74,0x2B,0x44,0x65,0x6C,0x65,0x74,0x65,0x20,0x40, + 0x54,0x31,0x36,0x30,0x44,0x65,0x6C,0x65,0x74,0x65,0x20,0x65, + 0x66,0x66,0x65,0x63,0x74,0x20,0x61,0x74,0x20,0x63,0x75,0x72, + 0x73,0x6F,0x72,0x2E,0x24,0x3E,0x49,0x6E,0x73,0x65,0x72,0x74, + 0x20,0x20,0x40,0x54,0x31,0x36,0x30,0x49,0x6E,0x73,0x65,0x72, + 0x74,0x20,0x6E,0x6F,0x74,0x65,0x20,0x61,0x74,0x20,0x63,0x75, + 0x72,0x73,0x6F,0x72,0x2E,0x27,0x3E,0x53,0x68,0x2B,0x49,0x6E, + 0x73,0x65,0x72,0x74,0x20,0x20,0x40,0x54,0x31,0x36,0x30,0x49, + 0x6E,0x73,0x65,0x72,0x74,0x20,0x6C,0x69,0x6E,0x65,0x20,0x61, + 0x74,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x2E,0x25,0x3E,0x42, + 0x61,0x63,0x6B,0x73,0x70,0x61,0x63,0x65,0x20,0x40,0x54,0x31, + 0x36,0x30,0x44,0x65,0x6C,0x65,0x74,0x65,0x20,0x70,0x72,0x65, + 0x76,0x69,0x6F,0x75,0x73,0x20,0x6E,0x6F,0x74,0x65,0x2E,0x28, + 0x3E,0x53,0x68,0x2B,0x42,0x61,0x63,0x6B,0x73,0x70,0x61,0x63, + 0x65,0x20,0x40,0x54,0x31,0x36,0x30,0x44,0x65,0x6C,0x65,0x74, + 0x65,0x20,0x70,0x72,0x65,0x76,0x69,0x6F,0x75,0x73,0x20,0x6C, + 0x69,0x6E,0x65,0x2E,0x1C,0x3E,0x41,0x6C,0x74,0x2B,0x43,0x75, + 0x72,0x73,0x6F,0x72,0x20,0x40,0x54,0x31,0x36,0x30,0x4D,0x61, + 0x72,0x6B,0x20,0x62,0x6C,0x6F,0x63,0x6B,0x2E,0x16,0x3E,0x53, + 0x68,0x2B,0x46,0x33,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x75, + 0x74,0x20,0x74,0x72,0x61,0x63,0x6B,0x2E,0x17,0x3E,0x53,0x68, + 0x2B,0x46,0x34,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x6F,0x70, + 0x79,0x20,0x74,0x72,0x61,0x63,0x6B,0x2E,0x18,0x3E,0x53,0x68, + 0x2B,0x46,0x35,0x20,0x40,0x54,0x31,0x36,0x30,0x50,0x61,0x73, + 0x74,0x65,0x20,0x74,0x72,0x61,0x63,0x6B,0x2E,0x1A,0x3E,0x43, + 0x74,0x72,0x6C,0x2B,0x46,0x33,0x20,0x40,0x54,0x31,0x36,0x30, + 0x43,0x75,0x74,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x2E, + 0x1B,0x3E,0x43,0x74,0x72,0x6C,0x2B,0x46,0x34,0x20,0x40,0x54, + 0x31,0x36,0x30,0x43,0x6F,0x70,0x79,0x20,0x70,0x61,0x74,0x74, + 0x65,0x72,0x6E,0x2E,0x1C,0x3E,0x43,0x74,0x72,0x6C,0x2B,0x46, + 0x35,0x20,0x40,0x54,0x31,0x36,0x30,0x50,0x61,0x73,0x74,0x65, + 0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x2E,0x17,0x3E,0x41, + 0x6C,0x74,0x2B,0x46,0x33,0x20,0x40,0x54,0x31,0x36,0x30,0x43, + 0x75,0x74,0x20,0x62,0x6C,0x6F,0x63,0x6B,0x2E,0x18,0x3E,0x41, + 0x6C,0x74,0x2B,0x46,0x34,0x20,0x40,0x54,0x31,0x36,0x30,0x43, + 0x6F,0x70,0x79,0x20,0x62,0x6C,0x6F,0x63,0x6B,0x2E,0x19,0x3E, + 0x41,0x6C,0x74,0x2B,0x46,0x35,0x20,0x40,0x54,0x31,0x36,0x30, + 0x50,0x61,0x73,0x74,0x65,0x20,0x62,0x6C,0x6F,0x63,0x6B,0x2E, + 0x20,0x3E,0x41,0x6C,0x74,0x2B,0x43,0x20,0x20,0x40,0x54,0x31, + 0x36,0x30,0x4D,0x61,0x72,0x6B,0x20,0x63,0x75,0x72,0x72,0x65, + 0x6E,0x74,0x20,0x74,0x72,0x61,0x63,0x6B,0x2E,0x00,0x18,0x40, + 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x4D,0x69,0x73, + 0x63,0x65,0x6C,0x6C,0x61,0x6E,0x65,0x6F,0x75,0x73,0x3A,0x0B, + 0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x1C, + 0x52,0x69,0x67,0x68,0x74,0x20,0x63,0x74,0x72,0x6C,0x2E,0x20, + 0x20,0x40,0x54,0x31,0x36,0x30,0x50,0x6C,0x61,0x79,0x20,0x73, + 0x6F,0x6E,0x67,0x2E,0x1D,0x3E,0x41,0x6C,0x74,0x20,0x47,0x72, + 0x20,0x20,0x20,0x20,0x40,0x54,0x31,0x36,0x30,0x50,0x6C,0x61, + 0x79,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x2E,0x22,0x3E, + 0x52,0x69,0x67,0x68,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x20, + 0x20,0x40,0x54,0x31,0x36,0x30,0x52,0x65,0x63,0x6F,0x72,0x64, + 0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x2E,0x19,0x3E,0x53, + 0x70,0x61,0x63,0x65,0x20,0x20,0x20,0x20,0x40,0x54,0x31,0x36, + 0x30,0x53,0x74,0x6F,0x70,0x2F,0x45,0x64,0x69,0x74,0x2E,0x1B, + 0x3E,0x46,0x31,0x2E,0x2E,0x46,0x37,0x20,0x40,0x54,0x31,0x36, + 0x30,0x53,0x65,0x6C,0x65,0x63,0x74,0x20,0x6F,0x63,0x74,0x61, + 0x76,0x65,0x2E,0x27,0x3E,0x4B,0x65,0x79,0x20,0x62,0x65,0x6C, + 0x6F,0x77,0x20,0x45,0x73,0x63,0x20,0x40,0x54,0x31,0x36,0x30, + 0x49,0x6E,0x63,0x72,0x65,0x61,0x73,0x65,0x20,0x63,0x75,0x72, + 0x73,0x6F,0x72,0x61,0x64,0x64,0x2E,0x22,0x3E,0x53,0x68,0x2B, + 0x28,0x31,0x2F,0x32,0x29,0x20,0x40,0x54,0x31,0x36,0x30,0x44, + 0x65,0x63,0x72,0x65,0x61,0x73,0x65,0x20,0x63,0x75,0x72,0x73, + 0x6F,0x72,0x61,0x64,0x64,0x2E,0x23,0x3E,0x43,0x61,0x70,0x73, + 0x4C,0x6F,0x63,0x6B,0x20,0x40,0x54,0x31,0x36,0x30,0x45,0x6E, + 0x74,0x65,0x72,0x20,0x4B,0x65,0x79,0x6F,0x66,0x66,0x2D,0x22, + 0x6E,0x6F,0x74,0x65,0x22,0x2E,0x25,0x3E,0x53,0x68,0x2B,0x4C, + 0x65,0x66,0x74,0x20,0x40,0x54,0x31,0x36,0x30,0x49,0x6E,0x63, + 0x72,0x65,0x61,0x73,0x65,0x20,0x73,0x6F,0x6E,0x67,0x20,0x70, + 0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x2E,0x26,0x3E,0x53,0x68, + 0x2B,0x52,0x69,0x67,0x68,0x74,0x20,0x40,0x54,0x31,0x36,0x30, + 0x44,0x65,0x63,0x72,0x65,0x61,0x73,0x65,0x20,0x73,0x6F,0x6E, + 0x67,0x20,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F,0x6E,0x2E,0x28, + 0x3E,0x43,0x74,0x72,0x6C,0x2B,0x4C,0x65,0x66,0x74,0x20,0x40, + 0x54,0x31,0x36,0x30,0x49,0x6E,0x63,0x72,0x65,0x61,0x73,0x65, + 0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x6E,0x75,0x6D, + 0x62,0x65,0x72,0x2E,0x29,0x3E,0x43,0x74,0x72,0x6C,0x2B,0x52, + 0x69,0x67,0x68,0x74,0x20,0x40,0x54,0x31,0x36,0x30,0x44,0x65, + 0x63,0x72,0x65,0x61,0x73,0x65,0x20,0x70,0x61,0x74,0x74,0x65, + 0x72,0x6E,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x2E,0x00,0x1B, + 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x57,0x69, + 0x6E,0x64,0x6F,0x77,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x69, + 0x6E,0x67,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, + 0x30,0x30,0x32,0x05,0x43,0x74,0x72,0x6C,0x2B,0x16,0x3E,0x41, + 0x20,0x40,0x54,0x31,0x36,0x30,0x41,0x64,0x76,0x61,0x6E,0x63, + 0x65,0x64,0x20,0x65,0x64,0x69,0x74,0x2E,0x0E,0x3E,0x42,0x20, + 0x40,0x54,0x31,0x36,0x30,0x41,0x62,0x6F,0x75,0x74,0x2E,0x16, + 0x3E,0x43,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x6F,0x6E,0x66, + 0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x2E,0x18,0x3E, + 0x44,0x20,0x40,0x54,0x31,0x36,0x30,0x44,0x69,0x73,0x6B,0x20, + 0x6F,0x70,0x65,0x72,0x61,0x74,0x69,0x6F,0x6E,0x73,0x2E,0x20, + 0x3E,0x45,0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x61,0x6D,0x70, + 0x6C,0x65,0x20,0x65,0x64,0x69,0x74,0x6F,0x72,0x20,0x65,0x78, + 0x74,0x65,0x6E,0x73,0x69,0x6F,0x6E,0x2E,0x0D,0x3E,0x48,0x20, + 0x40,0x54,0x31,0x36,0x30,0x48,0x65,0x6C,0x70,0x2E,0x1A,0x3E, + 0x49,0x20,0x40,0x54,0x31,0x36,0x30,0x49,0x6E,0x73,0x74,0x72, + 0x75,0x6D,0x65,0x6E,0x74,0x20,0x65,0x64,0x69,0x74,0x6F,0x72, + 0x2E,0x2B,0x3E,0x4D,0x20,0x40,0x54,0x31,0x36,0x30,0x49,0x6E, + 0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x65,0x64,0x69, + 0x74,0x6F,0x72,0x20,0x65,0x78,0x74,0x65,0x6E,0x73,0x69,0x6F, + 0x6E,0x2E,0x20,0x28,0x4D,0x49,0x44,0x49,0x29,0x10,0x3E,0x4E, + 0x20,0x40,0x54,0x31,0x36,0x30,0x4E,0x69,0x62,0x62,0x6C,0x65, + 0x73,0x2E,0x10,0x3E,0x50,0x20,0x40,0x54,0x31,0x36,0x30,0x50, + 0x61,0x74,0x74,0x65,0x72,0x6E,0x2E,0x0D,0x3E,0x52,0x20,0x40, + 0x54,0x31,0x36,0x30,0x54,0x72,0x69,0x6D,0x2E,0x16,0x3E,0x53, + 0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x61,0x6D,0x70,0x6C,0x65, + 0x20,0x65,0x64,0x69,0x74,0x6F,0x72,0x2E,0x12,0x3E,0x54,0x20, + 0x40,0x54,0x31,0x36,0x30,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F, + 0x73,0x65,0x2E,0x23,0x3E,0x58,0x20,0x40,0x54,0x31,0x36,0x30, + 0x4D,0x61,0x69,0x6E,0x20,0x73,0x63,0x72,0x65,0x65,0x6E,0x2E, + 0x20,0x28,0x61,0x6C,0x6D,0x6F,0x73,0x74,0x20,0x61,0x6C,0x74, + 0x2B,0x58,0x29,0x27,0x3E,0x5A,0x20,0x40,0x54,0x31,0x36,0x30, + 0x46,0x75,0x6C,0x6C,0x20,0x73,0x63,0x72,0x65,0x65,0x6E,0x20, + 0x65,0x64,0x69,0x74,0x2E,0x20,0x28,0x5A,0x20,0x66,0x6F,0x72, + 0x20,0x73,0x69,0x5A,0x65,0x3F,0x29,0x19,0x3E,0x31,0x20,0x40, + 0x54,0x31,0x36,0x30,0x43,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72, + 0x61,0x74,0x69,0x6F,0x6E,0x20,0x23,0x31,0x2E,0x19,0x3E,0x32, + 0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x6F,0x6E,0x66,0x69,0x67, + 0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x23,0x32,0x2E,0x19, + 0x3E,0x33,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x6F,0x6E,0x66, + 0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x23,0x33, + 0x2E,0x19,0x3E,0x34,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x6F, + 0x6E,0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20, + 0x23,0x34,0x2E,0x00,0x2D,0x40,0x58,0x30,0x34,0x30,0x40,0x43, + 0x30,0x30,0x31,0x49,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E, + 0x74,0x20,0x73,0x65,0x6C,0x65,0x63,0x74,0x20,0x28,0x4E,0x75, + 0x6D,0x65,0x72,0x69,0x63,0x20,0x6B,0x65,0x79,0x70,0x61,0x64, + 0x29,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, + 0x30,0x32,0x28,0x54,0x6F,0x70,0x20,0x34,0x20,0x6B,0x65,0x79, + 0x73,0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x65,0x6C,0x65,0x63, + 0x74,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74, + 0x20,0x62,0x6C,0x6F,0x63,0x6B,0x2E,0x32,0x3E,0x27,0x2B,0x27, + 0x20,0x2B,0x54,0x6F,0x70,0x20,0x34,0x20,0x6B,0x65,0x79,0x73, + 0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x65,0x6C,0x65,0x63,0x74, + 0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x20, + 0x62,0x6C,0x6F,0x63,0x6B,0x20,0x2B,0x20,0x34,0x2E,0x23,0x3E, + 0x45,0x6E,0x74,0x65,0x72,0x20,0x40,0x54,0x31,0x36,0x30,0x53, + 0x65,0x6C,0x65,0x63,0x74,0x20,0x69,0x6E,0x73,0x74,0x72,0x75, + 0x6D,0x65,0x6E,0x74,0x20,0x62,0x61,0x6E,0x6B,0x2E,0x1D,0x3E, + 0x30,0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x65,0x6C,0x65,0x63, + 0x74,0x20,0x6E,0x6F,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D, + 0x65,0x6E,0x74,0x2E,0x26,0x3E,0x31,0x2E,0x2E,0x38,0x20,0x40, + 0x54,0x31,0x36,0x30,0x53,0x65,0x6C,0x65,0x63,0x74,0x20,0x69, + 0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x69,0x6E, + 0x20,0x62,0x6C,0x6F,0x63,0x6B,0x2E,0x19,0x3E,0x2C,0x20,0x40, + 0x54,0x31,0x36,0x30,0x43,0x6C,0x65,0x61,0x72,0x20,0x69,0x6E, + 0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x18,0x3E,0x53, + 0x68,0x2B,0x2C,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x6C,0x65, + 0x61,0x72,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x27,0x3E, + 0x53,0x68,0x2B,0x55,0x70,0x20,0x40,0x54,0x31,0x36,0x30,0x53, + 0x65,0x6C,0x65,0x63,0x74,0x20,0x70,0x72,0x65,0x76,0x69,0x6F, + 0x75,0x73,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E, + 0x74,0x2E,0x25,0x3E,0x53,0x68,0x2B,0x44,0x6F,0x77,0x6E,0x20, + 0x40,0x54,0x31,0x36,0x30,0x53,0x65,0x6C,0x65,0x63,0x74,0x20, + 0x6E,0x65,0x78,0x74,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D, + 0x65,0x6E,0x74,0x2E,0x00,0x1F,0x40,0x58,0x30,0x34,0x30,0x40, + 0x43,0x30,0x30,0x31,0x43,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x2F, + 0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x6D,0x61,0x63,0x72,0x6F, + 0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30, + 0x32,0x2D,0x41,0x6C,0x74,0x2B,0x31,0x2E,0x2E,0x30,0x20,0x40, + 0x54,0x31,0x36,0x30,0x57,0x72,0x69,0x74,0x65,0x20,0x63,0x6F, + 0x6D,0x6D,0x61,0x6E,0x64,0x2F,0x76,0x6F,0x6C,0x75,0x6D,0x65, + 0x20,0x61,0x74,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x2E,0x30, + 0x3E,0x53,0x68,0x2B,0x41,0x6C,0x74,0x2B,0x31,0x2E,0x2E,0x30, + 0x20,0x40,0x54,0x31,0x36,0x30,0x52,0x65,0x61,0x64,0x20,0x63, + 0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x2F,0x76,0x6F,0x6C,0x75,0x6D, + 0x65,0x20,0x61,0x74,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x2E, + 0x00,0x1C,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31, + 0x53,0x63,0x61,0x6C,0x65,0x2D,0x66,0x61,0x64,0x65,0x20,0x76, + 0x6F,0x6C,0x75,0x6D,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36, + 0x30,0x40,0x43,0x30,0x30,0x32,0x25,0x53,0x68,0x2B,0x56,0x20, + 0x40,0x54,0x31,0x36,0x30,0x53,0x63,0x61,0x6C,0x65,0x2D,0x66, + 0x61,0x64,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x69, + 0x6E,0x20,0x74,0x72,0x61,0x63,0x6B,0x2E,0x2A,0x3E,0x43,0x74, + 0x72,0x6C,0x2B,0x56,0x20,0x40,0x54,0x31,0x36,0x30,0x53,0x63, + 0x61,0x6C,0x65,0x2D,0x66,0x61,0x64,0x65,0x20,0x76,0x6F,0x6C, + 0x75,0x6D,0x65,0x20,0x69,0x6E,0x20,0x70,0x61,0x74,0x74,0x65, + 0x72,0x6E,0x2E,0x27,0x3E,0x41,0x6C,0x74,0x2B,0x56,0x20,0x40, + 0x54,0x31,0x36,0x30,0x53,0x63,0x61,0x6C,0x65,0x2D,0x66,0x61, + 0x64,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x69,0x6E, + 0x20,0x62,0x6C,0x6F,0x63,0x6B,0x2E,0x00,0x14,0x40,0x58,0x30, + 0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x54,0x72,0x61,0x6E,0x73, + 0x70,0x6F,0x73,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30, + 0x40,0x43,0x30,0x30,0x32,0x36,0x53,0x68,0x2B,0x46,0x37,0x20, + 0x40,0x54,0x31,0x36,0x30,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F, + 0x73,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x69, + 0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x69,0x6E, + 0x20,0x74,0x72,0x61,0x63,0x6B,0x20,0x64,0x6F,0x77,0x6E,0x2E, + 0x35,0x3E,0x53,0x68,0x2B,0x46,0x38,0x20,0x40,0x54,0x31,0x36, + 0x30,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x73,0x65,0x20,0x63, + 0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x69,0x6E,0x73,0x74,0x72, + 0x75,0x6D,0x65,0x6E,0x74,0x20,0x69,0x6E,0x20,0x74,0x72,0x61, + 0x63,0x6B,0x20,0x75,0x70,0x2E,0x3B,0x3E,0x43,0x74,0x72,0x6C, + 0x2B,0x46,0x37,0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x72,0x61, + 0x6E,0x73,0x70,0x6F,0x73,0x65,0x20,0x63,0x75,0x72,0x72,0x65, + 0x6E,0x74,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E, + 0x74,0x20,0x69,0x6E,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E, + 0x20,0x64,0x6F,0x77,0x6E,0x2E,0x39,0x3E,0x43,0x74,0x72,0x6C, + 0x2B,0x46,0x38,0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x72,0x61, + 0x6E,0x73,0x70,0x6F,0x73,0x65,0x20,0x63,0x75,0x72,0x72,0x65, + 0x6E,0x74,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E, + 0x74,0x20,0x69,0x6E,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E, + 0x20,0x75,0x70,0x2E,0x38,0x3E,0x41,0x6C,0x74,0x2B,0x46,0x37, + 0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x72,0x61,0x6E,0x73,0x70, + 0x6F,0x73,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20, + 0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x69, + 0x6E,0x20,0x62,0x6C,0x6F,0x63,0x6B,0x20,0x64,0x6F,0x77,0x6E, + 0x2E,0x36,0x3E,0x41,0x6C,0x74,0x2B,0x46,0x38,0x20,0x40,0x54, + 0x31,0x36,0x30,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x73,0x65, + 0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x69,0x6E,0x73, + 0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x69,0x6E,0x20,0x62, + 0x6C,0x6F,0x63,0x6B,0x20,0x75,0x70,0x2E,0x34,0x3E,0x53,0x68, + 0x2B,0x46,0x31,0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x72,0x61, + 0x6E,0x73,0x70,0x6F,0x73,0x65,0x20,0x61,0x6C,0x6C,0x20,0x69, + 0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x73,0x20,0x69, + 0x6E,0x20,0x74,0x72,0x61,0x63,0x6B,0x20,0x64,0x6F,0x77,0x6E, + 0x2E,0x32,0x3E,0x53,0x68,0x2B,0x46,0x32,0x20,0x40,0x54,0x31, + 0x36,0x30,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x73,0x65,0x20, + 0x61,0x6C,0x6C,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65, + 0x6E,0x74,0x73,0x20,0x69,0x6E,0x20,0x74,0x72,0x61,0x63,0x6B, + 0x20,0x75,0x70,0x2E,0x38,0x3E,0x43,0x74,0x72,0x6C,0x2B,0x46, + 0x31,0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x72,0x61,0x6E,0x73, + 0x70,0x6F,0x73,0x65,0x20,0x61,0x6C,0x6C,0x20,0x69,0x6E,0x73, + 0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x73,0x20,0x69,0x6E,0x20, + 0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x64,0x6F,0x77,0x6E, + 0x2E,0x36,0x3E,0x43,0x74,0x72,0x6C,0x2B,0x46,0x32,0x20,0x40, + 0x54,0x31,0x36,0x30,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x73, + 0x65,0x20,0x61,0x6C,0x6C,0x20,0x69,0x6E,0x73,0x74,0x72,0x75, + 0x6D,0x65,0x6E,0x74,0x73,0x20,0x69,0x6E,0x20,0x70,0x61,0x74, + 0x74,0x65,0x72,0x6E,0x20,0x75,0x70,0x2E,0x35,0x3E,0x41,0x6C, + 0x74,0x2B,0x46,0x31,0x20,0x40,0x54,0x31,0x36,0x30,0x54,0x72, + 0x61,0x6E,0x73,0x70,0x6F,0x73,0x65,0x20,0x61,0x6C,0x6C,0x20, + 0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x73,0x20, + 0x69,0x6E,0x20,0x62,0x6C,0x6F,0x63,0x6B,0x20,0x64,0x6F,0x77, + 0x6E,0x2E,0x33,0x3E,0x41,0x6C,0x74,0x2B,0x46,0x32,0x20,0x40, + 0x54,0x31,0x36,0x30,0x54,0x72,0x61,0x6E,0x73,0x70,0x6F,0x73, + 0x65,0x20,0x61,0x6C,0x6C,0x20,0x69,0x6E,0x73,0x74,0x72,0x75, + 0x6D,0x65,0x6E,0x74,0x73,0x20,0x69,0x6E,0x20,0x62,0x6C,0x6F, + 0x63,0x6B,0x20,0x75,0x70,0x2E,0x01,0x3E,0x18,0x40,0x58,0x30, + 0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x61,0x6D,0x70,0x6C, + 0x65,0x20,0x65,0x64,0x69,0x74,0x6F,0x72,0x3A,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x1A,0x41,0x6C, + 0x74,0x2F,0x43,0x74,0x72,0x6C,0x2B,0x41,0x20,0x40,0x54,0x31, + 0x36,0x30,0x52,0x61,0x6E,0x67,0x65,0x20,0x61,0x6C,0x6C,0x2E, + 0x17,0x3E,0x41,0x6C,0x74,0x2B,0x53,0x20,0x40,0x54,0x31,0x36, + 0x30,0x53,0x68,0x6F,0x77,0x20,0x72,0x61,0x6E,0x67,0x65,0x2E, + 0x15,0x3E,0x41,0x6C,0x74,0x2B,0x5A,0x20,0x40,0x54,0x31,0x36, + 0x30,0x5A,0x6F,0x6F,0x6D,0x20,0x6F,0x75,0x74,0x2E,0x1A,0x3E, + 0x41,0x6C,0x74,0x2B,0x58,0x20,0x6F,0x72,0x20,0x44,0x65,0x6C, + 0x65,0x74,0x65,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x75,0x74, + 0x2E,0x16,0x3E,0x41,0x6C,0x74,0x2F,0x43,0x74,0x72,0x6C,0x2B, + 0x43,0x20,0x40,0x54,0x31,0x36,0x30,0x43,0x6F,0x70,0x79,0x2E, + 0x17,0x3E,0x41,0x6C,0x74,0x2F,0x43,0x74,0x72,0x6C,0x2B,0x56, + 0x20,0x40,0x54,0x31,0x36,0x30,0x50,0x61,0x73,0x74,0x65,0x2E, + 0x11,0x3E,0x41,0x6C,0x74,0x2B,0x52,0x20,0x40,0x54,0x31,0x36, + 0x30,0x43,0x72,0x6F,0x70,0x2E,0x2A,0x3E,0x4D,0x6F,0x75,0x73, + 0x65,0x20,0x77,0x68,0x65,0x65,0x6C,0x20,0x40,0x54,0x31,0x36, + 0x30,0x5A,0x6F,0x6F,0x6D,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65, + 0x20,0x64,0x61,0x74,0x61,0x20,0x69,0x6E,0x2F,0x6F,0x75,0x74, + 0x2E,0x00,0x03,0x45,0x4E,0x44,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x4C, + 0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x1C,0x40,0x4C,0x48,0x6F,0x77,0x20,0x74, + 0x6F,0x20,0x75,0x73,0x65,0x20,0x46,0x61,0x73,0x74,0x74,0x72, + 0x61,0x63,0x6B,0x65,0x72,0x20,0x32,0x2E,0x30,0x0B,0x3E,0x40, + 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x32,0x40,0x3E,0x41, + 0x6C,0x6C,0x20,0x22,0x6E,0x6F,0x74,0x2D,0x74,0x6F,0x6F,0x2D, + 0x74,0x72,0x69,0x76,0x69,0x61,0x6C,0x22,0x20,0x66,0x75,0x6E, + 0x63,0x74,0x69,0x6F,0x6E,0x73,0x20,0x61,0x72,0x65,0x20,0x70, + 0x72,0x65,0x73,0x65,0x6E,0x74,0x65,0x64,0x20,0x62,0x65,0x6C, + 0x6F,0x77,0x20,0x28,0x6F,0x72,0x64,0x65,0x72,0x65,0x64,0x20, + 0x69,0x6E,0x22,0x77,0x69,0x6E,0x64,0x6F,0x77,0x73,0x29,0x20, + 0x77,0x69,0x74,0x68,0x20,0x61,0x20,0x73,0x68,0x6F,0x72,0x74, + 0x20,0x64,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6F,0x6E, + 0x2E,0x00,0x17,0x3E,0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30, + 0x30,0x31,0x4D,0x61,0x69,0x6E,0x20,0x73,0x63,0x72,0x65,0x65, + 0x6E,0x3A,0x01,0x3E,0x22,0x3E,0x40,0x58,0x30,0x34,0x30,0x40, + 0x43,0x30,0x30,0x31,0x42,0x50,0x4D,0x20,0x28,0x42,0x65,0x61, + 0x74,0x73,0x20,0x70,0x65,0x72,0x20,0x6D,0x69,0x6E,0x75,0x74, + 0x65,0x29,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, + 0x30,0x30,0x32,0x40,0x54,0x68,0x65,0x20,0x42,0x50,0x4D,0x20, + 0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x64,0x65,0x66,0x69, + 0x6E,0x65,0x73,0x20,0x68,0x6F,0x77,0x20,0x66,0x61,0x73,0x74, + 0x20,0x28,0x74,0x69,0x63,0x6B,0x73,0x2F,0x73,0x65,0x63,0x6F, + 0x6E,0x64,0x29,0x20,0x74,0x68,0x65,0x20,0x6D,0x75,0x73,0x69, + 0x63,0x20,0x70,0x6C,0x61,0x79,0x65,0x72,0x1C,0x77,0x69,0x6C, + 0x6C,0x20,0x72,0x75,0x6E,0x2E,0x20,0x31,0x32,0x35,0x20,0x42, + 0x50,0x4D,0x20,0x3C,0x2D,0x3E,0x20,0x35,0x30,0x20,0x48,0x7A, + 0x2E,0x28,0x3E,0x4E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66, + 0x20,0x70,0x6C,0x61,0x79,0x65,0x72,0x20,0x74,0x69,0x63,0x6B, + 0x73,0x2F,0x73,0x65,0x63,0x6F,0x6E,0x64,0x20,0x3D,0x20,0x42, + 0x50,0x4D,0x2A,0x32,0x2F,0x35,0x00,0x16,0x3E,0x40,0x58,0x30, + 0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x70,0x64,0x2C,0x20, + 0x53,0x70,0x65,0x65,0x64,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36, + 0x30,0x40,0x43,0x30,0x30,0x32,0x2C,0x53,0x70,0x65,0x65,0x64, + 0x20,0x3D,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x20,0x6F,0x66, + 0x20,0x70,0x6C,0x61,0x79,0x65,0x72,0x20,0x74,0x69,0x63,0x6B, + 0x73,0x2F,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x6C,0x69, + 0x6E,0x65,0x2E,0x00,0x0F,0x3E,0x40,0x58,0x30,0x34,0x30,0x40, + 0x43,0x30,0x30,0x31,0x41,0x64,0x64,0x3A,0x0B,0x3E,0x40,0x58, + 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3E,0x22,0x41,0x64, + 0x64,0x22,0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x20,0x6E,0x75, + 0x6D,0x62,0x65,0x72,0x20,0x6F,0x66,0x20,0x70,0x61,0x74,0x74, + 0x65,0x72,0x6E,0x20,0x6C,0x69,0x6E,0x65,0x73,0x20,0x74,0x68, + 0x65,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x20,0x6A,0x75,0x6D, + 0x70,0x73,0x20,0x77,0x68,0x65,0x6E,0x20,0x79,0x6F,0x75,0x0C, + 0x65,0x64,0x69,0x74,0x20,0x61,0x20,0x6E,0x6F,0x74,0x65,0x2E, + 0x00,0x0F,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, + 0x31,0x50,0x74,0x6E,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30, + 0x40,0x43,0x30,0x30,0x32,0x1B,0x54,0x68,0x65,0x20,0x63,0x75, + 0x72,0x72,0x65,0x6E,0x74,0x20,0x70,0x61,0x74,0x74,0x65,0x72, + 0x6E,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x2E,0x00,0x0E,0x3E, + 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x4C,0x6E, + 0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30, + 0x32,0x43,0x54,0x68,0x65,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72, + 0x20,0x6F,0x66,0x20,0x6C,0x69,0x6E,0x65,0x73,0x20,0x66,0x6F, + 0x72,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E, + 0x74,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x2E,0x20,0x55, + 0x70,0x20,0x74,0x6F,0x20,0x24,0x31,0x30,0x30,0x20,0x6C,0x69, + 0x6E,0x65,0x73,0x2E,0x20,0x4E,0x6F,0x74,0x65,0x40,0x74,0x68, + 0x61,0x74,0x20,0x46,0x54,0x32,0x20,0x77,0x6F,0x6E,0x27,0x74, + 0x20,0x77,0x61,0x72,0x6E,0x20,0x79,0x6F,0x75,0x20,0x69,0x66, + 0x20,0x79,0x6F,0x75,0x20,0x64,0x65,0x63,0x72,0x65,0x61,0x73, + 0x65,0x20,0x74,0x68,0x69,0x73,0x20,0x76,0x61,0x6C,0x75,0x65, + 0x2E,0x20,0x54,0x68,0x65,0x20,0x6E,0x6F,0x74,0x65,0x73,0x20, + 0x61,0x74,0x37,0x74,0x68,0x65,0x20,0x62,0x6F,0x74,0x74,0x6F, + 0x6D,0x20,0x6C,0x69,0x6E,0x65,0x20,0x77,0x69,0x6C,0x6C,0x20, + 0x62,0x65,0x20,0x74,0x68,0x72,0x6F,0x77,0x6E,0x20,0x6F,0x75, + 0x74,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x62,0x69,0x6E, + 0x61,0x72,0x79,0x20,0x73,0x70,0x61,0x63,0x65,0x2E,0x00,0x10, + 0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x45, + 0x78,0x70,0x64,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40, + 0x43,0x30,0x30,0x32,0x44,0x45,0x78,0x70,0x61,0x6E,0x64,0x20, + 0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x2E,0x20,0x49,0x6E,0x73, + 0x65,0x72,0x74,0x73,0x20,0x61,0x20,0x62,0x6C,0x61,0x6E,0x6B, + 0x20,0x6C,0x69,0x6E,0x65,0x20,0x61,0x66,0x74,0x65,0x72,0x20, + 0x65,0x61,0x63,0x68,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E, + 0x20,0x6C,0x69,0x6E,0x65,0x2E,0x20,0x55,0x73,0x65,0x66,0x75, + 0x6C,0x3C,0x69,0x66,0x20,0x79,0x6F,0x75,0x20,0x77,0x61,0x6E, + 0x74,0x20,0x74,0x6F,0x20,0x63,0x6F,0x6E,0x76,0x65,0x72,0x74, + 0x20,0x61,0x20,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x74, + 0x68,0x61,0x74,0x20,0x72,0x75,0x6E,0x73,0x20,0x69,0x6E,0x20, + 0x73,0x70,0x65,0x65,0x64,0x20,0x32,0x2A,0x78,0x20,0x74,0x6F, + 0x20,0x61,0x1D,0x70,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x74, + 0x68,0x61,0x74,0x20,0x72,0x75,0x6E,0x73,0x20,0x69,0x6E,0x20, + 0x73,0x70,0x65,0x65,0x64,0x20,0x78,0x2E,0x00,0x10,0x3E,0x40, + 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x68,0x6E, + 0x6B,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, + 0x30,0x32,0x2E,0x53,0x68,0x72,0x69,0x6E,0x6B,0x20,0x70,0x61, + 0x74,0x74,0x65,0x72,0x6E,0x2E,0x20,0x44,0x65,0x6C,0x65,0x74, + 0x65,0x73,0x20,0x61,0x6C,0x6C,0x20,0x6F,0x64,0x64,0x20,0x70, + 0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x6C,0x69,0x6E,0x65,0x73, + 0x2E,0x00,0x2A,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, + 0x30,0x31,0x54,0x68,0x65,0x20,0x69,0x6E,0x73,0x74,0x72,0x75, + 0x6D,0x65,0x6E,0x74,0x2F,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20, + 0x73,0x65,0x6C,0x65,0x63,0x74,0x6F,0x72,0x3A,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3A,0x54,0x68, + 0x65,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74, + 0x20,0x74,0x68,0x61,0x74,0x20,0x68,0x61,0x73,0x20,0x61,0x20, + 0x6D,0x61,0x72,0x6B,0x20,0x6F,0x6E,0x20,0x69,0x74,0x27,0x73, + 0x20,0x6E,0x61,0x6D,0x65,0x20,0x73,0x74,0x72,0x69,0x6E,0x67, + 0x2C,0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x17,0x64,0x65,0x73, + 0x74,0x69,0x6E,0x61,0x74,0x69,0x6F,0x6E,0x20,0x69,0x6E,0x73, + 0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x3D,0x3E,0x54,0x68, + 0x65,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74, + 0x20,0x74,0x68,0x61,0x74,0x20,0x68,0x61,0x73,0x20,0x61,0x20, + 0x6D,0x61,0x72,0x6B,0x20,0x6F,0x6E,0x20,0x69,0x74,0x27,0x73, + 0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x2C,0x20,0x69,0x73,0x20, + 0x74,0x68,0x65,0x20,0x73,0x6F,0x75,0x72,0x63,0x65,0x0B,0x69, + 0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x1F,0x3E, + 0x54,0x68,0x65,0x20,0x73,0x61,0x6D,0x65,0x20,0x67,0x6F,0x65, + 0x73,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x73,0x61, + 0x6D,0x70,0x6C,0x65,0x73,0x2E,0x42,0x3E,0x59,0x6F,0x75,0x20, + 0x63,0x68,0x61,0x6E,0x67,0x65,0x20,0x74,0x68,0x65,0x20,0x6E, + 0x61,0x6D,0x65,0x20,0x6F,0x6E,0x20,0x61,0x6E,0x20,0x69,0x6E, + 0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x2F,0x73,0x61,0x6D, + 0x70,0x6C,0x65,0x20,0x62,0x79,0x20,0x63,0x6C,0x69,0x63,0x6B, + 0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x72,0x69,0x67,0x68, + 0x74,0x07,0x62,0x75,0x74,0x74,0x6F,0x6E,0x2E,0x00,0x12,0x3E, + 0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x63, + 0x6F,0x70,0x65,0x73,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30, + 0x40,0x43,0x30,0x30,0x32,0x22,0x3E,0x4C,0x65,0x66,0x74,0x20, + 0x62,0x75,0x74,0x74,0x6F,0x6E,0x3A,0x20,0x54,0x75,0x72,0x6E, + 0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x6F,0x6E,0x2F, + 0x6F,0x66,0x66,0x2E,0x35,0x3E,0x52,0x69,0x67,0x68,0x74,0x20, + 0x62,0x75,0x74,0x74,0x6F,0x6E,0x3A,0x20,0x54,0x75,0x72,0x6E, + 0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x6D,0x75,0x6C, + 0x74,0x69,0x2D,0x72,0x65,0x63,0x6F,0x72,0x64,0x2F,0x65,0x64, + 0x69,0x74,0x20,0x6F,0x6E,0x2F,0x6F,0x66,0x66,0x2E,0x42,0x3E, + 0x4C,0x65,0x66,0x74,0x2B,0x72,0x69,0x67,0x68,0x74,0x20,0x62, + 0x75,0x74,0x74,0x6F,0x6E,0x3A,0x20,0x54,0x75,0x72,0x6E,0x20, + 0x61,0x6C,0x6C,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73, + 0x20,0x6F,0x66,0x66,0x20,0x65,0x78,0x63,0x65,0x70,0x74,0x20, + 0x74,0x68,0x65,0x20,0x73,0x65,0x6C,0x65,0x63,0x74,0x65,0x64, + 0x20,0x6F,0x6E,0x65,0x2E,0x00,0x1C,0x40,0x58,0x30,0x32,0x30, + 0x40,0x43,0x30,0x30,0x31,0x49,0x6E,0x73,0x74,0x72,0x75,0x6D, + 0x65,0x6E,0x74,0x20,0x45,0x64,0x69,0x74,0x6F,0x72,0x3A,0x01, + 0x3E,0x22,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, + 0x31,0x57,0x68,0x61,0x74,0x20,0x69,0x73,0x20,0x61,0x6E,0x20, + 0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x3F,0x3A, + 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, + 0x1E,0x41,0x20,0x46,0x61,0x73,0x74,0x74,0x72,0x61,0x63,0x6B, + 0x65,0x72,0x20,0x32,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D, + 0x65,0x6E,0x74,0x20,0x69,0x73,0x3A,0x15,0x3E,0x20,0x20,0x20, + 0x31,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x65,0x6E,0x76, + 0x65,0x6C,0x6F,0x70,0x65,0x16,0x3E,0x20,0x20,0x20,0x31,0x20, + 0x50,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x65,0x6E,0x76,0x65, + 0x6C,0x6F,0x70,0x65,0x1D,0x3E,0x20,0x20,0x20,0x31,0x20,0x41, + 0x75,0x74,0x6F,0x2D,0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20, + 0x64,0x65,0x66,0x69,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x13,0x3E, + 0x20,0x20,0x20,0x31,0x2E,0x2E,0x31,0x36,0x20,0x53,0x61,0x6D, + 0x70,0x6C,0x65,0x28,0x73,0x29,0x1F,0x3E,0x20,0x20,0x20,0x31, + 0x20,0x4B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64,0x20,0x73,0x70, + 0x6C,0x69,0x74,0x20,0x64,0x65,0x66,0x69,0x6E,0x69,0x74,0x69, + 0x6F,0x6E,0x15,0x3E,0x20,0x20,0x20,0x31,0x20,0x4D,0x49,0x44, + 0x49,0x20,0x64,0x65,0x66,0x69,0x6E,0x69,0x74,0x69,0x6F,0x6E, + 0x00,0x1B,0x3E,0x41,0x20,0x46,0x61,0x73,0x74,0x74,0x72,0x61, + 0x63,0x6B,0x65,0x72,0x20,0x32,0x20,0x73,0x61,0x6D,0x70,0x6C, + 0x65,0x20,0x69,0x73,0x3A,0x29,0x3E,0x20,0x20,0x20,0x31,0x20, + 0x56,0x6F,0x6C,0x75,0x6D,0x65,0x2F,0x50,0x61,0x6E,0x6E,0x69, + 0x6E,0x67,0x2F,0x46,0x69,0x6E,0x65,0x2D,0x74,0x75,0x6E,0x65, + 0x20,0x64,0x65,0x66,0x69,0x6E,0x69,0x74,0x69,0x6F,0x6E,0x14, + 0x3E,0x20,0x20,0x20,0x31,0x20,0x52,0x65,0x6C,0x61,0x74,0x69, + 0x76,0x65,0x20,0x74,0x6F,0x6E,0x65,0x2E,0x10,0x3E,0x20,0x20, + 0x20,0x31,0x20,0x57,0x61,0x76,0x65,0x20,0x66,0x6F,0x72,0x6D, + 0x2E,0x00,0x1F,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, + 0x30,0x31,0x54,0x68,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65, + 0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65,0x3A,0x0B,0x3E, + 0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x40,0x3E, + 0x41,0x6E,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E, + 0x74,0x27,0x73,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x69, + 0x73,0x20,0x64,0x65,0x66,0x69,0x6E,0x65,0x64,0x20,0x62,0x79, + 0x20,0x69,0x74,0x73,0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70, + 0x65,0x20,0x63,0x75,0x72,0x76,0x65,0x2E,0x20,0x49,0x66,0x20, + 0x74,0x68,0x65,0x3E,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65, + 0x6E,0x74,0x20,0x68,0x61,0x73,0x20,0x61,0x20,0x73,0x75,0x73, + 0x74,0x61,0x69,0x6E,0x20,0x70,0x6F,0x69,0x6E,0x74,0x2C,0x20, + 0x74,0x68,0x65,0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65, + 0x20,0x77,0x69,0x6C,0x6C,0x20,0x73,0x74,0x6F,0x70,0x20,0x61, + 0x74,0x20,0x74,0x68,0x61,0x74,0x42,0x70,0x6F,0x69,0x6E,0x74, + 0x20,0x75,0x6E,0x74,0x69,0x6C,0x20,0x61,0x20,0x6B,0x65,0x79, + 0x2D,0x6F,0x66,0x66,0x20,0x6E,0x6F,0x74,0x65,0x20,0x68,0x61, + 0x73,0x20,0x62,0x65,0x65,0x6E,0x20,0x70,0x6C,0x61,0x79,0x65, + 0x64,0x2E,0x20,0x57,0x68,0x65,0x6E,0x20,0x61,0x20,0x6B,0x65, + 0x79,0x2D,0x6F,0x66,0x66,0x20,0x6E,0x6F,0x74,0x65,0x20,0x69, + 0x73,0x1D,0x70,0x6C,0x61,0x79,0x65,0x64,0x2C,0x20,0x74,0x68, + 0x65,0x20,0x22,0x66,0x61,0x64,0x65,0x6F,0x75,0x74,0x22,0x20, + 0x62,0x65,0x67,0x69,0x6E,0x73,0x2E,0x44,0x3E,0x4F,0x6E,0x65, + 0x20,0x70,0x69,0x78,0x65,0x6C,0x20,0x69,0x6E,0x20,0x74,0x68, + 0x65,0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65,0x20,0x77, + 0x69,0x6E,0x64,0x6F,0x77,0x20,0x63,0x6F,0x72,0x72,0x65,0x73, + 0x70,0x6F,0x6E,0x64,0x73,0x20,0x74,0x6F,0x20,0x6F,0x6E,0x65, + 0x20,0x70,0x6C,0x61,0x79,0x65,0x72,0x2D,0x74,0x69,0x63,0x6B, + 0x2E,0x20,0x49,0x66,0x3C,0x74,0x68,0x65,0x20,0x42,0x50,0x4D, + 0x20,0x69,0x73,0x20,0x31,0x32,0x35,0x2C,0x20,0x79,0x6F,0x75, + 0x27,0x6C,0x6C,0x20,0x63,0x6F,0x6E,0x73,0x75,0x6D,0x65,0x20, + 0x35,0x30,0x20,0x70,0x69,0x78,0x65,0x6C,0x2F,0x73,0x65,0x63, + 0x6F,0x6E,0x64,0x2E,0x20,0x54,0x68,0x65,0x20,0x77,0x69,0x6E, + 0x64,0x6F,0x77,0x27,0x73,0x1A,0x22,0x73,0x69,0x7A,0x65,0x22, + 0x20,0x69,0x73,0x20,0x61,0x62,0x6F,0x75,0x74,0x20,0x36,0x20, + 0x73,0x65,0x63,0x6F,0x6E,0x64,0x73,0x2E,0x3E,0x3E,0x49,0x66, + 0x20,0x79,0x6F,0x75,0x20,0x70,0x72,0x65,0x73,0x73,0x20,0x74, + 0x68,0x65,0x20,0x72,0x69,0x67,0x68,0x74,0x20,0x6D,0x6F,0x75, + 0x73,0x65,0x20,0x62,0x75,0x74,0x74,0x6F,0x6E,0x20,0x61,0x74, + 0x20,0x74,0x68,0x65,0x20,0x70,0x72,0x65,0x64,0x65,0x66,0x69, + 0x6E,0x65,0x20,0x62,0x75,0x74,0x74,0x6F,0x6E,0x73,0x2C,0x3F, + 0x79,0x6F,0x75,0x27,0x6C,0x6C,0x20,0x73,0x74,0x6F,0x72,0x65, + 0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74, + 0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65,0x20,0x69,0x6E, + 0x74,0x6F,0x20,0x74,0x68,0x61,0x74,0x20,0x70,0x72,0x65,0x64, + 0x65,0x66,0x69,0x6E,0x65,0x20,0x63,0x65,0x6C,0x6C,0x2E,0x20, + 0x54,0x68,0x65,0x30,0x70,0x72,0x65,0x64,0x65,0x66,0x69,0x6E, + 0x65,0x73,0x20,0x61,0x72,0x65,0x20,0x73,0x74,0x6F,0x72,0x65, + 0x64,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x6E, + 0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x66, + 0x69,0x6C,0x65,0x2E,0x43,0x3E,0x50,0x72,0x65,0x64,0x65,0x66, + 0x69,0x6E,0x65,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x20,0x31, + 0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x20,0x64,0x65,0x66,0x61, + 0x75,0x6C,0x74,0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65, + 0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x6D,0x65,0x61,0x6E,0x73, + 0x20,0x74,0x68,0x61,0x74,0x20,0x69,0x66,0x20,0x79,0x6F,0x75, + 0x42,0x6C,0x6F,0x61,0x64,0x20,0x61,0x20,0x73,0x61,0x6D,0x70, + 0x6C,0x65,0x2C,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20, + 0x67,0x65,0x74,0x20,0x61,0x6C,0x6C,0x20,0x65,0x6E,0x76,0x65, + 0x6C,0x6F,0x70,0x65,0x20,0x69,0x6E,0x66,0x6F,0x72,0x6D,0x61, + 0x74,0x69,0x6F,0x6E,0x20,0x66,0x72,0x6F,0x6D,0x20,0x70,0x72, + 0x65,0x64,0x65,0x66,0x69,0x6E,0x65,0x20,0x6E,0x75,0x6D,0x62, + 0x65,0x72,0x20,0x31,0x2C,0x20,0x69,0x6E,0x63,0x6C,0x75,0x64, + 0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x76,0x69,0x62,0x72, + 0x61,0x74,0x6F,0x2E,0x42,0x3E,0x4E,0x6F,0x74,0x65,0x20,0x74, + 0x68,0x61,0x74,0x20,0x69,0x66,0x20,0x79,0x6F,0x75,0x20,0x74, + 0x75,0x72,0x6E,0x20,0x74,0x68,0x65,0x20,0x76,0x6F,0x6C,0x75, + 0x6D,0x65,0x2D,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65,0x20, + 0x6F,0x66,0x66,0x2C,0x20,0x79,0x6F,0x75,0x20,0x64,0x6F,0x6E, + 0x27,0x74,0x20,0x74,0x75,0x72,0x6E,0x20,0x74,0x68,0x65,0x0C, + 0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x6F,0x66,0x66,0x2E, + 0x00,0x20,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, + 0x31,0x54,0x68,0x65,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67, + 0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65,0x3A,0x0B,0x3E, + 0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x40,0x3E, + 0x53,0x61,0x6D,0x65,0x20,0x61,0x73,0x20,0x61,0x62,0x6F,0x76, + 0x65,0x2C,0x20,0x65,0x78,0x63,0x65,0x70,0x74,0x20,0x66,0x72, + 0x6F,0x6D,0x20,0x74,0x68,0x61,0x74,0x20,0x74,0x68,0x65,0x20, + 0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20,0x69,0x73,0x20,0x6E, + 0x6F,0x74,0x20,0x63,0x6F,0x6E,0x6E,0x65,0x63,0x74,0x65,0x64, + 0x20,0x74,0x6F,0x15,0x74,0x68,0x65,0x20,0x70,0x61,0x6E,0x6E, + 0x69,0x6E,0x67,0x20,0x65,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65, + 0x2E,0x00,0x10,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, + 0x30,0x31,0x54,0x75,0x6E,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30, + 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3F,0x3E,0x54,0x68,0x65, + 0x20,0x66,0x69,0x6E,0x65,0x2D,0x74,0x75,0x6E,0x65,0x20,0x72, + 0x65,0x73,0x6F,0x6C,0x75,0x74,0x69,0x6F,0x6E,0x20,0x68,0x61, + 0x73,0x20,0x62,0x65,0x65,0x6E,0x20,0x63,0x68,0x61,0x6E,0x67, + 0x65,0x64,0x20,0x66,0x72,0x6F,0x6D,0x20,0x61,0x20,0x73,0x69, + 0x67,0x6E,0x65,0x64,0x20,0x6E,0x69,0x62,0x62,0x6C,0x65,0x27, + 0x28,0x2D,0x38,0x2E,0x2E,0x2B,0x37,0x29,0x20,0x74,0x6F,0x20, + 0x61,0x20,0x73,0x69,0x67,0x6E,0x65,0x64,0x20,0x62,0x79,0x74, + 0x65,0x20,0x28,0x2D,0x31,0x32,0x38,0x2E,0x2E,0x2B,0x31,0x32, + 0x37,0x29,0x2E,0x00,0x13,0x3E,0x40,0x58,0x30,0x34,0x30,0x40, + 0x43,0x30,0x30,0x31,0x46,0x61,0x64,0x65,0x6F,0x75,0x74,0x3A, + 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, + 0x1B,0x3E,0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x74,0x68, + 0x65,0x20,0x66,0x61,0x64,0x65,0x6F,0x75,0x74,0x20,0x73,0x70, + 0x65,0x65,0x64,0x2E,0x00,0x19,0x3E,0x40,0x58,0x30,0x34,0x30, + 0x40,0x43,0x30,0x30,0x31,0x56,0x69,0x62,0x72,0x61,0x74,0x6F, + 0x20,0x73,0x77,0x65,0x65,0x70,0x3A,0x0B,0x3E,0x40,0x58,0x30, + 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3E,0x3E,0x54,0x68,0x69, + 0x73,0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x20,0x74,0x69,0x6D, + 0x65,0x20,0x28,0x69,0x6E,0x20,0x70,0x6C,0x61,0x79,0x65,0x72, + 0x20,0x74,0x69,0x63,0x6B,0x73,0x29,0x20,0x74,0x68,0x61,0x74, + 0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x79,0x70,0x61,0x73,0x73, + 0x20,0x75,0x6E,0x74,0x69,0x6C,0x20,0x74,0x68,0x65,0x2D,0x61, + 0x75,0x74,0x6F,0x2D,0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x20, + 0x77,0x69,0x6C,0x6C,0x20,0x72,0x65,0x61,0x63,0x68,0x20,0x69, + 0x74,0x27,0x73,0x20,0x66,0x69,0x6E,0x61,0x6C,0x20,0x61,0x6D, + 0x70,0x6C,0x69,0x74,0x75,0x64,0x65,0x2E,0x00,0x1E,0x3E,0x40, + 0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x54,0x68,0x65, + 0x20,0x70,0x69,0x61,0x6E,0x6F,0x20,0x6B,0x65,0x79,0x62,0x6F, + 0x61,0x72,0x64,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40, + 0x43,0x30,0x30,0x32,0x3F,0x3E,0x54,0x68,0x65,0x20,0x70,0x69, + 0x61,0x6E,0x6F,0x20,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64, + 0x20,0x64,0x65,0x66,0x69,0x6E,0x65,0x73,0x20,0x74,0x68,0x65, + 0x20,0x6B,0x65,0x79,0x20,0x73,0x70,0x6C,0x69,0x74,0x20,0x66, + 0x6F,0x72,0x20,0x61,0x6E,0x20,0x69,0x6E,0x73,0x74,0x72,0x75, + 0x6D,0x65,0x6E,0x74,0x2E,0x20,0x54,0x6F,0x3F,0x63,0x68,0x61, + 0x6E,0x67,0x65,0x20,0x74,0x68,0x65,0x20,0x6B,0x65,0x79,0x20, + 0x73,0x70,0x6C,0x69,0x74,0x2C,0x20,0x63,0x68,0x6F,0x6F,0x73, + 0x65,0x20,0x61,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x77, + 0x69,0x74,0x68,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x69,0x6E, + 0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x61,0x6E,0x64, + 0x1C,0x74,0x68,0x65,0x6E,0x20,0x22,0x64,0x72,0x61,0x77,0x22, + 0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x6B,0x65,0x79,0x62, + 0x6F,0x61,0x72,0x64,0x2E,0x42,0x3E,0x54,0x68,0x65,0x20,0x6E, + 0x6F,0x74,0x65,0x73,0x20,0x70,0x6C,0x61,0x79,0x65,0x64,0x20, + 0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72, + 0x72,0x65,0x6E,0x74,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D, + 0x65,0x6E,0x74,0x20,0x61,0x72,0x65,0x20,0x69,0x6E,0x64,0x69, + 0x63,0x61,0x74,0x65,0x64,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65, + 0x09,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64,0x2E,0x00,0x1A, + 0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x49, + 0x6D,0x70,0x6F,0x72,0x74,0x61,0x6E,0x74,0x20,0x6E,0x6F,0x74, + 0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, + 0x30,0x32,0x40,0x3E,0x54,0x68,0x65,0x20,0x76,0x6F,0x6C,0x75, + 0x6D,0x65,0x2C,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2C, + 0x20,0x74,0x75,0x6E,0x65,0x20,0x61,0x6E,0x64,0x20,0x72,0x65, + 0x6C,0x61,0x74,0x69,0x76,0x65,0x20,0x74,0x6F,0x6E,0x65,0x20, + 0x69,0x73,0x20,0x64,0x65,0x66,0x69,0x6E,0x65,0x64,0x20,0x66, + 0x6F,0x72,0x20,0x45,0x41,0x43,0x48,0x41,0x53,0x41,0x4D,0x50, + 0x4C,0x45,0x20,0x69,0x6E,0x20,0x61,0x6E,0x20,0x69,0x6E,0x73, + 0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x20,0x41,0x6C,0x6C, + 0x20,0x6F,0x74,0x68,0x65,0x72,0x20,0x69,0x6E,0x66,0x6F,0x72, + 0x6D,0x61,0x74,0x69,0x6F,0x6E,0x20,0x69,0x73,0x20,0x64,0x65, + 0x66,0x69,0x6E,0x65,0x64,0x20,0x66,0x6F,0x72,0x20,0x74,0x68, + 0x65,0x12,0x65,0x6E,0x74,0x69,0x72,0x65,0x20,0x69,0x6E,0x73, + 0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x2E,0x00,0x31,0x40,0x58, + 0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x31,0x49,0x6E,0x73,0x74, + 0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x45,0x64,0x69,0x74,0x6F, + 0x72,0x20,0x45,0x78,0x74,0x65,0x6E,0x73,0x69,0x6F,0x6E,0x3A, + 0x20,0x28,0x49,0x2E,0x45,0x2E,0x45,0x78,0x74,0x2E,0x29,0x01, + 0x3E,0x10,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, + 0x31,0x4D,0x49,0x44,0x49,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36, + 0x30,0x40,0x43,0x30,0x30,0x32,0x28,0x3E,0x27,0x70,0x2E,0x27, + 0x20,0x73,0x74,0x61,0x6E,0x64,0x73,0x20,0x66,0x6F,0x72,0x20, + 0x22,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x22,0x20,0x28,0x69, + 0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x29,0x2E,0x40, + 0x3E,0x53,0x65,0x76,0x65,0x72,0x61,0x6C,0x20,0x69,0x6E,0x73, + 0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x73,0x20,0x63,0x61,0x6E, + 0x20,0x68,0x61,0x76,0x65,0x20,0x74,0x68,0x65,0x20,0x73,0x61, + 0x6D,0x65,0x20,0x74,0x72,0x61,0x6E,0x73,0x6D,0x69,0x74,0x20, + 0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x62,0x75,0x74,0x20, + 0x77,0x69,0x74,0x68,0x33,0x64,0x69,0x66,0x66,0x65,0x72,0x65, + 0x6E,0x74,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x73,0x2E, + 0x20,0x46,0x54,0x32,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x73, + 0x20,0x74,0x68,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D, + 0x73,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x43,0x4D,0x49,0x44, + 0x49,0x2D,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x20,0x69, + 0x6E,0x73,0x74,0x61,0x6E,0x74,0x6C,0x79,0x20,0x64,0x75,0x72, + 0x69,0x6E,0x67,0x20,0x70,0x6C,0x61,0x79,0x20,0x69,0x66,0x20, + 0x64,0x69,0x66,0x66,0x65,0x72,0x65,0x6E,0x74,0x20,0x70,0x72, + 0x6F,0x67,0x72,0x61,0x6D,0x73,0x20,0x61,0x72,0x65,0x20,0x75, + 0x73,0x65,0x64,0x2E,0x3E,0x44,0x69,0x66,0x66,0x65,0x72,0x65, + 0x6E,0x74,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x73,0x20, + 0x63,0x61,0x6E,0x6E,0x6F,0x74,0x20,0x62,0x65,0x20,0x70,0x6C, + 0x61,0x79,0x65,0x64,0x20,0x61,0x74,0x20,0x74,0x68,0x65,0x20, + 0x73,0x61,0x6D,0x65,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C, + 0x20,0x61,0x74,0x20,0x74,0x68,0x65,0x11,0x73,0x61,0x6D,0x65, + 0x20,0x74,0x69,0x6D,0x65,0x20,0x74,0x68,0x6F,0x75,0x67,0x68, + 0x2E,0x44,0x3E,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x63,0x68, + 0x61,0x6E,0x67,0x65,0x20,0x74,0x68,0x69,0x73,0x20,0x76,0x61, + 0x6C,0x75,0x65,0x2C,0x20,0x74,0x68,0x65,0x20,0x70,0x72,0x6F, + 0x67,0x72,0x61,0x6D,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x20, + 0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x74,0x72,0x61,0x6E, + 0x73,0x6D,0x69,0x74,0x74,0x65,0x64,0x20,0x74,0x6F,0x1C,0x74, + 0x68,0x65,0x20,0x73,0x79,0x6E,0x74,0x68,0x65,0x73,0x69,0x7A, + 0x65,0x72,0x20,0x69,0x6D,0x6D,0x65,0x64,0x69,0x61,0x74,0x65, + 0x6C,0x79,0x2E,0x3E,0x3E,0x53,0x6F,0x6D,0x65,0x20,0x73,0x79, + 0x6E,0x74,0x68,0x65,0x73,0x69,0x7A,0x65,0x72,0x73,0x20,0x74, + 0x72,0x61,0x6E,0x73,0x6D,0x69,0x74,0x20,0x70,0x72,0x6F,0x67, + 0x72,0x61,0x6D,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x20,0x69, + 0x6E,0x66,0x6F,0x72,0x6D,0x61,0x74,0x69,0x6F,0x6E,0x2E,0x20, + 0x49,0x66,0x20,0x74,0x68,0x65,0x43,0x63,0x75,0x72,0x72,0x65, + 0x6E,0x74,0x20,0x69,0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E, + 0x74,0x20,0x69,0x6E,0x20,0x46,0x54,0x32,0x20,0x69,0x73,0x20, + 0x61,0x20,0x4D,0x49,0x44,0x49,0x2D,0x69,0x6E,0x73,0x74,0x72, + 0x2E,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x20,0x73, + 0x61,0x6D,0x65,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20, + 0x61,0x73,0x3F,0x74,0x68,0x65,0x20,0x72,0x65,0x63,0x65,0x69, + 0x76,0x65,0x64,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x20, + 0x63,0x68,0x61,0x6E,0x67,0x65,0x2C,0x20,0x69,0x74,0x27,0x73, + 0x20,0x4D,0x49,0x44,0x49,0x2D,0x70,0x72,0x6F,0x67,0x72,0x61, + 0x6D,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x63,0x68, + 0x61,0x6E,0x67,0x65,0x64,0x2E,0x40,0x3E,0x49,0x66,0x20,0x79, + 0x6F,0x75,0x72,0x20,0x73,0x79,0x6E,0x74,0x68,0x65,0x73,0x69, + 0x7A,0x65,0x72,0x20,0x64,0x6F,0x65,0x73,0x6E,0x27,0x74,0x20, + 0x74,0x72,0x61,0x6E,0x73,0x6D,0x69,0x74,0x20,0x70,0x72,0x6F, + 0x67,0x72,0x61,0x6D,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x2C, + 0x20,0x74,0x68,0x65,0x72,0x65,0x27,0x73,0x20,0x6E,0x6F,0x3E, + 0x70,0x6F,0x69,0x6E,0x74,0x20,0x69,0x6E,0x20,0x63,0x68,0x61, + 0x6E,0x67,0x69,0x6E,0x67,0x20,0x69,0x74,0x20,0x6F,0x6E,0x20, + 0x74,0x68,0x65,0x20,0x73,0x79,0x6E,0x74,0x68,0x65,0x73,0x69, + 0x7A,0x65,0x72,0x2C,0x20,0x64,0x6F,0x20,0x69,0x74,0x20,0x69, + 0x6E,0x20,0x46,0x54,0x32,0x20,0x69,0x6E,0x73,0x74,0x65,0x61, + 0x64,0x2E,0x00,0x18,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43, + 0x30,0x30,0x31,0x42,0x65,0x6E,0x64,0x65,0x72,0x20,0x72,0x61, + 0x6E,0x67,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40, + 0x43,0x30,0x30,0x32,0x38,0x3E,0x54,0x68,0x69,0x73,0x20,0x76, + 0x61,0x6C,0x75,0x65,0x20,0x64,0x65,0x66,0x69,0x6E,0x65,0x73, + 0x20,0x68,0x6F,0x77,0x20,0x6D,0x61,0x6E,0x79,0x20,0x6E,0x6F, + 0x74,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x69,0x6E,0x73,0x74, + 0x72,0x75,0x6D,0x65,0x6E,0x74,0x20,0x6F,0x6E,0x20,0x74,0x68, + 0x65,0x37,0x73,0x79,0x6E,0x74,0x68,0x65,0x73,0x69,0x7A,0x65, + 0x72,0x20,0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x70,0x69,0x74, + 0x63,0x68,0x62,0x65,0x6E,0x64,0x65,0x64,0x2E,0x20,0x46,0x54, + 0x32,0x20,0x75,0x73,0x65,0x73,0x20,0x74,0x68,0x69,0x73,0x20, + 0x76,0x61,0x6C,0x75,0x65,0x20,0x66,0x6F,0x72,0x37,0x74,0x72, + 0x61,0x6E,0x73,0x6D,0x69,0x74,0x74,0x69,0x6E,0x67,0x20,0x74, + 0x68,0x65,0x20,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74, + 0x6F,0x20,0x75,0x70,0x2F,0x64,0x6F,0x77,0x6E,0x20,0x61,0x6E, + 0x64,0x20,0x74,0x6F,0x6E,0x65,0x2D,0x70,0x6F,0x72,0x74,0x61, + 0x6D,0x65,0x6E,0x74,0x6F,0x13,0x63,0x6F,0x6D,0x6D,0x61,0x6E, + 0x64,0x73,0x20,0x63,0x6F,0x72,0x72,0x65,0x63,0x74,0x6C,0x79, + 0x2E,0x45,0x3E,0x54,0x68,0x65,0x20,0x4D,0x49,0x44,0x49,0x2D, + 0x70,0x69,0x74,0x63,0x68,0x62,0x65,0x6E,0x64,0x20,0x77,0x6F, + 0x72,0x6B,0x73,0x20,0x63,0x6F,0x72,0x72,0x65,0x63,0x74,0x6C, + 0x79,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x77,0x69,0x74,0x68,0x20, + 0x6C,0x69,0x6E,0x65,0x61,0x72,0x20,0x66,0x72,0x65,0x71,0x75, + 0x65,0x6E,0x63,0x79,0x20,0x74,0x61,0x62,0x6C,0x65,0x2E,0x00, + 0x18,0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x31,0x53, + 0x61,0x6D,0x70,0x6C,0x65,0x20,0x45,0x64,0x69,0x74,0x6F,0x72, + 0x3A,0x01,0x3E,0x2C,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43, + 0x30,0x30,0x31,0x50,0x6C,0x61,0x79,0x20,0x28,0x57,0x61,0x76, + 0x65,0x20,0x66,0x6F,0x72,0x6D,0x2C,0x20,0x72,0x61,0x6E,0x67, + 0x65,0x2C,0x20,0x64,0x69,0x73,0x70,0x6C,0x61,0x79,0x29,0x3A, + 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, + 0x3C,0x3E,0x50,0x6C,0x61,0x79,0x73,0x20,0x74,0x68,0x65,0x20, + 0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x73,0x61,0x6D,0x70, + 0x6C,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x6F,0x6E,0x65, + 0x20,0x64,0x69,0x73,0x70,0x6C,0x61,0x79,0x20,0x61,0x62,0x6F, + 0x76,0x65,0x20,0x74,0x68,0x65,0x20,0x22,0x73,0x74,0x6F,0x70, + 0x22,0x3D,0x62,0x75,0x74,0x74,0x6F,0x6E,0x2E,0x20,0x4E,0x6F, + 0x74,0x65,0x20,0x74,0x68,0x61,0x74,0x20,0x72,0x65,0x73,0x70, + 0x65,0x63,0x74,0x20,0x69,0x73,0x20,0x74,0x61,0x6B,0x65,0x6E, + 0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x70,0x61,0x72,0x74, + 0x69,0x63,0x75,0x6C,0x61,0x72,0x20,0x73,0x61,0x6D,0x70,0x6C, + 0x65,0x27,0x73,0x0E,0x72,0x65,0x6C,0x61,0x74,0x69,0x76,0x65, + 0x20,0x74,0x6F,0x6E,0x65,0x2E,0x00,0x16,0x3E,0x40,0x58,0x30, + 0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x53,0x61,0x76,0x65,0x20, + 0x72,0x61,0x6E,0x67,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36, + 0x30,0x40,0x43,0x30,0x30,0x32,0x3C,0x3E,0x53,0x74,0x6F,0x72, + 0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x72,0x61,0x6E,0x67,0x65, + 0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x20,0x69, + 0x6E,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E, + 0x74,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x64,0x69,0x72, + 0x65,0x63,0x74,0x6F,0x72,0x79,0x2E,0x00,0x11,0x3E,0x40,0x58, + 0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x50,0x61,0x73,0x74, + 0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, + 0x30,0x32,0x40,0x3E,0x54,0x68,0x65,0x20,0x73,0x61,0x6D,0x70, + 0x6C,0x65,0x20,0x64,0x61,0x74,0x61,0x20,0x69,0x6E,0x20,0x74, + 0x68,0x65,0x20,0x63,0x6F,0x70,0x79,0x20,0x62,0x75,0x66,0x66, + 0x65,0x72,0x20,0x69,0x73,0x20,0x73,0x74,0x6F,0x72,0x65,0x64, + 0x20,0x49,0x4E,0x54,0x4F,0x20,0x74,0x68,0x65,0x20,0x73,0x70, + 0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x06,0x72,0x61,0x6E,0x67, + 0x65,0x2E,0x00,0x10,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43, + 0x30,0x30,0x31,0x43,0x72,0x6F,0x70,0x3A,0x0B,0x3E,0x40,0x58, + 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3E,0x3E,0x43,0x75, + 0x74,0x73,0x20,0x65,0x76,0x65,0x72,0x79,0x74,0x68,0x69,0x6E, + 0x67,0x20,0x62,0x75,0x74,0x20,0x74,0x68,0x65,0x20,0x72,0x61, + 0x6E,0x67,0x65,0x2E,0x20,0x4E,0x6F,0x74,0x68,0x69,0x6E,0x67, + 0x20,0x69,0x73,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x64,0x20, + 0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x70,0x79,0x19, + 0x62,0x75,0x66,0x66,0x65,0x72,0x20,0x62,0x79,0x20,0x74,0x68, + 0x69,0x73,0x20,0x6F,0x70,0x65,0x72,0x61,0x74,0x69,0x6F,0x6E, + 0x2E,0x00,0x12,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, + 0x30,0x31,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x3A,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x17,0x3E,0x4F, + 0x70,0x65,0x72,0x61,0x74,0x65,0x73,0x20,0x6F,0x6E,0x20,0x74, + 0x68,0x65,0x20,0x72,0x61,0x6E,0x67,0x65,0x2E,0x00,0x12,0x3E, + 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x58,0x2D, + 0x46,0x61,0x64,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30, + 0x40,0x43,0x30,0x30,0x32,0x44,0x3E,0x54,0x68,0x69,0x73,0x20, + 0x69,0x73,0x20,0x61,0x20,0x74,0x6F,0x6F,0x6C,0x20,0x66,0x6F, + 0x72,0x20,0x6D,0x61,0x6B,0x69,0x6E,0x67,0x20,0x73,0x6D,0x6F, + 0x6F,0x74,0x68,0x20,0x6C,0x6F,0x6F,0x70,0x73,0x2E,0x20,0x53, + 0x70,0x65,0x63,0x69,0x66,0x79,0x20,0x61,0x20,0x72,0x61,0x6E, + 0x67,0x65,0x20,0x74,0x68,0x61,0x74,0x20,0x63,0x6F,0x76,0x65, + 0x72,0x73,0x41,0x74,0x68,0x65,0x20,0x66,0x69,0x72,0x73,0x74, + 0x20,0x6C,0x6F,0x6F,0x70,0x20,0x70,0x6F,0x69,0x6E,0x74,0x2E, + 0x20,0x4D,0x61,0x6B,0x65,0x20,0x73,0x75,0x72,0x65,0x20,0x74, + 0x68,0x61,0x74,0x20,0x74,0x68,0x65,0x72,0x65,0x20,0x69,0x73, + 0x20,0x61,0x73,0x20,0x6D,0x75,0x63,0x68,0x20,0x73,0x70,0x61, + 0x63,0x65,0x20,0x61,0x66,0x74,0x65,0x72,0x41,0x74,0x68,0x65, + 0x20,0x73,0x65,0x63,0x6F,0x6E,0x64,0x20,0x6C,0x6F,0x6F,0x70, + 0x20,0x70,0x6F,0x69,0x6E,0x74,0x20,0x61,0x73,0x20,0x74,0x68, + 0x65,0x20,0x72,0x61,0x6E,0x67,0x65,0x20,0x62,0x79,0x70,0x61, + 0x73,0x73,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x66,0x69,0x72, + 0x73,0x74,0x20,0x6C,0x6F,0x6F,0x70,0x20,0x70,0x6F,0x69,0x6E, + 0x74,0x2E,0x1F,0x50,0x72,0x65,0x73,0x73,0x20,0x74,0x68,0x65, + 0x20,0x58,0x2D,0x66,0x61,0x64,0x65,0x20,0x62,0x75,0x74,0x74, + 0x6F,0x6E,0x2E,0x20,0x45,0x6E,0x6A,0x6F,0x79,0x21,0x00,0x18, + 0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x38, + 0x2D,0x42,0x69,0x74,0x2F,0x31,0x36,0x2D,0x62,0x69,0x74,0x3A, + 0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32, + 0x42,0x3E,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x6C,0x6F,0x61, + 0x64,0x20,0x61,0x20,0x31,0x36,0x2D,0x62,0x69,0x74,0x20,0x73, + 0x61,0x6D,0x70,0x6C,0x65,0x20,0x77,0x69,0x74,0x68,0x6F,0x75, + 0x74,0x20,0x68,0x65,0x61,0x64,0x65,0x72,0x2C,0x20,0x46,0x54, + 0x32,0x20,0x61,0x73,0x73,0x75,0x6D,0x65,0x73,0x20,0x74,0x68, + 0x61,0x74,0x20,0x69,0x74,0x27,0x73,0x3E,0x61,0x6E,0x20,0x38, + 0x2D,0x62,0x69,0x74,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x2E, + 0x20,0x57,0x68,0x65,0x6E,0x20,0x70,0x72,0x65,0x73,0x73,0x69, + 0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x31,0x36,0x2D,0x62,0x69, + 0x74,0x20,0x62,0x75,0x74,0x74,0x6F,0x6E,0x2C,0x20,0x64,0x6F, + 0x20,0x6E,0x6F,0x74,0x20,0x70,0x72,0x65,0x73,0x73,0x23,0x22, + 0x63,0x6F,0x6E,0x76,0x65,0x72,0x74,0x22,0x20,0x77,0x68,0x65, + 0x6E,0x20,0x74,0x68,0x65,0x20,0x72,0x65,0x71,0x75,0x65,0x73, + 0x74,0x20,0x69,0x73,0x20,0x6D,0x61,0x64,0x65,0x2E,0x00,0x14, + 0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x4D, + 0x69,0x6E,0x69,0x6D,0x69,0x7A,0x65,0x3A,0x0B,0x3E,0x40,0x58, + 0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x44,0x3E,0x54,0x68, + 0x69,0x73,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x20, + 0x63,0x75,0x74,0x73,0x20,0x74,0x68,0x65,0x20,0x70,0x61,0x72, + 0x74,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6D, + 0x70,0x6C,0x65,0x20,0x74,0x68,0x61,0x74,0x20,0x69,0x73,0x20, + 0x62,0x65,0x79,0x6F,0x6E,0x64,0x20,0x74,0x68,0x65,0x20,0x73, + 0x65,0x63,0x6F,0x6E,0x64,0x0B,0x6C,0x6F,0x6F,0x70,0x20,0x70, + 0x6F,0x69,0x6E,0x74,0x2E,0x00,0x2D,0x40,0x58,0x30,0x32,0x30, + 0x40,0x43,0x30,0x30,0x31,0x53,0x61,0x6D,0x70,0x6C,0x65,0x20, + 0x45,0x64,0x69,0x74,0x6F,0x72,0x20,0x45,0x78,0x74,0x65,0x6E, + 0x73,0x69,0x6F,0x6E,0x3A,0x20,0x28,0x53,0x2E,0x45,0x2E,0x45, + 0x78,0x74,0x2E,0x29,0x01,0x3E,0x27,0x3E,0x40,0x58,0x30,0x34, + 0x30,0x40,0x43,0x30,0x30,0x31,0x43,0x6F,0x70,0x79,0x2F,0x58, + 0x63,0x68,0x67,0x20,0x53,0x61,0x6D,0x70,0x6C,0x65,0x2F,0x49, + 0x6E,0x73,0x74,0x72,0x75,0x6D,0x65,0x6E,0x74,0x3A,0x0B,0x3E, + 0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3C,0x3E, + 0x54,0x68,0x65,0x20,0x73,0x6F,0x75,0x72,0x63,0x65,0x20,0x69, + 0x73,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x65,0x64,0x20, + 0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x6C,0x69,0x6E,0x65,0x20, + 0x6E,0x75,0x6D,0x62,0x65,0x72,0x69,0x6E,0x67,0x20,0x63,0x6F, + 0x6C,0x75,0x6D,0x6E,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x40, + 0x69,0x6E,0x73,0x74,0x72,0x2E,0x2F,0x73,0x61,0x6D,0x70,0x6C, + 0x65,0x20,0x6C,0x69,0x73,0x74,0x73,0x20,0x69,0x6E,0x20,0x74, + 0x68,0x65,0x20,0x75,0x70,0x70,0x65,0x72,0x2D,0x72,0x69,0x67, + 0x68,0x74,0x20,0x63,0x6F,0x72,0x6E,0x65,0x72,0x20,0x6F,0x66, + 0x20,0x74,0x68,0x65,0x20,0x73,0x63,0x72,0x65,0x65,0x6E,0x2E, + 0x20,0x54,0x68,0x65,0x29,0x64,0x65,0x73,0x74,0x69,0x6E,0x61, + 0x74,0x69,0x6F,0x6E,0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x20, + 0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,0x69,0x6E,0x73,0x74, + 0x72,0x2E,0x2F,0x73,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x00,0x15, + 0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x42, + 0x61,0x63,0x6B,0x77,0x61,0x72,0x64,0x73,0x3A,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x40,0x3E,0x4F, + 0x70,0x65,0x72,0x61,0x74,0x65,0x73,0x20,0x6F,0x6E,0x20,0x74, + 0x68,0x65,0x20,0x72,0x61,0x6E,0x67,0x65,0x20,0x28,0x6F,0x72, + 0x20,0x74,0x68,0x65,0x20,0x77,0x68,0x6F,0x6C,0x65,0x20,0x73, + 0x61,0x6D,0x70,0x6C,0x65,0x20,0x69,0x66,0x20,0x6E,0x6F,0x20, + 0x72,0x61,0x6E,0x67,0x65,0x20,0x69,0x73,0x20,0x73,0x65,0x74, + 0x29,0x2E,0x00,0x13,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43, + 0x30,0x30,0x31,0x43,0x6F,0x6E,0x76,0x65,0x72,0x74,0x3A,0x0B, + 0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x34, + 0x3E,0x43,0x6F,0x6E,0x76,0x65,0x72,0x74,0x73,0x20,0x74,0x68, + 0x65,0x20,0x65,0x6E,0x74,0x69,0x72,0x65,0x20,0x73,0x61,0x6D, + 0x70,0x6C,0x65,0x20,0x66,0x72,0x6F,0x6D,0x2F,0x74,0x6F,0x20, + 0x73,0x69,0x67,0x6E,0x65,0x64,0x2F,0x75,0x6E,0x73,0x69,0x67, + 0x6E,0x65,0x64,0x2E,0x00,0x15,0x3E,0x40,0x58,0x30,0x34,0x30, + 0x40,0x43,0x30,0x30,0x31,0x43,0x6F,0x6E,0x76,0x65,0x72,0x74, + 0x20,0x57,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, + 0x30,0x30,0x32,0x3F,0x53,0x77,0x61,0x70,0x73,0x20,0x74,0x68, + 0x65,0x20,0x62,0x79,0x74,0x65,0x20,0x6F,0x72,0x64,0x65,0x72, + 0x20,0x74,0x6F,0x2F,0x66,0x72,0x6F,0x6D,0x20,0x49,0x6E,0x74, + 0x65,0x6C,0x20,0x66,0x72,0x6F,0x6D,0x2F,0x74,0x6F,0x20,0x4D, + 0x6F,0x74,0x6F,0x72,0x6F,0x6C,0x61,0x20,0x73,0x74,0x61,0x6E, + 0x64,0x61,0x72,0x64,0x20,0x6F,0x6E,0x12,0x74,0x68,0x65,0x20, + 0x65,0x6E,0x74,0x69,0x72,0x65,0x20,0x73,0x61,0x6D,0x70,0x6C, + 0x65,0x2E,0x44,0x59,0x6F,0x75,0x27,0x6C,0x6C,0x20,0x6E,0x65, + 0x65,0x64,0x20,0x74,0x68,0x69,0x73,0x20,0x66,0x75,0x6E,0x63, + 0x74,0x69,0x6F,0x6E,0x20,0x69,0x66,0x20,0x79,0x6F,0x75,0x20, + 0x69,0x6D,0x70,0x6F,0x72,0x74,0x20,0x31,0x36,0x2D,0x62,0x69, + 0x74,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x73,0x20,0x77,0x69, + 0x74,0x68,0x20,0x4D,0x6F,0x74,0x6F,0x72,0x6F,0x6C,0x61,0x2D, + 0x62,0x79,0x74,0x65,0x2D,0x6F,0x72,0x64,0x65,0x72,0x69,0x6E, + 0x67,0x20,0x28,0x66,0x2E,0x65,0x78,0x2E,0x20,0x4B,0x75,0x72, + 0x7A,0x77,0x65,0x69,0x6C,0x20,0x4B,0x32,0x30,0x30,0x30,0x20, + 0x73,0x61,0x6D,0x70,0x6C,0x65,0x73,0x2E,0x29,0x00,0x10,0x3E, + 0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x45,0x63, + 0x68,0x6F,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, + 0x30,0x30,0x32,0x1E,0x4F,0x70,0x65,0x72,0x61,0x74,0x65,0x73, + 0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x65,0x6E,0x74,0x69, + 0x72,0x65,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x00,0x12, + 0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x46, + 0x69,0x78,0x20,0x44,0x43,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36, + 0x30,0x40,0x43,0x30,0x30,0x32,0x3D,0x41,0x74,0x74,0x65,0x6D, + 0x70,0x74,0x73,0x20,0x74,0x6F,0x20,0x63,0x65,0x6E,0x74,0x65, + 0x72,0x20,0x61,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x74, + 0x68,0x61,0x74,0x20,0x68,0x61,0x73,0x20,0x75,0x6E,0x77,0x61, + 0x6E,0x74,0x65,0x64,0x20,0x44,0x43,0x20,0x6F,0x66,0x66,0x73, + 0x65,0x74,0x2F,0x62,0x69,0x61,0x73,0x2E,0x43,0x50,0x6C,0x65, + 0x61,0x73,0x65,0x20,0x6E,0x6F,0x74,0x65,0x20,0x74,0x68,0x61, + 0x74,0x20,0x69,0x74,0x20,0x69,0x73,0x20,0x75,0x73,0x69,0x6E, + 0x67,0x20,0x61,0x20,0x63,0x72,0x75,0x64,0x65,0x20,0x61,0x6C, + 0x67,0x6F,0x72,0x69,0x74,0x68,0x6D,0x2C,0x20,0x73,0x6F,0x20, + 0x69,0x74,0x20,0x63,0x61,0x6E,0x20,0x73,0x6F,0x6D,0x65,0x74, + 0x69,0x6D,0x65,0x73,0x22,0x66,0x61,0x69,0x6C,0x20,0x64,0x65, + 0x70,0x65,0x6E,0x64,0x69,0x6E,0x67,0x20,0x6F,0x6E,0x20,0x74, + 0x68,0x65,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x64,0x61, + 0x74,0x61,0x2E,0x00,0x14,0x3E,0x40,0x58,0x30,0x34,0x30,0x40, + 0x43,0x30,0x30,0x31,0x52,0x65,0x73,0x61,0x6D,0x70,0x6C,0x65, + 0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30, + 0x32,0x3C,0x4F,0x70,0x65,0x72,0x61,0x74,0x65,0x73,0x20,0x6F, + 0x6E,0x20,0x74,0x68,0x65,0x20,0x65,0x6E,0x74,0x69,0x72,0x65, + 0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x20,0x54,0x68,0x65, + 0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x27,0x73,0x20,0x72,0x65, + 0x6C,0x61,0x74,0x69,0x76,0x65,0x20,0x74,0x6F,0x6E,0x65,0x20, + 0x69,0x73,0x2C,0x63,0x68,0x61,0x6E,0x67,0x65,0x64,0x20,0x77, + 0x69,0x74,0x68,0x20,0x72,0x65,0x73,0x70,0x65,0x63,0x74,0x20, + 0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x72,0x65,0x73,0x61,0x6D, + 0x70,0x6C,0x69,0x6E,0x67,0x20,0x72,0x61,0x74,0x65,0x2E,0x00, + 0x16,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31, + 0x4D,0x69,0x78,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x3A,0x0B, + 0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x35, + 0x3E,0x4D,0x69,0x78,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x73, + 0x6F,0x75,0x72,0x63,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x74, + 0x68,0x65,0x20,0x64,0x65,0x73,0x74,0x69,0x6E,0x61,0x74,0x69, + 0x6F,0x6E,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x73,0x6F, + 0x75,0x72,0x63,0x65,0x2E,0x00,0x15,0x3E,0x40,0x58,0x30,0x34, + 0x30,0x40,0x43,0x30,0x30,0x31,0x44,0x72,0x61,0x77,0x20,0x6D, + 0x6F,0x64,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40, + 0x43,0x30,0x30,0x32,0x40,0x42,0x79,0x20,0x70,0x72,0x65,0x73, + 0x73,0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x72,0x69,0x67, + 0x68,0x74,0x20,0x6D,0x6F,0x75,0x73,0x65,0x20,0x62,0x75,0x74, + 0x74,0x6F,0x6E,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x73, + 0x61,0x6D,0x70,0x6C,0x65,0x20,0x77,0x69,0x6E,0x64,0x6F,0x77, + 0x2C,0x20,0x79,0x6F,0x75,0x20,0x63,0x61,0x6E,0x1E,0x64,0x72, + 0x61,0x77,0x20,0x79,0x6F,0x75,0x72,0x20,0x77,0x61,0x76,0x65, + 0x20,0x66,0x6F,0x72,0x6D,0x73,0x20,0x6D,0x61,0x6E,0x75,0x61, + 0x6C,0x6C,0x79,0x2E,0x00,0x18,0x40,0x58,0x30,0x32,0x30,0x40, + 0x43,0x30,0x30,0x31,0x43,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72, + 0x61,0x74,0x69,0x6F,0x6E,0x3A,0x01,0x3E,0x15,0x3E,0x40,0x58, + 0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x41,0x75,0x74,0x6F, + 0x20,0x73,0x61,0x76,0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36, + 0x30,0x40,0x43,0x30,0x30,0x32,0x43,0x49,0x66,0x20,0x74,0x68, + 0x65,0x20,0x61,0x75,0x74,0x6F,0x20,0x73,0x61,0x76,0x65,0x20, + 0x69,0x73,0x20,0x6F,0x6E,0x2C,0x20,0x46,0x54,0x32,0x20,0x77, + 0x69,0x6C,0x6C,0x20,0x75,0x70,0x64,0x61,0x74,0x65,0x20,0x74, + 0x68,0x65,0x20,0x63,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72,0x61, + 0x74,0x69,0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x20,0x77,0x68, + 0x65,0x6E,0x15,0x79,0x6F,0x75,0x20,0x65,0x78,0x69,0x74,0x20, + 0x74,0x68,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x2E, + 0x00,0x25,0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x31, + 0x43,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F, + 0x6E,0x2C,0x20,0x49,0x2F,0x4F,0x20,0x64,0x65,0x76,0x69,0x63, + 0x65,0x73,0x3A,0x01,0x3E,0x19,0x3E,0x40,0x58,0x30,0x34,0x30, + 0x40,0x43,0x30,0x30,0x31,0x49,0x6E,0x74,0x65,0x72,0x70,0x6F, + 0x6C,0x61,0x74,0x69,0x6F,0x6E,0x3A,0x0B,0x3E,0x40,0x58,0x30, + 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3C,0x54,0x68,0x65,0x20, + 0x6D,0x69,0x78,0x69,0x6E,0x67,0x20,0x72,0x6F,0x75,0x74,0x69, + 0x6E,0x65,0x20,0x69,0x6E,0x74,0x65,0x72,0x70,0x6F,0x6C,0x61, + 0x74,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6D,0x70, + 0x6C,0x65,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x62,0x65,0x74, + 0x77,0x65,0x65,0x6E,0x20,0x74,0x68,0x65,0x42,0x73,0x61,0x6D, + 0x70,0x6C,0x65,0x20,0x70,0x6F,0x69,0x6E,0x74,0x73,0x20,0x74, + 0x6F,0x20,0x72,0x65,0x6D,0x6F,0x76,0x65,0x20,0x75,0x6E,0x77, + 0x61,0x6E,0x74,0x65,0x64,0x20,0x6E,0x6F,0x69,0x73,0x65,0x20, + 0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x73,0x6F,0x75,0x6E,0x64, + 0x2E,0x20,0x52,0x65,0x61,0x6C,0x20,0x46,0x54,0x32,0x20,0x75, + 0x73,0x65,0x73,0x45,0x32,0x2D,0x74,0x61,0x70,0x20,0x6C,0x69, + 0x6E,0x65,0x61,0x72,0x20,0x69,0x6E,0x74,0x65,0x72,0x70,0x6F, + 0x6C,0x61,0x74,0x69,0x6F,0x6E,0x2C,0x20,0x77,0x68,0x69,0x6C, + 0x65,0x20,0x74,0x68,0x69,0x73,0x20,0x63,0x6C,0x6F,0x6E,0x65, + 0x20,0x75,0x73,0x65,0x73,0x20,0x34,0x2D,0x74,0x61,0x70,0x20, + 0x63,0x75,0x62,0x69,0x63,0x20,0x73,0x70,0x6C,0x69,0x6E,0x65, + 0x20,0x45,0x69,0x6E,0x74,0x65,0x72,0x70,0x6F,0x6C,0x61,0x74, + 0x69,0x6F,0x6E,0x20,0x66,0x6F,0x72,0x20,0x69,0x6D,0x70,0x72, + 0x6F,0x76,0x65,0x64,0x20,0x68,0x69,0x67,0x68,0x20,0x66,0x72, + 0x65,0x71,0x75,0x65,0x6E,0x63,0x69,0x65,0x73,0x2E,0x20,0x54, + 0x75,0x72,0x6E,0x69,0x6E,0x67,0x20,0x69,0x74,0x20,0x6F,0x66, + 0x66,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6D,0x61,0x6B,0x65,0x2F, + 0x74,0x68,0x65,0x20,0x61,0x75,0x64,0x69,0x6F,0x20,0x73,0x68, + 0x61,0x72,0x70,0x65,0x72,0x2C,0x20,0x62,0x75,0x74,0x20,0x69, + 0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x61,0x6C,0x73,0x6F,0x20, + 0x62,0x65,0x20,0x6E,0x6F,0x69,0x73,0x69,0x65,0x72,0x2E,0x00, + 0x1A,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31, + 0x56,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x72,0x61,0x6D,0x70,0x69, + 0x6E,0x67,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43, + 0x30,0x30,0x32,0x3B,0x45,0x6E,0x61,0x62,0x6C,0x65,0x73,0x20, + 0x74,0x68,0x65,0x20,0x61,0x6E,0x74,0x69,0x2D,0x63,0x6C,0x69, + 0x63,0x6B,0x20,0x73,0x79,0x73,0x74,0x65,0x6D,0x20,0x69,0x6E, + 0x20,0x74,0x68,0x65,0x20,0x61,0x75,0x64,0x69,0x6F,0x20,0x6D, + 0x69,0x78,0x65,0x72,0x20,0x28,0x46,0x54,0x32,0x2E,0x30,0x38, + 0x2B,0x29,0x2E,0x3B,0x50,0x6C,0x65,0x61,0x73,0x65,0x20,0x6E, + 0x6F,0x74,0x65,0x20,0x74,0x68,0x61,0x74,0x20,0x6F,0x72,0x69, + 0x67,0x69,0x6E,0x61,0x6C,0x20,0x46,0x54,0x32,0x20,0x63,0x61, + 0x6E,0x27,0x74,0x20,0x6C,0x6F,0x61,0x64,0x20,0x74,0x68,0x69, + 0x73,0x20,0x63,0x6F,0x6E,0x66,0x69,0x67,0x20,0x65,0x6E,0x74, + 0x72,0x79,0x2C,0x0B,0x63,0x6C,0x6F,0x6E,0x65,0x20,0x6F,0x6E, + 0x6C,0x79,0x2E,0x00,0x18,0x3E,0x40,0x58,0x30,0x34,0x30,0x40, + 0x43,0x30,0x30,0x31,0x31,0x2D,0x62,0x69,0x74,0x20,0x64,0x69, + 0x74,0x68,0x65,0x72,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30, + 0x40,0x43,0x30,0x30,0x32,0x21,0x57,0x6F,0x72,0x6B,0x73,0x20, + 0x66,0x6F,0x72,0x20,0x31,0x36,0x2D,0x62,0x69,0x74,0x20,0x61, + 0x75,0x64,0x69,0x6F,0x20,0x6D,0x6F,0x64,0x65,0x20,0x6F,0x6E, + 0x6C,0x79,0x2E,0x4E,0x41,0x70,0x70,0x6C,0x69,0x65,0x73,0x20, + 0x72,0x61,0x6E,0x64,0x6F,0x6D,0x20,0x73,0x63,0x61,0x6C,0x65, + 0x64,0x20,0x76,0x61,0x6C,0x75,0x65,0x73,0x20,0x74,0x6F,0x20, + 0x74,0x68,0x65,0x20,0x6D,0x69,0x78,0x65,0x64,0x20,0x73,0x61, + 0x6D,0x70,0x6C,0x65,0x73,0x20,0x62,0x65,0x66,0x6F,0x72,0x65, + 0x20,0x74,0x72,0x75,0x6E,0x63,0x61,0x74,0x69,0x6E,0x67,0x20, + 0x74,0x6F,0x20,0x31,0x36,0x2D,0x62,0x69,0x74,0x2E,0x46,0x54, + 0x68,0x69,0x73,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x69, + 0x6E,0x20,0x74,0x68,0x65,0x6F,0x72,0x79,0x20,0x6C,0x6F,0x77, + 0x65,0x72,0x20,0x74,0x68,0x65,0x20,0x71,0x75,0x61,0x6E,0x74, + 0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x6E,0x6F,0x69,0x73, + 0x65,0x2E,0x20,0x31,0x36,0x2D,0x62,0x69,0x74,0x20,0x61,0x6C, + 0x72,0x65,0x61,0x64,0x79,0x20,0x68,0x61,0x73,0x46,0x61,0x20, + 0x70,0x72,0x65,0x74,0x74,0x79,0x20,0x6C,0x6F,0x77,0x20,0x6E, + 0x6F,0x69,0x73,0x65,0x20,0x66,0x6C,0x6F,0x6F,0x72,0x2C,0x20, + 0x73,0x6F,0x20,0x64,0x6F,0x6E,0x27,0x74,0x20,0x65,0x78,0x70, + 0x65,0x63,0x74,0x20,0x61,0x6E,0x79,0x20,0x61,0x75,0x64,0x69, + 0x62,0x6C,0x65,0x20,0x64,0x69,0x66,0x66,0x65,0x72,0x65,0x6E, + 0x63,0x65,0x20,0x68,0x65,0x72,0x65,0x2E,0x1F,0x41,0x6C,0x73, + 0x6F,0x20,0x61,0x70,0x70,0x6C,0x69,0x65,0x73,0x20,0x66,0x6F, + 0x72,0x20,0x57,0x41,0x56,0x20,0x72,0x65,0x6E,0x64,0x65,0x72, + 0x69,0x6E,0x67,0x2E,0x00,0x19,0x3E,0x40,0x58,0x30,0x34,0x30, + 0x40,0x43,0x30,0x30,0x31,0x41,0x6D,0x70,0x6C,0x69,0x66,0x69, + 0x63,0x61,0x74,0x69,0x6F,0x6E,0x3A,0x0B,0x3E,0x40,0x58,0x30, + 0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x46,0x41,0x6D,0x70,0x6C, + 0x69,0x66,0x69,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x76,0x6F, + 0x6C,0x75,0x6D,0x65,0x20,0x77,0x68,0x65,0x6E,0x20,0x6D,0x69, + 0x78,0x69,0x6E,0x67,0x2E,0x20,0x49,0x66,0x20,0x79,0x6F,0x75, + 0x20,0x73,0x65,0x74,0x20,0x74,0x68,0x69,0x73,0x20,0x6F,0x6E, + 0x65,0x20,0x74,0x6F,0x6F,0x20,0x68,0x69,0x67,0x68,0x2C,0x20, + 0x79,0x6F,0x75,0x27,0x6C,0x6C,0x3A,0x67,0x65,0x74,0x20,0x64, + 0x69,0x73,0x74,0x6F,0x72,0x74,0x69,0x6F,0x6E,0x2E,0x20,0x33, + 0x32,0x58,0x20,0x65,0x71,0x75,0x61,0x6C,0x73,0x20,0x66,0x75, + 0x6C,0x6C,0x20,0x61,0x6D,0x70,0x6C,0x69,0x74,0x75,0x64,0x65, + 0x20,0x66,0x6F,0x72,0x20,0x6F,0x6E,0x65,0x20,0x63,0x68,0x61, + 0x6E,0x6E,0x65,0x6C,0x2E,0x00,0x1B,0x3E,0x40,0x58,0x30,0x34, + 0x30,0x40,0x43,0x30,0x30,0x31,0x46,0x72,0x65,0x71,0x75,0x65, + 0x6E,0x63,0x79,0x20,0x74,0x61,0x62,0x6C,0x65,0x3A,0x0B,0x3E, + 0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x40,0x54, + 0x68,0x65,0x20,0x6C,0x69,0x6E,0x65,0x61,0x72,0x20,0x66,0x72, + 0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x74,0x61,0x62,0x6C, + 0x65,0x20,0x6D,0x61,0x6B,0x65,0x73,0x20,0x61,0x6C,0x6C,0x20, + 0x70,0x69,0x74,0x63,0x68,0x20,0x62,0x65,0x6E,0x64,0x73,0x20, + 0x72,0x75,0x6E,0x20,0x69,0x6E,0x20,0x63,0x6F,0x6E,0x73,0x74, + 0x61,0x6E,0x74,0x3F,0x73,0x70,0x65,0x65,0x64,0x2C,0x20,0x69, + 0x6E,0x64,0x65,0x70,0x65,0x6E,0x64,0x65,0x6E,0x74,0x20,0x6F, + 0x66,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E, + 0x74,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x2E, + 0x20,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x73,0x77,0x69,0x74, + 0x63,0x68,0x20,0x74,0x68,0x69,0x73,0x41,0x6F,0x6E,0x65,0x2C, + 0x20,0x6F,0x6E,0x20,0x61,0x20,0x66,0x69,0x6E,0x69,0x73,0x68, + 0x65,0x64,0x20,0x73,0x6F,0x6E,0x67,0x2C,0x20,0x69,0x74,0x20, + 0x6D,0x69,0x67,0x68,0x74,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20, + 0x73,0x74,0x72,0x61,0x6E,0x67,0x65,0x20,0x69,0x66,0x20,0x74, + 0x68,0x65,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x75,0x73,0x65, + 0x73,0x0D,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F, + 0x65,0x73,0x2E,0x00,0x20,0x40,0x58,0x30,0x32,0x30,0x40,0x43, + 0x30,0x30,0x31,0x43,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72,0x61, + 0x74,0x69,0x6F,0x6E,0x2C,0x20,0x4C,0x61,0x79,0x6F,0x75,0x74, + 0x3A,0x01,0x3E,0x29,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43, + 0x30,0x30,0x31,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x6C, + 0x61,0x79,0x6F,0x75,0x74,0x2C,0x20,0x68,0x65,0x78,0x20,0x6E, + 0x75,0x6D,0x62,0x65,0x72,0x69,0x6E,0x67,0x3A,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x41,0x49,0x66, + 0x20,0x79,0x6F,0x75,0x20,0x75,0x73,0x65,0x20,0x70,0x61,0x74, + 0x74,0x65,0x72,0x6E,0x73,0x20,0x74,0x68,0x61,0x74,0x20,0x61, + 0x72,0x65,0x20,0x6C,0x6F,0x6E,0x67,0x65,0x72,0x20,0x74,0x68, + 0x61,0x6E,0x20,0x39,0x39,0x20,0x6C,0x69,0x6E,0x65,0x73,0x2C, + 0x20,0x79,0x6F,0x75,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20, + 0x75,0x73,0x65,0x45,0x68,0x65,0x78,0x20,0x63,0x6F,0x75,0x6E, + 0x74,0x69,0x6E,0x67,0x20,0x73,0x69,0x6E,0x63,0x65,0x20,0x74, + 0x68,0x65,0x72,0x65,0x20,0x61,0x72,0x65,0x20,0x6F,0x6E,0x6C, + 0x79,0x20,0x32,0x20,0x64,0x69,0x67,0x69,0x74,0x73,0x20,0x69, + 0x6E,0x20,0x74,0x68,0x65,0x20,0x6C,0x69,0x6E,0x65,0x20,0x6E, + 0x75,0x6D,0x62,0x65,0x72,0x20,0x63,0x6F,0x6C,0x75,0x6D,0x6E, + 0x2E,0x00,0x17,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30, + 0x30,0x31,0x53,0x63,0x6F,0x70,0x65,0x20,0x73,0x74,0x79,0x6C, + 0x65,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, + 0x30,0x32,0x43,0x22,0x4F,0x72,0x69,0x67,0x69,0x6E,0x61,0x6C, + 0x22,0x20,0x77,0x69,0x6C,0x6C,0x20,0x73,0x68,0x6F,0x77,0x20, + 0x74,0x68,0x65,0x20,0x70,0x6F,0x69,0x6E,0x74,0x73,0x20,0x69, + 0x6E,0x20,0x74,0x68,0x65,0x20,0x73,0x63,0x6F,0x70,0x65,0x73, + 0x20,0x61,0x73,0x20,0x70,0x69,0x78,0x65,0x6C,0x73,0x20,0x28, + 0x6C,0x69,0x6B,0x65,0x20,0x46,0x54,0x32,0x29,0x2E,0x41,0x22, + 0x4C,0x69,0x6E,0x65,0x64,0x22,0x20,0x77,0x69,0x6C,0x6C,0x20, + 0x64,0x72,0x61,0x77,0x20,0x6C,0x69,0x6E,0x65,0x73,0x20,0x62, + 0x65,0x74,0x77,0x65,0x65,0x6E,0x20,0x74,0x68,0x65,0x20,0x70, + 0x6F,0x69,0x6E,0x74,0x73,0x2C,0x20,0x6C,0x69,0x6B,0x65,0x20, + 0x61,0x6E,0x20,0x6F,0x73,0x63,0x69,0x6C,0x6C,0x6F,0x73,0x63, + 0x6F,0x70,0x65,0x2E,0x00,0x27,0x40,0x58,0x30,0x32,0x30,0x40, + 0x43,0x30,0x30,0x31,0x43,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72, + 0x61,0x74,0x69,0x6F,0x6E,0x2C,0x20,0x4D,0x69,0x73,0x63,0x65, + 0x6C,0x6C,0x61,0x6E,0x65,0x6F,0x75,0x73,0x3A,0x01,0x3E,0x15, + 0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x56, + 0x53,0x79,0x6E,0x63,0x20,0x6F,0x66,0x66,0x3A,0x0B,0x3E,0x40, + 0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x3F,0x54,0x65, + 0x6C,0x6C,0x73,0x20,0x74,0x68,0x65,0x20,0x70,0x72,0x6F,0x67, + 0x72,0x61,0x6D,0x20,0x74,0x6F,0x20,0x6E,0x6F,0x74,0x20,0x75, + 0x73,0x65,0x20,0x56,0x53,0x79,0x6E,0x63,0x20,0x66,0x6F,0x72, + 0x20,0x76,0x69,0x64,0x65,0x6F,0x2E,0x20,0x49,0x66,0x20,0x79, + 0x6F,0x75,0x72,0x20,0x6D,0x6F,0x6E,0x69,0x74,0x6F,0x72,0x27, + 0x73,0x40,0x72,0x65,0x66,0x72,0x65,0x73,0x68,0x20,0x72,0x61, + 0x74,0x65,0x20,0x69,0x73,0x20,0x6E,0x6F,0x74,0x20,0x36,0x30, + 0x48,0x7A,0x20,0x28,0x6F,0x72,0x20,0x35,0x39,0x48,0x7A,0x29, + 0x2C,0x20,0x74,0x68,0x65,0x6E,0x20,0x56,0x53,0x79,0x6E,0x63, + 0x20,0x69,0x73,0x20,0x61,0x6C,0x77,0x61,0x79,0x73,0x20,0x6F, + 0x66,0x66,0x20,0x66,0x6F,0x72,0x45,0x74,0x68,0x69,0x73,0x20, + 0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x2E,0x20,0x4E,0x6F,0x74, + 0x20,0x68,0x61,0x76,0x69,0x6E,0x67,0x20,0x56,0x53,0x79,0x6E, + 0x63,0x20,0x77,0x69,0x6C,0x6C,0x20,0x72,0x65,0x73,0x75,0x6C, + 0x74,0x20,0x69,0x6E,0x20,0x6C,0x65,0x73,0x73,0x20,0x69,0x6E, + 0x70,0x75,0x74,0x2F,0x76,0x69,0x64,0x65,0x6F,0x20,0x64,0x65, + 0x6C,0x61,0x79,0x2C,0x1E,0x62,0x75,0x74,0x20,0x61,0x6C,0x73, + 0x6F,0x20,0x70,0x6F,0x74,0x65,0x6E,0x74,0x69,0x61,0x6C,0x20, + 0x73,0x74,0x75,0x74,0x74,0x65,0x72,0x69,0x6E,0x67,0x2E,0x01, + 0x20,0x18,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30, + 0x31,0x50,0x69,0x78,0x65,0x6C,0x20,0x66,0x69,0x6C,0x74,0x65, + 0x72,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30, + 0x30,0x32,0x43,0x41,0x70,0x70,0x6C,0x69,0x65,0x73,0x20,0x61, + 0x20,0x73,0x75,0x62,0x70,0x69,0x78,0x65,0x6C,0x20,0x66,0x69, + 0x6C,0x74,0x65,0x72,0x20,0x74,0x68,0x61,0x74,0x20,0x69,0x73, + 0x20,0x75,0x73,0x65,0x64,0x20,0x77,0x68,0x65,0x6E,0x20,0x74, + 0x68,0x65,0x20,0x77,0x69,0x6E,0x64,0x6F,0x77,0x20,0x69,0x73, + 0x20,0x75,0x70,0x73,0x63,0x61,0x6C,0x65,0x64,0x2E,0x43,0x54, + 0x68,0x69,0x73,0x20,0x61,0x6C,0x73,0x6F,0x20,0x6D,0x61,0x6B, + 0x65,0x73,0x20,0x66,0x75,0x6C,0x6C,0x73,0x63,0x72,0x65,0x65, + 0x6E,0x20,0x6D,0x6F,0x64,0x65,0x20,0x63,0x6F,0x6D,0x70,0x6C, + 0x65,0x74,0x65,0x6C,0x79,0x20,0x73,0x74,0x72,0x65,0x74,0x63, + 0x68,0x20,0x6F,0x75,0x74,0x20,0x69,0x66,0x20,0x69,0x74,0x20, + 0x64,0x69,0x64,0x6E,0x27,0x74,0x44,0x61,0x6C,0x72,0x65,0x61, + 0x64,0x79,0x2E,0x20,0x50,0x6C,0x65,0x61,0x73,0x65,0x20,0x6B, + 0x65,0x65,0x70,0x20,0x69,0x6E,0x20,0x6D,0x69,0x6E,0x64,0x20, + 0x74,0x68,0x61,0x74,0x20,0x74,0x68,0x69,0x73,0x20,0x77,0x69, + 0x6C,0x6C,0x20,0x6D,0x61,0x6B,0x65,0x20,0x70,0x69,0x78,0x65, + 0x6C,0x73,0x20,0x6C,0x6F,0x6F,0x6B,0x20,0x62,0x6C,0x75,0x72, + 0x72,0x79,0x2E,0x00,0x23,0x40,0x58,0x30,0x32,0x30,0x40,0x43, + 0x30,0x30,0x31,0x41,0x64,0x76,0x61,0x6E,0x63,0x65,0x64,0x20, + 0x65,0x64,0x69,0x74,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F, + 0x6E,0x73,0x3A,0x20,0x01,0x3E,0x1E,0x3E,0x40,0x58,0x30,0x34, + 0x30,0x40,0x43,0x30,0x30,0x31,0x43,0x6F,0x70,0x79,0x2F,0x50, + 0x61,0x73,0x74,0x65,0x20,0x6D,0x61,0x73,0x6B,0x69,0x6E,0x67, + 0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30, + 0x32,0x37,0x54,0x68,0x65,0x20,0x6D,0x61,0x73,0x6B,0x69,0x6E, + 0x67,0x20,0x69,0x73,0x20,0x75,0x73,0x65,0x64,0x20,0x66,0x6F, + 0x72,0x20,0x63,0x6F,0x70,0x79,0x69,0x6E,0x67,0x2F,0x70,0x61, + 0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x70, + 0x61,0x72,0x74,0x73,0x20,0x6F,0x66,0x20,0x61,0x46,0x22,0x6E, + 0x6F,0x74,0x65,0x2D,0x63,0x65,0x6C,0x6C,0x22,0x2E,0x20,0x54, + 0x68,0x65,0x20,0x64,0x69,0x66,0x66,0x65,0x72,0x65,0x6E,0x74, + 0x20,0x70,0x61,0x72,0x74,0x73,0x20,0x6F,0x66,0x20,0x61,0x20, + 0x22,0x6E,0x6F,0x74,0x65,0x2D,0x63,0x65,0x6C,0x6C,0x22,0x20, + 0x69,0x73,0x20,0x4E,0x6F,0x74,0x65,0x2C,0x20,0x49,0x6E,0x73, + 0x74,0x72,0x2E,0x20,0x6E,0x72,0x2E,0x2C,0x20,0x56,0x6F,0x6C, + 0x75,0x6D,0x65,0x2C,0x20,0x45,0x66,0x66,0x65,0x63,0x74,0x20, + 0x6E,0x72,0x20,0x26,0x20,0x45,0x66,0x66,0x65,0x63,0x74,0x20, + 0x64,0x61,0x74,0x61,0x2E,0x34,0x3E,0x41,0x73,0x20,0x79,0x6F, + 0x75,0x20,0x63,0x61,0x6E,0x20,0x73,0x65,0x65,0x20,0x69,0x6E, + 0x20,0x74,0x68,0x65,0x20,0x77,0x69,0x6E,0x64,0x6F,0x77,0x20, + 0x74,0x68,0x65,0x72,0x65,0x20,0x61,0x72,0x65,0x20,0x33,0x20, + 0x63,0x6F,0x6C,0x75,0x6D,0x6E,0x73,0x20,0x6F,0x66,0x3D,0x22, + 0x65,0x6E,0x61,0x62,0x6C,0x65,0x2F,0x64,0x69,0x73,0x61,0x62, + 0x6C,0x65,0x20,0x62,0x75,0x74,0x74,0x6F,0x6E,0x73,0x22,0x20, + 0x77,0x68,0x69,0x63,0x68,0x20,0x68,0x61,0x73,0x20,0x74,0x68, + 0x65,0x20,0x6C,0x65,0x74,0x74,0x65,0x72,0x73,0x20,0x43,0x2C, + 0x50,0x20,0x26,0x20,0x54,0x20,0x61,0x62,0x6F,0x76,0x65,0x2E, + 0x45,0x3E,0x43,0x20,0x6D,0x65,0x61,0x6E,0x73,0x20,0x63,0x6F, + 0x70,0x79,0x2C,0x20,0x69,0x74,0x20,0x63,0x6F,0x6E,0x74,0x72, + 0x6F,0x6C,0x73,0x20,0x77,0x68,0x69,0x63,0x68,0x20,0x70,0x61, + 0x72,0x74,0x73,0x20,0x74,0x68,0x61,0x74,0x20,0x67,0x6F,0x65, + 0x73,0x20,0x69,0x6E,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x63, + 0x6F,0x70,0x79,0x62,0x75,0x66,0x66,0x65,0x72,0x2E,0x3E,0x3E, + 0x50,0x20,0x6D,0x65,0x61,0x6E,0x73,0x20,0x70,0x61,0x73,0x74, + 0x65,0x20,0x61,0x6E,0x64,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F, + 0x6C,0x73,0x20,0x77,0x68,0x69,0x63,0x68,0x20,0x70,0x61,0x72, + 0x74,0x73,0x20,0x74,0x68,0x61,0x74,0x20,0x67,0x6F,0x65,0x73, + 0x20,0x6F,0x75,0x74,0x20,0x66,0x72,0x6F,0x6D,0x20,0x74,0x68, + 0x65,0x0B,0x63,0x6F,0x70,0x79,0x62,0x75,0x66,0x66,0x65,0x72, + 0x2E,0x45,0x3E,0x54,0x20,0x6D,0x65,0x61,0x6E,0x73,0x20,0x74, + 0x72,0x61,0x6E,0x73,0x70,0x61,0x72,0x65,0x6E,0x63,0x79,0x2E, + 0x20,0x49,0x66,0x20,0x69,0x74,0x27,0x73,0x20,0x65,0x6E,0x61, + 0x62,0x6C,0x65,0x64,0x2C,0x20,0x74,0x68,0x65,0x20,0x70,0x61, + 0x73,0x74,0x69,0x6E,0x67,0x20,0x64,0x6F,0x65,0x73,0x6E,0x27, + 0x74,0x20,0x6F,0x76,0x65,0x72,0x77,0x72,0x69,0x74,0x65,0x3D, + 0x64,0x61,0x74,0x61,0x20,0x77,0x69,0x74,0x68,0x20,0x6E,0x69, + 0x6C,0x2D,0x69,0x6E,0x66,0x6F,0x72,0x6D,0x61,0x74,0x69,0x6F, + 0x6E,0x2C,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x77,0x69,0x74,0x68, + 0x20,0x61,0x20,0x6E,0x6F,0x74,0x65,0x20,0x6F,0x72,0x20,0x61, + 0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x20,0x3C,0x3E,0x20,0x30, + 0x2E,0x01,0x3E,0x40,0x3E,0x54,0x68,0x65,0x20,0x63,0x75,0x74, + 0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73,0x20,0x77, + 0x6F,0x72,0x6B,0x73,0x20,0x6C,0x69,0x6B,0x65,0x20,0x70,0x61, + 0x73,0x74,0x69,0x6E,0x67,0x20,0x77,0x69,0x74,0x68,0x20,0x7A, + 0x65,0x72,0x6F,0x2D,0x64,0x61,0x74,0x61,0x2E,0x20,0x54,0x68, + 0x69,0x73,0x20,0x6D,0x65,0x61,0x6E,0x73,0x3B,0x74,0x68,0x61, + 0x74,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x74,0x74,0x69,0x6E, + 0x67,0x20,0x69,0x73,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C, + 0x6C,0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x50,0x2D,0x63, + 0x6F,0x6C,0x75,0x6D,0x6E,0x20,0x28,0x6F,0x72,0x20,0x54,0x2D, + 0x63,0x6F,0x6C,0x75,0x6D,0x6E,0x29,0x2E,0x3C,0x3E,0x57,0x68, + 0x65,0x6E,0x20,0x79,0x6F,0x75,0x20,0x63,0x6F,0x70,0x79,0x20, + 0x64,0x61,0x74,0x61,0x20,0x77,0x69,0x74,0x68,0x20,0x6D,0x61, + 0x73,0x6B,0x69,0x6E,0x67,0x2C,0x20,0x74,0x68,0x65,0x20,0x64, + 0x69,0x73,0x61,0x62,0x6C,0x65,0x64,0x20,0x70,0x61,0x72,0x74, + 0x73,0x20,0x61,0x72,0x65,0x20,0x6E,0x6F,0x74,0x43,0x63,0x6C, + 0x65,0x61,0x72,0x65,0x64,0x20,0x69,0x6E,0x20,0x74,0x68,0x65, + 0x20,0x63,0x6F,0x70,0x79,0x62,0x75,0x66,0x66,0x65,0x72,0x2E, + 0x20,0x28,0x4D,0x61,0x6B,0x69,0x6E,0x67,0x20,0x69,0x74,0x20, + 0x70,0x6F,0x73,0x73,0x69,0x62,0x6C,0x65,0x20,0x74,0x6F,0x20, + 0x63,0x6F,0x6C,0x6C,0x65,0x63,0x74,0x20,0x64,0x61,0x74,0x61, + 0x20,0x66,0x72,0x6F,0x6D,0x27,0x73,0x65,0x76,0x65,0x72,0x61, + 0x6C,0x20,0x6C,0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x73,0x20, + 0x69,0x6E,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x70, + 0x79,0x62,0x75,0x66,0x66,0x65,0x72,0x2E,0x29,0x00,0x03,0x45, + 0x4E,0x44,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x4C,0x3B,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x0E,0x40,0x4C,0x50,0x72,0x6F,0x62,0x6C,0x65,0x6D,0x73,0x2F, + 0x46,0x41,0x51,0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x41,0x3E, + 0x40,0x43,0x30,0x30,0x31,0x51,0x3A,0x20,0x43,0x61,0x6E,0x20, + 0x49,0x20,0x6D,0x61,0x6B,0x65,0x20,0x66,0x75,0x6C,0x6C,0x73, + 0x63,0x72,0x65,0x65,0x6E,0x20,0x6D,0x6F,0x64,0x65,0x20,0x73, + 0x74,0x72,0x65,0x74,0x63,0x68,0x20,0x6F,0x75,0x74,0x20,0x74, + 0x68,0x65,0x20,0x77,0x68,0x6F,0x6C,0x65,0x20,0x73,0x63,0x72, + 0x65,0x65,0x6E,0x3F,0x3A,0x3E,0x40,0x43,0x30,0x30,0x32,0x41, + 0x3A,0x20,0x45,0x6E,0x61,0x62,0x6C,0x65,0x20,0x22,0x50,0x69, + 0x78,0x65,0x6C,0x20,0x66,0x69,0x6C,0x74,0x65,0x72,0x22,0x20, + 0x69,0x6E,0x20,0x43,0x6F,0x6E,0x66,0x69,0x67,0x20,0x2D,0x3E, + 0x20,0x4D,0x69,0x73,0x63,0x65,0x6C,0x6C,0x61,0x6E,0x65,0x6F, + 0x75,0x73,0x2E,0x4D,0x3E,0x40,0x58,0x30,0x33,0x35,0x49,0x74, + 0x20,0x77,0x6F,0x6E,0x27,0x74,0x20,0x6C,0x6F,0x6F,0x6B,0x20, + 0x70,0x72,0x65,0x74,0x74,0x79,0x2C,0x20,0x62,0x75,0x74,0x20, + 0x74,0x6F,0x20,0x73,0x6F,0x6D,0x65,0x20,0x70,0x65,0x6F,0x70, + 0x6C,0x65,0x20,0x69,0x74,0x27,0x73,0x20,0x6D,0x75,0x63,0x68, + 0x20,0x62,0x65,0x74,0x74,0x65,0x72,0x20,0x74,0x68,0x61,0x6E, + 0x20,0x6E,0x6F,0x74,0x68,0x69,0x6E,0x67,0x2E,0x06,0x3E,0x40, + 0x58,0x30,0x32,0x30,0x27,0x3E,0x40,0x43,0x30,0x30,0x31,0x51, + 0x3A,0x20,0x49,0x20,0x63,0x61,0x6E,0x27,0x74,0x20,0x75,0x73, + 0x65,0x20,0x41,0x4C,0x54,0x2B,0x46,0x34,0x20,0x61,0x6E,0x64, + 0x20,0x41,0x4C,0x54,0x2B,0x46,0x35,0x21,0x4E,0x3E,0x40,0x43, + 0x30,0x30,0x32,0x41,0x3A,0x20,0x57,0x69,0x6E,0x64,0x6F,0x77, + 0x73,0x3A,0x20,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x68,0x61, + 0x76,0x65,0x20,0x47,0x65,0x46,0x6F,0x72,0x63,0x65,0x20,0x45, + 0x78,0x70,0x65,0x72,0x69,0x65,0x6E,0x63,0x65,0x20,0x69,0x6E, + 0x73,0x74,0x61,0x6C,0x6C,0x65,0x64,0x2C,0x20,0x79,0x6F,0x75, + 0x20,0x6E,0x65,0x65,0x64,0x20,0x74,0x6F,0x20,0x63,0x68,0x61, + 0x6E,0x67,0x65,0x2B,0x3E,0x40,0x58,0x30,0x33,0x35,0x74,0x68, + 0x65,0x20,0x6B,0x65,0x79,0x62,0x69,0x6E,0x64,0x69,0x6E,0x67, + 0x73,0x20,0x69,0x6E,0x20,0x69,0x74,0x73,0x20,0x73,0x65,0x74, + 0x74,0x69,0x6E,0x67,0x73,0x20,0x70,0x61,0x67,0x65,0x2E,0x56, + 0x6D,0x61,0x63,0x4F,0x53,0x2F,0x4F,0x53,0x20,0x58,0x3A,0x20, + 0x43,0x68,0x61,0x6E,0x67,0x65,0x20,0x41,0x4C,0x54,0x2B,0x46, + 0x34,0x2F,0x41,0x4C,0x54,0x2B,0x46,0x35,0x20,0x6B,0x65,0x79, + 0x73,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x4F,0x53,0x20, + 0x74,0x6F,0x20,0x73,0x6F,0x6D,0x65,0x74,0x68,0x69,0x6E,0x67, + 0x20,0x65,0x6C,0x73,0x65,0x2E,0x20,0x41,0x6C,0x73,0x6F,0x20, + 0x66,0x6F,0x72,0x20,0x47,0x4E,0x55,0x2F,0x4C,0x69,0x6E,0x75, + 0x78,0x2E,0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x2B,0x3E,0x40, + 0x43,0x30,0x30,0x31,0x51,0x3A,0x20,0x54,0x68,0x65,0x20,0x6D, + 0x6F,0x75,0x73,0x65,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x20, + 0x69,0x73,0x20,0x64,0x65,0x6C,0x61,0x79,0x65,0x64,0x2F,0x6C, + 0x61,0x67,0x67,0x79,0x21,0x44,0x3E,0x40,0x43,0x30,0x30,0x32, + 0x41,0x3A,0x20,0x4D,0x61,0x6B,0x65,0x20,0x73,0x75,0x72,0x65, + 0x20,0x22,0x53,0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x6D, + 0x6F,0x75,0x73,0x65,0x22,0x20,0x69,0x73,0x20,0x64,0x69,0x73, + 0x61,0x62,0x6C,0x65,0x64,0x20,0x69,0x6E,0x20,0x43,0x6F,0x6E, + 0x66,0x69,0x67,0x20,0x2D,0x3E,0x20,0x4C,0x61,0x79,0x6F,0x75, + 0x74,0x2E,0x4B,0x3E,0x40,0x58,0x30,0x33,0x35,0x41,0x6C,0x74, + 0x65,0x72,0x6E,0x61,0x74,0x69,0x76,0x65,0x6C,0x79,0x2C,0x20, + 0x79,0x6F,0x75,0x20,0x63,0x61,0x6E,0x20,0x65,0x6E,0x61,0x62, + 0x6C,0x65,0x20,0x22,0x56,0x53,0x79,0x6E,0x63,0x20,0x6F,0x66, + 0x66,0x22,0x20,0x69,0x6E,0x20,0x43,0x6F,0x6E,0x66,0x69,0x67, + 0x20,0x2D,0x3E,0x20,0x4D,0x69,0x73,0x63,0x65,0x6C,0x6C,0x61, + 0x6E,0x65,0x6F,0x75,0x73,0x2E,0x46,0x3E,0x54,0x68,0x69,0x73, + 0x20,0x68,0x6F,0x77,0x65,0x76,0x65,0x72,0x2C,0x20,0x77,0x69, + 0x6C,0x6C,0x20,0x69,0x6E,0x74,0x72,0x6F,0x64,0x75,0x63,0x65, + 0x20,0x73,0x74,0x75,0x74,0x74,0x65,0x72,0x69,0x6E,0x67,0x20, + 0x62,0x65,0x63,0x61,0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x20, + 0x72,0x65,0x6E,0x64,0x65,0x72,0x69,0x6E,0x67,0x20,0x72,0x61, + 0x74,0x65,0x20,0x69,0x73,0x22,0x3E,0x6E,0x6F,0x74,0x20,0x65, + 0x78,0x61,0x63,0x74,0x20,0x74,0x6F,0x20,0x79,0x6F,0x75,0x72, + 0x20,0x6D,0x6F,0x6E,0x69,0x74,0x6F,0x72,0x27,0x73,0x20,0x72, + 0x61,0x74,0x65,0x2E,0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x33, + 0x3E,0x40,0x43,0x30,0x30,0x31,0x51,0x3A,0x20,0x57,0x69,0x6C, + 0x6C,0x20,0x79,0x6F,0x75,0x20,0x69,0x6D,0x70,0x6C,0x65,0x6D, + 0x65,0x6E,0x74,0x20,0x4D,0x49,0x44,0x49,0x20,0x6F,0x75,0x74, + 0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x69, + 0x74,0x79,0x3F,0x4D,0x3E,0x40,0x43,0x30,0x30,0x32,0x41,0x3A, + 0x20,0x4E,0x6F,0x2C,0x20,0x73,0x6F,0x72,0x72,0x79,0x2E,0x20, + 0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x76,0x65,0x72,0x79, + 0x20,0x64,0x69,0x66,0x66,0x69,0x63,0x75,0x6C,0x74,0x20,0x74, + 0x6F,0x20,0x69,0x6D,0x70,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x20, + 0x63,0x6F,0x72,0x72,0x65,0x63,0x74,0x6C,0x79,0x20,0x77,0x68, + 0x65,0x6E,0x20,0x68,0x61,0x76,0x69,0x6E,0x67,0x3C,0x3E,0x40, + 0x58,0x30,0x33,0x35,0x68,0x69,0x67,0x68,0x65,0x72,0x20,0x61, + 0x75,0x64,0x69,0x6F,0x20,0x62,0x75,0x66,0x66,0x65,0x72,0x20, + 0x73,0x69,0x7A,0x65,0x73,0x20,0x28,0x62,0x75,0x66,0x66,0x65, + 0x72,0x65,0x64,0x20,0x72,0x65,0x70,0x6C,0x61,0x79,0x65,0x72, + 0x20,0x74,0x69,0x63,0x6B,0x73,0x29,0x2E,0x2E,0x2E,0x06,0x3E, + 0x40,0x58,0x30,0x32,0x30,0x30,0x3E,0x40,0x43,0x30,0x30,0x31, + 0x51,0x3A,0x20,0x57,0x68,0x65,0x72,0x65,0x20,0x69,0x73,0x20, + 0x74,0x68,0x65,0x20,0x63,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72, + 0x61,0x74,0x69,0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x20,0x73, + 0x74,0x6F,0x72,0x65,0x64,0x3F,0x3F,0x3E,0x40,0x43,0x30,0x30, + 0x32,0x41,0x3A,0x20,0x57,0x69,0x6E,0x64,0x6F,0x77,0x73,0x3A, + 0x20,0x5C,0x55,0x73,0x65,0x72,0x73,0x5C,0x55,0x53,0x45,0x52, + 0x5C,0x41,0x70,0x70,0x44,0x61,0x74,0x61,0x5C,0x52,0x6F,0x61, + 0x6D,0x69,0x6E,0x67,0x5C,0x46,0x54,0x32,0x20,0x63,0x6C,0x6F, + 0x6E,0x65,0x5C,0x46,0x54,0x32,0x2E,0x43,0x46,0x47,0x45,0x3E, + 0x40,0x58,0x30,0x33,0x35,0x4F,0x53,0x20,0x58,0x3A,0x20,0x2F, + 0x55,0x73,0x65,0x72,0x73,0x2F,0x55,0x53,0x45,0x52,0x2F,0x4C, + 0x69,0x62,0x72,0x61,0x72,0x79,0x2F,0x41,0x70,0x70,0x6C,0x69, + 0x63,0x61,0x74,0x69,0x6F,0x6E,0x20,0x53,0x75,0x70,0x70,0x6F, + 0x72,0x74,0x2F,0x46,0x54,0x32,0x20,0x63,0x6C,0x6F,0x6E,0x65, + 0x2F,0x46,0x54,0x32,0x2E,0x43,0x46,0x47,0x2F,0x47,0x4E,0x55, + 0x2F,0x4C,0x69,0x6E,0x75,0x78,0x3A,0x20,0x2F,0x68,0x6F,0x6D, + 0x65,0x2F,0x55,0x53,0x45,0x52,0x2F,0x2E,0x63,0x6F,0x6E,0x66, + 0x69,0x67,0x2F,0x46,0x54,0x32,0x20,0x63,0x6C,0x6F,0x6E,0x65, + 0x2F,0x46,0x54,0x32,0x2E,0x43,0x46,0x47,0x01,0x3E,0x48,0x49, + 0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x73,0x74, + 0x6F,0x72,0x65,0x64,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20, + 0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x20,0x64,0x69,0x72,0x65, + 0x63,0x74,0x6F,0x72,0x79,0x20,0x69,0x66,0x20,0x74,0x68,0x65, + 0x20,0x70,0x61,0x74,0x68,0x20,0x63,0x6F,0x75,0x6C,0x64,0x6E, + 0x27,0x74,0x20,0x62,0x65,0x20,0x75,0x73,0x65,0x64,0x2E,0x4D, + 0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x70,0x75,0x74,0x20,0x74, + 0x68,0x65,0x20,0x63,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72,0x61, + 0x74,0x69,0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x20,0x69,0x6E, + 0x20,0x74,0x68,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D, + 0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x6F,0x72,0x79,0x2C,0x20, + 0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x72,0x65,0x61,0x64, + 0x20,0x74,0x68,0x61,0x74,0x4A,0x6F,0x6E,0x65,0x20,0x61,0x6E, + 0x64,0x20,0x6E,0x6F,0x74,0x20,0x61,0x74,0x74,0x65,0x6D,0x70, + 0x74,0x20,0x74,0x6F,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x20, + 0x63,0x6F,0x6E,0x66,0x69,0x67,0x20,0x64,0x69,0x72,0x73,0x20, + 0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x4F,0x53,0x20,0x75, + 0x73,0x65,0x72,0x2E,0x20,0x28,0x70,0x6F,0x72,0x74,0x61,0x62, + 0x6C,0x65,0x20,0x6D,0x6F,0x64,0x65,0x29,0x06,0x3E,0x40,0x58, + 0x30,0x32,0x30,0x42,0x3E,0x40,0x43,0x30,0x30,0x31,0x51,0x3A, + 0x20,0x43,0x61,0x6E,0x20,0x74,0x68,0x65,0x20,0x63,0x6C,0x6F, + 0x6E,0x65,0x20,0x72,0x65,0x61,0x64,0x20,0x46,0x54,0x32,0x2E, + 0x43,0x46,0x47,0x20,0x66,0x72,0x6F,0x6D,0x20,0x72,0x65,0x61, + 0x6C,0x20,0x46,0x54,0x32,0x2C,0x20,0x61,0x6E,0x64,0x20,0x76, + 0x69,0x63,0x65,0x20,0x76,0x65,0x72,0x73,0x61,0x3F,0x4C,0x3E, + 0x40,0x43,0x30,0x30,0x32,0x41,0x3A,0x20,0x59,0x65,0x73,0x2C, + 0x20,0x69,0x74,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x77, + 0x6F,0x72,0x6B,0x20,0x6A,0x75,0x73,0x74,0x20,0x66,0x69,0x6E, + 0x65,0x2E,0x20,0x50,0x75,0x74,0x20,0x69,0x74,0x20,0x69,0x6E, + 0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x6F, + 0x72,0x79,0x20,0x73,0x68,0x6F,0x77,0x6E,0x20,0x61,0x62,0x6F, + 0x76,0x65,0x2E,0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x52,0x3E, + 0x40,0x43,0x30,0x30,0x31,0x51,0x3A,0x20,0x53,0x6D,0x70,0x2E, + 0x20,0x45,0x64,0x2E,0x3A,0x20,0x57,0x68,0x69,0x6C,0x65,0x20, + 0x7A,0x6F,0x6F,0x6D,0x69,0x6E,0x67,0x20,0x69,0x6E,0x2C,0x20, + 0x49,0x20,0x73,0x6F,0x6D,0x65,0x74,0x69,0x6D,0x65,0x73,0x20, + 0x63,0x61,0x6E,0x27,0x74,0x20,0x6D,0x61,0x72,0x6B,0x20,0x74, + 0x68,0x65,0x20,0x6C,0x61,0x73,0x74,0x20,0x73,0x61,0x6D,0x70, + 0x6C,0x65,0x20,0x70,0x6F,0x69,0x6E,0x74,0x21,0x47,0x3E,0x40, + 0x43,0x30,0x30,0x32,0x41,0x3A,0x20,0x54,0x68,0x69,0x73,0x20, + 0x69,0x73,0x20,0x6E,0x6F,0x72,0x6D,0x61,0x6C,0x2E,0x20,0x54, + 0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x61,0x20,0x6C,0x69,0x6D, + 0x69,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x69,0x6E,0x20,0x74, + 0x68,0x65,0x20,0x6E,0x61,0x74,0x75,0x72,0x65,0x20,0x6F,0x66, + 0x20,0x73,0x63,0x61,0x6C,0x69,0x6E,0x67,0x2E,0x06,0x3E,0x40, + 0x58,0x30,0x32,0x30,0x17,0x3E,0x40,0x43,0x30,0x30,0x31,0x51, + 0x3A,0x20,0x49,0x20,0x66,0x6F,0x75,0x6E,0x64,0x20,0x61,0x20, + 0x62,0x75,0x67,0x21,0x4B,0x3E,0x40,0x43,0x30,0x30,0x32,0x41, + 0x3A,0x20,0x50,0x6C,0x65,0x61,0x73,0x65,0x20,0x73,0x65,0x6E, + 0x64,0x20,0x61,0x20,0x6D,0x61,0x69,0x6C,0x20,0x74,0x6F,0x20, + 0x6F,0x6C,0x61,0x76,0x2E,0x73,0x6F,0x72,0x65,0x6E,0x73,0x65, + 0x6E,0x40,0x6C,0x69,0x76,0x65,0x2E,0x6E,0x6F,0x20,0x61,0x6E, + 0x64,0x20,0x74,0x72,0x79,0x20,0x74,0x6F,0x20,0x65,0x78,0x70, + 0x6C,0x61,0x69,0x6E,0x20,0x69,0x74,0x2E,0x00,0x03,0x45,0x4E, + 0x44,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A, + 0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0C, + 0x40,0x4C,0x4B,0x6E,0x6F,0x77,0x6E,0x20,0x62,0x75,0x67,0x73, + 0x06,0x3E,0x40,0x58,0x30,0x31,0x30,0x14,0x3E,0x40,0x43,0x30, + 0x30,0x31,0x53,0x61,0x6D,0x70,0x6C,0x65,0x20,0x65,0x64,0x69, + 0x74,0x6F,0x72,0x3A,0x06,0x3E,0x40,0x43,0x30,0x30,0x32,0x4E, + 0x3E,0x40,0x58,0x30,0x31,0x30,0x2D,0x20,0x57,0x68,0x65,0x6E, + 0x20,0x61,0x20,0x6C,0x6F,0x6F,0x70,0x65,0x64,0x20,0x73,0x61, + 0x6D,0x70,0x6C,0x65,0x20,0x69,0x73,0x20,0x7A,0x6F,0x6F,0x6D, + 0x65,0x64,0x20,0x6F,0x75,0x74,0x20,0x69,0x6E,0x20,0x74,0x68, + 0x65,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x65,0x64,0x69, + 0x74,0x6F,0x72,0x2C,0x20,0x79,0x6F,0x75,0x20,0x63,0x6F,0x75, + 0x6C,0x64,0x20,0x73,0x65,0x65,0x4D,0x3E,0x40,0x58,0x30,0x32, + 0x31,0x75,0x6E,0x77,0x61,0x6E,0x74,0x65,0x64,0x20,0x73,0x61, + 0x6D,0x70,0x6C,0x65,0x20,0x64,0x61,0x74,0x61,0x20,0x61,0x74, + 0x20,0x74,0x68,0x65,0x20,0x6C,0x6F,0x6F,0x70,0x2D,0x65,0x6E, + 0x64,0x20,0x70,0x6F,0x69,0x6E,0x74,0x2E,0x20,0x54,0x68,0x69, + 0x73,0x20,0x69,0x73,0x20,0x62,0x65,0x63,0x61,0x75,0x73,0x65, + 0x20,0x6F,0x66,0x20,0x61,0x20,0x6B,0x6C,0x75,0x64,0x67,0x65, + 0x4B,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x72,0x65,0x73, + 0x61,0x6D,0x70,0x6C,0x69,0x6E,0x67,0x20,0x69,0x6E,0x74,0x65, + 0x72,0x70,0x6F,0x6C,0x61,0x74,0x69,0x6F,0x6E,0x20,0x74,0x6F, + 0x20,0x77,0x6F,0x72,0x6B,0x20,0x66,0x61,0x73,0x74,0x65,0x72, + 0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x61,0x75,0x64,0x69, + 0x6F,0x20,0x6D,0x69,0x78,0x65,0x72,0x2C,0x20,0x61,0x6E,0x64, + 0x20,0x74,0x68,0x65,0x4B,0x6F,0x72,0x69,0x67,0x69,0x6E,0x61, + 0x6C,0x20,0x46,0x54,0x32,0x20,0x68,0x61,0x73,0x20,0x74,0x68, + 0x65,0x20,0x73,0x61,0x6D,0x65,0x20,0x70,0x72,0x6F,0x62,0x6C, + 0x65,0x6D,0x2E,0x20,0x49,0x20,0x68,0x61,0x76,0x65,0x20,0x6D, + 0x61,0x64,0x65,0x20,0x69,0x74,0x20,0x73,0x6F,0x20,0x74,0x68, + 0x61,0x74,0x20,0x69,0x66,0x20,0x79,0x6F,0x75,0x20,0x7A,0x6F, + 0x6F,0x6D,0x20,0x69,0x6E,0x20,0x74,0x6F,0x3B,0x73,0x65,0x65, + 0x20,0x74,0x68,0x65,0x20,0x69,0x6E,0x64,0x69,0x76,0x69,0x64, + 0x75,0x61,0x6C,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x70, + 0x6F,0x69,0x6E,0x74,0x73,0x2C,0x20,0x69,0x74,0x20,0x77,0x69, + 0x6C,0x6C,0x20,0x6C,0x6F,0x6F,0x6B,0x20,0x6C,0x69,0x6B,0x65, + 0x20,0x6E,0x6F,0x72,0x6D,0x61,0x6C,0x2E,0x06,0x3E,0x40,0x58, + 0x30,0x31,0x30,0x17,0x3E,0x40,0x43,0x30,0x30,0x31,0x4D,0x6F, + 0x75,0x73,0x65,0x20,0x2F,0x20,0x6B,0x65,0x79,0x62,0x6F,0x61, + 0x72,0x64,0x3A,0x01,0x3E,0x4D,0x3E,0x40,0x43,0x30,0x30,0x32, + 0x2D,0x20,0x57,0x68,0x65,0x6E,0x20,0x79,0x6F,0x75,0x20,0x68, + 0x6F,0x6C,0x64,0x20,0x64,0x6F,0x77,0x6E,0x20,0x61,0x20,0x6B, + 0x65,0x79,0x20,0x28,0x66,0x2E,0x65,0x78,0x2E,0x20,0x70,0x6C, + 0x61,0x79,0x69,0x6E,0x67,0x20,0x61,0x20,0x73,0x61,0x6D,0x70, + 0x6C,0x65,0x29,0x2C,0x20,0x74,0x68,0x65,0x20,0x6D,0x6F,0x75, + 0x73,0x65,0x20,0x6D,0x6F,0x76,0x65,0x6D,0x65,0x6E,0x74,0x4A, + 0x3E,0x40,0x58,0x30,0x32,0x31,0x63,0x61,0x6E,0x20,0x62,0x65, + 0x20,0x63,0x68,0x6F,0x70,0x70,0x79,0x2E,0x20,0x54,0x68,0x69, + 0x73,0x20,0x69,0x73,0x20,0x72,0x65,0x6C,0x61,0x74,0x65,0x64, + 0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x69,0x6E,0x70,0x75, + 0x74,0x20,0x71,0x75,0x65,0x75,0x65,0x20,0x62,0x65,0x69,0x6E, + 0x67,0x20,0x73,0x70,0x61,0x6D,0x6D,0x65,0x64,0x20,0x77,0x69, + 0x74,0x68,0x36,0x22,0x6B,0x65,0x79,0x20,0x64,0x6F,0x77,0x6E, + 0x22,0x20,0x65,0x76,0x65,0x6E,0x74,0x73,0x2C,0x20,0x64,0x65, + 0x6C,0x61,0x79,0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x6D, + 0x6F,0x75,0x73,0x65,0x20,0x70,0x6F,0x73,0x69,0x74,0x69,0x6F, + 0x6E,0x20,0x65,0x76,0x65,0x6E,0x74,0x73,0x2E,0x4E,0x49,0x20, + 0x6F,0x6E,0x6C,0x79,0x20,0x70,0x6F,0x6C,0x6C,0x20,0x69,0x6E, + 0x70,0x75,0x74,0x20,0x6F,0x6E,0x63,0x65,0x20,0x70,0x65,0x72, + 0x20,0x66,0x72,0x61,0x6D,0x65,0x20,0x28,0x36,0x30,0x48,0x7A, + 0x29,0x2C,0x20,0x73,0x6F,0x20,0x74,0x68,0x65,0x20,0x66,0x72, + 0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x69,0x73,0x20,0x61, + 0x20,0x74,0x61,0x64,0x20,0x6C,0x6F,0x77,0x2E,0x20,0x49,0x74, + 0x20,0x68,0x61,0x73,0x2E,0x74,0x6F,0x20,0x62,0x65,0x20,0x6C, + 0x69,0x6B,0x65,0x20,0x74,0x68,0x69,0x73,0x20,0x66,0x6F,0x72, + 0x20,0x73,0x65,0x76,0x65,0x72,0x61,0x6C,0x20,0x72,0x65,0x61, + 0x73,0x6F,0x6E,0x73,0x2C,0x20,0x74,0x68,0x6F,0x75,0x67,0x68, + 0x2E,0x2E,0x2E,0x06,0x3E,0x40,0x58,0x30,0x31,0x30,0x47,0x3E, + 0x40,0x43,0x30,0x30,0x32,0x2D,0x20,0x6D,0x61,0x63,0x4F,0x53, + 0x20,0x2F,0x20,0x4F,0x53,0x20,0x58,0x3A,0x20,0x22,0x48,0x61, + 0x72,0x64,0x77,0x61,0x72,0x65,0x20,0x6D,0x6F,0x64,0x65,0x22, + 0x20,0x6D,0x6F,0x75,0x73,0x65,0x20,0x6C,0x6F,0x6F,0x6B,0x73, + 0x20,0x62,0x6C,0x75,0x72,0x72,0x79,0x20,0x6F,0x6E,0x20,0x72, + 0x65,0x74,0x69,0x6E,0x61,0x20,0x4D,0x61,0x63,0x73,0x06,0x3E, + 0x40,0x58,0x30,0x31,0x30,0x48,0x3E,0x2D,0x20,0x6D,0x61,0x63, + 0x4F,0x53,0x20,0x2F,0x20,0x4F,0x53,0x20,0x58,0x3A,0x20,0x48, + 0x6F,0x6C,0x64,0x69,0x6E,0x67,0x20,0x64,0x6F,0x77,0x6E,0x20, + 0x61,0x20,0x6D,0x6F,0x75,0x73,0x65,0x20,0x62,0x75,0x74,0x74, + 0x6F,0x6E,0x20,0x77,0x6F,0x6E,0x27,0x74,0x20,0x74,0x72,0x61, + 0x70,0x20,0x74,0x68,0x65,0x20,0x6D,0x6F,0x75,0x73,0x65,0x20, + 0x63,0x75,0x72,0x73,0x6F,0x72,0x4D,0x3E,0x40,0x58,0x30,0x32, + 0x31,0x69,0x6E,0x73,0x69,0x64,0x65,0x20,0x74,0x68,0x65,0x20, + 0x77,0x69,0x6E,0x64,0x6F,0x77,0x2E,0x20,0x54,0x68,0x69,0x73, + 0x20,0x69,0x73,0x20,0x72,0x65,0x6C,0x61,0x74,0x65,0x64,0x20, + 0x74,0x6F,0x20,0x61,0x20,0x6B,0x6C,0x75,0x64,0x67,0x65,0x20, + 0x74,0x68,0x61,0x74,0x20,0x73,0x69,0x6D,0x70,0x6C,0x79,0x20, + 0x64,0x6F,0x65,0x73,0x6E,0x27,0x74,0x20,0x77,0x6F,0x72,0x6B, + 0x4F,0x76,0x65,0x72,0x79,0x20,0x77,0x65,0x6C,0x6C,0x20,0x69, + 0x6E,0x20,0x6D,0x61,0x63,0x4F,0x53,0x2E,0x20,0x54,0x68,0x65, + 0x20,0x6D,0x6F,0x75,0x73,0x65,0x20,0x6D,0x6F,0x76,0x65,0x6D, + 0x65,0x6E,0x74,0x20,0x77,0x6F,0x75,0x6C,0x64,0x20,0x66,0x72, + 0x65,0x65,0x7A,0x65,0x20,0x66,0x6F,0x72,0x20,0x73,0x6F,0x6D, + 0x65,0x20,0x74,0x69,0x6D,0x65,0x20,0x61,0x66,0x74,0x65,0x72, + 0x20,0x61,0x20,0x6D,0x6F,0x75,0x73,0x65,0x15,0x62,0x75,0x74, + 0x74,0x6F,0x6E,0x20,0x77,0x61,0x73,0x20,0x68,0x65,0x6C,0x64, + 0x20,0x64,0x6F,0x77,0x6E,0x2E,0x06,0x3E,0x40,0x58,0x30,0x31, + 0x30,0x4B,0x3E,0x40,0x43,0x30,0x30,0x32,0x2D,0x20,0x54,0x68, + 0x65,0x20,0x22,0x63,0x6C,0x65,0x61,0x72,0x20,0x73,0x61,0x6D, + 0x70,0x6C,0x65,0x22,0x20,0x73,0x68,0x6F,0x72,0x74,0x63,0x75, + 0x74,0x20,0x28,0x73,0x68,0x69,0x66,0x74,0x20,0x2B,0x20,0x6E, + 0x75,0x6D,0x2D,0x70,0x61,0x64,0x20,0x44,0x65,0x6C,0x2F,0x27, + 0x2C,0x27,0x29,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x77,0x6F,0x72, + 0x6B,0x73,0x20,0x69,0x66,0x37,0x3E,0x40,0x58,0x30,0x32,0x31, + 0x6E,0x75,0x6D,0x20,0x6C,0x6F,0x63,0x6B,0x20,0x69,0x73,0x20, + 0x6F,0x66,0x66,0x2E,0x20,0x54,0x68,0x65,0x72,0x65,0x27,0x73, + 0x20,0x6E,0x6F,0x20,0x77,0x61,0x79,0x20,0x49,0x20,0x63,0x61, + 0x6E,0x20,0x66,0x69,0x78,0x20,0x74,0x68,0x69,0x73,0x2E,0x2E, + 0x2E,0x06,0x3E,0x40,0x58,0x30,0x31,0x30,0x0C,0x3E,0x40,0x43, + 0x30,0x30,0x31,0x56,0x69,0x64,0x65,0x6F,0x3A,0x06,0x3E,0x40, + 0x43,0x30,0x30,0x32,0x4A,0x3E,0x40,0x58,0x30,0x31,0x30,0x2D, + 0x20,0x54,0x68,0x65,0x20,0x73,0x63,0x6F,0x70,0x65,0x73,0x20, + 0x63,0x61,0x6E,0x20,0x6D,0x69,0x6C,0x64,0x6C,0x79,0x20,0x66, + 0x6C,0x69,0x63,0x6B,0x65,0x72,0x20,0x64,0x65,0x70,0x65,0x6E, + 0x64,0x69,0x6E,0x67,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20, + 0x77,0x61,0x76,0x65,0x66,0x6F,0x72,0x6D,0x20,0x61,0x6E,0x64, + 0x20,0x70,0x69,0x74,0x63,0x68,0x2E,0x4D,0x3E,0x40,0x58,0x30, + 0x32,0x31,0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x62,0x65, + 0x63,0x61,0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x69,0x72,0x20, + 0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x69,0x73, + 0x20,0x6E,0x6F,0x74,0x20,0x63,0x6C,0x6F,0x63,0x6B,0x65,0x64, + 0x20,0x74,0x6F,0x20,0x65,0x78,0x61,0x63,0x74,0x6C,0x79,0x20, + 0x74,0x68,0x65,0x20,0x73,0x61,0x6D,0x65,0x20,0x72,0x61,0x74, + 0x65,0x4D,0x3E,0x61,0x74,0x20,0x77,0x68,0x69,0x63,0x68,0x20, + 0x74,0x68,0x65,0x20,0x73,0x63,0x6F,0x70,0x65,0x73,0x20,0x61, + 0x72,0x65,0x20,0x72,0x65,0x6E,0x64,0x65,0x72,0x65,0x64,0x2E, + 0x20,0x49,0x74,0x27,0x73,0x20,0x63,0x6C,0x6F,0x73,0x65,0x2C, + 0x20,0x77,0x68,0x69,0x63,0x68,0x20,0x63,0x61,0x75,0x73,0x65, + 0x73,0x20,0x61,0x20,0x66,0x6C,0x69,0x63,0x6B,0x65,0x72,0x20, + 0x65,0x66,0x66,0x65,0x63,0x74,0x2E,0x01,0x3E,0x52,0x3E,0x40, + 0x58,0x30,0x31,0x30,0x2D,0x20,0x4E,0x6F,0x74,0x20,0x61,0x20, + 0x62,0x75,0x67,0x2C,0x20,0x62,0x75,0x74,0x20,0x69,0x66,0x20, + 0x79,0x6F,0x75,0x72,0x20,0x6D,0x6F,0x6E,0x69,0x74,0x6F,0x72, + 0x27,0x73,0x20,0x72,0x65,0x66,0x72,0x65,0x73,0x68,0x20,0x72, + 0x61,0x74,0x65,0x20,0x69,0x73,0x20,0x6E,0x6F,0x74,0x20,0x73, + 0x65,0x74,0x20,0x74,0x6F,0x20,0x36,0x30,0x48,0x7A,0x20,0x28, + 0x6F,0x72,0x20,0x35,0x39,0x48,0x7A,0x29,0x4F,0x3E,0x40,0x58, + 0x30,0x32,0x31,0x79,0x6F,0x75,0x20,0x6D,0x61,0x79,0x20,0x65, + 0x78,0x70,0x65,0x72,0x69,0x65,0x6E,0x63,0x65,0x20,0x76,0x69, + 0x73,0x75,0x61,0x6C,0x20,0x73,0x74,0x75,0x74,0x74,0x65,0x72, + 0x69,0x6E,0x67,0x20,0x62,0x65,0x63,0x61,0x75,0x73,0x65,0x20, + 0x56,0x53,0x79,0x6E,0x63,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6E, + 0x6F,0x74,0x20,0x62,0x65,0x20,0x75,0x73,0x65,0x64,0x20,0x74, + 0x68,0x65,0x6E,0x2E,0x49,0x49,0x20,0x68,0x69,0x67,0x68,0x6C, + 0x79,0x20,0x72,0x65,0x63,0x6F,0x6D,0x6D,0x65,0x6E,0x64,0x20, + 0x72,0x75,0x6E,0x6E,0x69,0x6E,0x67,0x20,0x79,0x6F,0x75,0x72, + 0x20,0x6D,0x6F,0x6E,0x69,0x74,0x6F,0x72,0x20,0x61,0x74,0x20, + 0x36,0x30,0x48,0x7A,0x20,0x69,0x66,0x20,0x79,0x6F,0x75,0x27, + 0x72,0x65,0x20,0x61,0x20,0x68,0x61,0x72,0x64,0x63,0x6F,0x72, + 0x65,0x20,0x75,0x73,0x65,0x72,0x10,0x6F,0x66,0x20,0x74,0x68, + 0x69,0x73,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x2E,0x00, + 0x03,0x45,0x4E,0x44 +}; + +#endif diff --git a/src/helpdata/ft2hlp_to_h.exe b/src/helpdata/ft2hlp_to_h.exe index ad4b4beba2a24db07cecb35a49a6729b374a0e3b..6c65710ea07f997b896b9f12779d4b0d6f1d850b 100644 GIT binary patch delta 42217 zcmb4s30#y__y0T(1B@~_qk!y!fQllBjte+0xD29+fym&ffGyfMF1gI8r8wGvF+NUN z*P7P%&D0j_Ez4e)$^E%y>O1*) z;?$k;^W>@D@f>>K#Ho+uXWRQJ8NQ_ct5ZJ%zN9|&Q{VGb`F--7d(6~_;?Mv3C<+V; z#Y7=cv0=8UtS#@nB1s4lIz=gF2nxkUA9Ne*FGPj}DgePhJXw)2NSt?)trLH%V&+HegfLh*$vTL=I%+K_y%3e=v7us`aG1>&dkLShN5q&;R7s%~6^br+ zHtyIdP7of;R6VZL+FfH))CCrW*P5cGKYqrGe+!k~OkRJdLg6?NRd@JL|BR9~MP(6q zMF!<6T@zE(g%*XefNyTE_=vA!nOyS^?OVL)A)G&mf|3e-I2wdPJHJ4s8@!GKaaA>% zyxO`o7irusWr}%X{V0Wb3VsUsF4U1*;-42N6l)G>QN)j!=T!P9Tb%g}mA-V#>n-66WlE@A2BB20RAjV>7DWkvs=orijy|Z?SmK+$xtvkJXM5r}v z%<5sfP@Dbwnwwq#H4py-zr_{-RF18lkrHbW3OJt(klgno}nGJP-DXGY_QNE973TV@ezc)Vpb&w9(4^4)V>r zsgQzt1))_Sbh7ynfyT)7YUO$={>1NIyVsQ~wAH0~E9Mva(JUNI#jn)JZ%hI%tyEWq zy5__NBJ7b?B!|h#{gj+4CwEbDhMau;Hgpq`jsrPGW~-d@`0bpBk?dJy-XOzQ5PZ9w zTqxH_)p;?c3td}MFgo^Ca98`plsH=_^E+}GyFv zz{sQIB3i76xDacwYm8UlVhb@^I`SwC4OAJ2X>*$o$<1B7**=P|DS23ieukuxSAvYi zd{vqq%xgY{4E_t?jsvND9C`rlbTu;H8zB{*1dsB8fk255Dn~L2NvWAXeiyh>aAxvG zh#<^ZS!IoN$?0!+UNDH;DK1CBCn{0;8h#4+k5d&2lL<^)$eRf|5^Yq~SVQdQ=c7^b zJ#=B>!2oiRe$G&t_vD%zXHwQ7q|tsLFP)B@O_bd)h?=kob(Ub>0hJE(PXN}{)bUc} z@Cv#1KB`@32{&&zf-$Or8V2+Wc*|5-qp2(qLKTVur>jeUaLj5|@R!(%4ryZIboNSz z6!G8F*e4yLBlcl%CT>7uQnSvRJ;EAmVsksjPaT7mX)@JGvpD|< zy`b2D)fGP|P;es()*D)}yu6a(yp-R3uMGHDa4Md3*0SfSPJ&Jj4=eYyV!+bNw z&}2m&_It-%VLlrhl4GAiWbW9J8n-D2)RfloxO?Q6jur*)47kbDv|T8zE0!*<9^Sx5 zDHK*Ey&EMPmYy}xaZ9k>&A*rDz}gdwG0A)wrMMkjLG!FJH`41u->WrkK#eC8JAyNm zN;yNbkI9cy@-LNihMtjs&*S%CAay8g7s^WOEP*^7=pVMI%-d-SC$MSiQNl|0oH}3l zj{T_4821sn@Y+;-yNZbB$JsHQ`tbs83+AohT2F`%zZt|3*BVW+HP?t8*Za8wF>9cduR78jqHME(Nl>O7241eJGgvPc zaQGAz+t;aD{3w`>*Gv)KVE@n**ehdm6yAuqg`*TiM`MXpp^}EI8F9~&`R8pt9ILbe zwgf3Re0X9Yi?+rO?@o`d!;|Qt8Lr5ATCl3hbv0$B`;`j5ACz`xO3ReIR!+%F@vx&u z3x=tvD>8nt8q|4@e)N}@M3+b-s=QVO%}IY<=fKyOe*y5 zva+A9!Pl&-^o%nA<(zk@r2JNAkya~yooS%91`mT zTZuEk@S6#8triN9LQ}~Aa2!(la#8(uu0myf;96}WKw9e}U4uqA<}_S%7B@?Vi C zpt9tH`h&I-R^BCcl-_YD(bojlhOdd;3Pr%NFZwvL2FUL8E zP{Q)l)vyg+ip1p6?7J?WV84FFj)ldBzk;PF<*KAf>VTsQ5dDMz-em+d3hyPz1ODYI^ZW6RM0C>=TmV3Q(55 zE3HFAYqDgH%yJB0zGxJP-_J}>J~c;xTvvkgW2HgM7cq52qCK93okUSOh;nWg0VUmYH6jG%gJzFh0X6UFT|UpMq9`8 zPk?xcf1p^NDw!quwIcr3<|HJThZz1GO8(>4HQB3vcK*k479yS&m<#96t*-PdRp-w$qW1 zy2aR-6=qW}HYu*3aFwl!8zl5%@5DLqn-!ls9fb-p2N3N|PMWp^m-6{n(4ds*G_<0_ zV8<=5^?uJBDen2i70_Z8*rqIsB5#BleM`;QIfwZu?`SEpb+-hYccWAhR~exoPI6`2 z!yNTWeT7<6wE&ABS{d#0(m~HP^oylyEO8C1dWX6Tc6{R1AGD@n@9piig_E2}M-7@O zE8f%v-iUkABi@3fLl0{_%7=$gYw`wYG#?|>4$%*#paMLPx};~b8!<^;E>Ol9`k@r& z`)-yI+q=sZf?T8@N?AnS3*h*KDd?uHUDZnDD(Ht&*gG%YVwTvnus8yR(+{OAO8&+z zcKy+eARp;>tcp(-#qe~tIbl#tcse%G6jur!8|bGm{<82lF`ZpXcsi_x;K%UOh(C_M z*7P0!NL(X|zh7hBlM_QvU-NoPP176ps}+Y2qu~@$7=U&MM-Pyjy@JOE`f0_VN|&RE z)1ldCIwQ5=1^m2%zuovdyd%EXG|}EnvMA?!$WW415&VHWAYT++G4cE@$QqpQJn4>E z7i5Lx7AYhoiAcZbk0K_i*=f7r7e_pTxaHtqRXE9Zfr@`db?YQAW|>~QQSGV|E7`@~ zAthdPs$Hj0Nqe%XBdoGXmVH9$#ftEL#nTKEL$PJQf-(t^luAa@h(JGu|Cyo#vH!FRBQ z>8WCEDtjh9LwJcbq|X*cvdoMffuY}ey$$TgjJ5V>Y4@O3N}H}+_a~)dwZozk9tfRG zt(4;cZ!&?J;<|iQwaP1McGhC|QJb}&V8%nvqmoUH#Tv!O7~06sSB#aXya{Ru^rj1> zctbMDb1vnoH`H?VD}tt~3f3NE?O<2>O^@G>Dt?BcjmUD#mET+_@1(r*4{Tm$l0Ay} zqWd-sDDxVs)w6*9QAM|KdLi`!{CfWX;@9)&y@S_wfrn62lqkgh zI(QhcQZj3b!V9gm1f5&Oh%qg`;b&m(h!s_Aj&R0BU2XR$M7QfR`lSX zwzE0D&W8D?*odA~{6}WirFQ!dYx+FD%(mzrvM;387oTpIAg`f0f6L#F^tC)rvV~*k z=!i2G9kfK-myY}kbe7=>P^@J3f~KYQQ&tUX`{(MvkS&2|<>%ko3j^l}(^$treT7+U z$e?LLE_-~CK|333BcRa~c0+fSdi$RJFlf5aosAjXNB0U0CFsR3Zlq#W)d`Sg%7}L4 z*AJJGFRhaoRfoygBVHIBF>wP8_lw3q5HpH*x?L;RSF33+nBKR79)}&`?<+1PS#de@rK+d!rmwU0sk*wnxBl|d9v+iawH~mLTI(IK7e!QEeLz{Q@r1UOwBAvz z4tBXNP$P_GXQw2YK;ecu=xKpa13VwL6}0WP+$yV{nBeui&DLaR2wmCs>`Yw@tPzl& zq#4Ax46OyON0mw}wq}SH$O>E&e&EMn*=p*JfT+DEv>9vW&B zs#(j>OmTV)>!TkU->_e+kj1M}cQxClU6lrPh;$BYHT-Ml(CdYJ*gk!++P_^GrC<3Q zENR$+#2@YjCc&;{s-glZZ=y3q%FAq`6y1heq-hFKQFkOuGPEhS7LJ`WMZ^J#e&yz7`*;yS0nB!}WN7OaoP@~ydd5B8Ya%BS!0`ht*Iu4QLIx`i=)?x>(n1t$BbUrSlM8^ zTt1y09TB1P43ar)nOf@R%5Qb_R7m5r#C>^|j)et$E~FF42PM`iNaM)dtKxfDkz8m(_bys(zf9qmVw~KMU+wPFxy; zpz!p<`^=6=baR%adb;DSFPPG!MPfW9f{{2A$RbB&Wz0tH`|($aKNtR<#NV^{+k(G; z;qOmKB(OO-6Cxat5`RVF7CV%a-hCoY9=H390;|b=I@v_jwDrJZDWpf@+lqjXG)@b`?5-5>`8B7FD(=msuAL!r5RhViGp3Jwh^f5*1 zqT5BK9qY&R6nfJEa@ZtWPf4(-rX}xp98zeix?&ccg>gJEv%TTr{dTyc1qPED=5$`jopoD}KoaA{3i3}C{ zA@4`1fd3d5BW8DGKaWr9wDGbm{4K;x@2Oa~3GtzGd>}e5O>bab^Ck#Sv%B*8c05lL zNhqmD-tD^SO+fz+{h=2!O5anXW~{WLx~^!ZU7fNR!N8?K?LG`%cL>Ycd*9l7DK`-B%sqgu#7HmX%R z3dsxI=YuzNi1LH%UxlE3ar9zwyj{YXr91s6{HAXv%`fw!`~(8n%}xzfZ659biTTV zE;U;&1%>L5rM}olrBst=39qmPlgHyAxO;NnUjKy9!c6v*4B-;dq9ecD zovMX91xHpNTOzu#jN}inkfL-gFWXv_mHZQ(INFYFiC$YA z4mQ5SxL;Z8b%BXfde~nFX~?X{d1qMYeG;jIqou2+au+ZL_2RQ_TvNFLFVOTjzd0KS zHD5btioI&e^{j-=6=uwOL-YGY;)*LyTMPE`iTr*bBV}(e~s^N-7YijPGN;{`JA=O>8shi$ni>Ahhhx3BC_Rgwf zsj~*QWoo~m)!=LJk#8IL4S~XZ0U~v`y4Qv85`0?m=L^~jKv8u>RA#2CtP*CE=`aRd~l;XjVQVr?7d`yV(m++0wNP{z)fJ)UcRAiL20Jl;PPn z^r^^0`gy)9 zG=3kqz!Jhg%iYmo#smT4!dQB+Zw>52K2)wp5GqYKhD~{XUu@*f+<^oL4$6q+WNI78btc@^O(1qn-AODUO z-W}69068wZQVJ&DVl$z!^6uUx!B(`|NTfM!odi1;pWeG2qakFrMc9VdI|SzEB7S-a zp_T|a8DC`Nk1waF4JV4jyh>CEM!PS86FM6C64rY6+=yqvTINsg&r$5*KY@o`kT~Wh zw(_1#wGla+uK-xrw2bY(Cl`bj?j10tfLPu98m&}1O;#+!SlZ+duy1oi@GeOIg{SEl zDW4%XP$lwtWKv_Xud#}IM+BZcT2xfTYVM80DeCOKab0#|g_%s|dGOJg&E%-r%0gyE z_xMYjaO_-^6hI^t{lSeRdz0hX$XPu@<6fl=&kCcBia*R2&(g({!$w}AVnZE4!IXY! zPSby2*7)!l6)@AnnOW(xAtxKn)(X~rcE)i3c85W4ZUs$XK@lkAg8xKK9#GRO&GI?_ ztGq@45viL7_Q>p*4m+Wf(%W|S*6gSxm#<)(p&?&Y)c`}oZy1GNe5Etb>;dXsw*kMf z-uIoyB&f~3J1-=b7Jh<35S@MF#Pt-C=Cm#of#;!<^OLp8c5Y? zpW8r9@7wyvrjIT9L({a+W&Z!Q{ly{{WSNsTse%?GE!894i9cJRFo5zY7Nu*IvZRP- zwCDeeJ!6@gGv$)kTjUJp6Y-QvTci-FgHv#gQx@={1PL+XeUy@?%P*vS;8lh76@WcP zmQMrc{u@%}$GOR!+Z862IrV3ZZyHOSmk}65yB8~-S7HyOR9$`GuwO?ha=sY_w; zRFKvr{O|)Qy#{IW1@XD?-Qy{FjnW|5LCLq^3}WP$R?zPQ7>1EoHB$`C5Lmk$2g1qW z0|s@2Y1%e?a~`^K<$L)Q&~xl|fiQ$yYapOJ4El?AP!^K9t4<$CA%oOF!zpL*U$9?# z2We#hf%!SMWPbmc*J&Gdj=-*g}o|Ak62ni{w zvUKIH6)f!jUNOly^I@sOyVD2GmNqSLE3^{!$o(U8o4%68O?RJFGXn3kypW$-w2@`v9OnLbjR?8Qv~%*aD)jFJl0e` zn?1j1uss<8?gP)&@gRQ#op09}58B{hg7|^IyU1u}DGtfVBj%t! z`G~drQ&jNv2MOcp=j*3{zxepFA)VecgF%maP5OFUXB^}V%lZjn%(g58o5oAadJFHe zW6Q?dU%~|WSOX1|`Grzx(~AJhEYglV?NzG?y>@f>pRx|pVA``Vd(bQ*cwT$!eDzHf zkUe)f+713$bzHQ^p{R7M2*DqY^COM5H-bv$wq!YruSm)#@-Y3<#H=W1K9}+#maXd5 z`i{2X)f2N)m7c)W_hzNubSXoerLZwHOPBSH8V9kjRJTsG`g)9}vJsPzv-*0dHKe*z zF3b>3?*pJWG%rbAmx@S993@x(-qCIo*B#N-RCkhW^s3odlM`SdqeauBC{0^K3ptDs zOlt7rSjoK+3w^4<9P%Dn?~&Ruy*f54HP6~>T|R|jQsdV<+LYCuJe>~)h583mJu#~f z=_kz|1h#oQ+B)bj>urGtgF1SWpf7l#w1LK3KuEL-T2dKn2SfrDUqKtWP$Yr9=Ai`0 zd{3;Teu5o&AOUmv%L54^Et1kj*Ji{uS3G(bCbGe?iK>GJUrGW1CnsRXU`r znVnsF1=9sm&31xp7hFmM)-@uAnm(3E<}#cKKy6m@V0ijJ0dZ8EL9o&jNJ;r^cwQYF z3}WTamWo?lxgx@NX6uU^nXqDL;RR49%+hh{>}*4;O{2eT3z%u}P>{=i%yHIzrk5|}*IqZ&=_Xv-% zH&;e=9cluS(5$22Qt0A~PblD<*x8l+Kxa*bJvNi1z`4iJw@u}^MN&Y7>?bJ@%3iIQ z6!jXmVS3w%r*BnxRvP(T<&ZTA@ej*DSvJh^l_NfaPx^PcEEv-Ltz_M< zu<$o|_54*Z$xGC6F%|1aRpPiw2sKklpm6gy_Vy}M2bcf#DHd*@7S;!E-81=MJpB8? z0=CAkADx2JoqRl6jH3+Hg1NpEjnj4!$FEp^>+7p#2E>@nZ_R1T@dv;O!mt1Hfv1>sDQwIfdP;D{p7KLxxf4Ryft?J~Ud)na0*Vv!IED0-CJt5_X$leh9`2SXB`73d2efzdjYOkWdq>t>Qy)@Oq#Eh2N^5D+K`rQ1z!#xO$4m4M*?dsB<`zq<437u}xv;ybr50(tdc)P) zAX@^T%%)WK6?(8Wl}l2uzK(o-vlRp@#)8(S;sC=k*T#!36T5Tmg#PVf{88F#)#imni5=C5q#?$2 zj##N#Cz9}r=;rq1YYWBIAZ5cTCZetHVoD>)hFaI{S z>EW;m=+~ffW_qqzvJfuQ5y}lDXfQ8B0+Bj$WYS4Tp4KY``(u_IHHiiMdz^%%A$t^w zkVd&`*m{h7)Z^9tdS(n;Z0$a5nKgpXhDF!UumA9Py-jDqdG$d88QnE(YW4E4ZvgNt z-z5xa@Yr02TL>9nz`m^>(to`OI554Jo;^v1!>C5-w|(goRPQAt-$u_MBX_VnoY}z( z?Ff_NW0~YkQ(5KoOLN!<&aORI$}iQ}e&xZ~RBPaQ5fz>|OYrm}bETYXnZs^4lY3Xe zUhGGCZ(=T3wD;eKGQylLjpCo38?xXz(dX;=wD`aCA4c5{ZI-EIT{1QR#In9 zAz&Q+Pztl-1&hl$_Y!ah{ZPsh&cAERSxG=E{ZI;;F9~?mVV|$pi5u)p?MjLB#cdsd zquw{a6wB4(pjfUw7uZCXKB_&Es~C&y50PAKlWT-M(Sw;{cNmc zLmufbKs9@$J3Oz_BQw;)2tJU0j;&yqAJM7DQd)*ySiuH7s#8xSfDFB|f-M4I3ISxO zY9-tL=wS5>0?5#~mF&`^BgI9nZ2co+*|H6hLI!(uLxT9>e71eVye=DPy^L9fG2tu= z?k}0ZG9DWwRIz&>>m|I();|_CE)1lQ5PtgCSacN+oj~#dhmh^m%2O4XDg&8Dmb^ex zksR&No|h`6Ai$=xuOCZ+n>^_8ZiD~R$vlke)>-MRK{lXRidus#h%cKq~F{3bkcI(G#ST_8K zH&{1SEMNsZcrHua7$LmO25;;GAH`i8<0G00s}CRa(aSg5ck&q9n5I4fG9duW(}^GW z%AF|)T}MX};r^=K{xPE9dLGfwzq7&L?AvK0_{^`+KBWI#7WKrW0l~o96U#+EFceS! zUST+ga<_F^IY_aDcb~wXc_KaX(seD2pWp&n(2p6uIa2)#fvw+;20DbcdxMVTAo@ z(C$kJ1&Y|RP~L35@PzW}Gc5d>@v4^3FxCU%4eY*W#)!){v)7-A7K`p<_0Q;q?JVHg zbn)F`Y{0XFJ3RzDEvYp%woW|tG+X-YfN=jFf!5n&YF=d@JUb@t`7g0&$R^~^zJRQC zVZPwcapiNadXdFHmpmZ?#}``cr>&whz|o>yHImR>ebWqkmImcny_)jk(7 zVWXZpBLik=wyo8+83kT-26(o%MUOsc+whm>-yuFk^BaJ@&vxB_Fp;K(Eb;kB!L=jn z`Lp8P+T&o@(Tm!aX3206TV9$7d_eeul#|!&{jW@yv#2I5_5y0Ld0|_Nfo%Q@z3uDa z;xzp?OYsKgM{Z^zHB;5z%rgWh#GsrJYGl~N_GS978r?drt<_9wHM6}{LtCq)n2b_V zvyy42apksFhS} zuGhfBX6;zW&!PZUlF7Sp7(ebydlzQ%gKf!y{Jpkh7T?~MOyyhKl70CzZOI(|Xj^hD zucTxMr0w>Z&<*%f4}1K@6rqysdNC>RFjS!icK*e1UA6%dD0iYsFWc6v;ls(iW({>L zS1W7?8^3c5r~qm^b0?O8?EtA6&3bL_CN}-V{;?(Q-j48J1Kwo57kywO&B9JEwIJfy zYm1aazO&FAzksPP;twFt5PC!0mK^Ye7o3QKuSEHo5{+DdzQcvoA#I=S^egC z`^m#FD{Z2RMiMDe1w0F-DR|l!UcKD2K+d&5D3{7DTW7T)B|+!#IVo%r1^(W%QO3wW zL5|5Y42C@!r4+fMP19B=oC#%T@nK5z_T;Q)HB{|BIY;+Zr2u?e!c)5qen8 z)=bgvVT-qBW~eb+vhE{q7!asxDM%kkmP~6TB8fJw=8&0d$UufGQES<;t?Q$=x^V+{ zTu8P-yDXfC9V01G?#$v7k22d!17lyp`jT*!HU(lubudWLv`j*PDtXSQyqY1NFK3mn zjuEq_v4&TZJ3`$hkw$LQmRA!JBlvxX+a%QsAA@q_P_4rWH3dPk{1_tLw)MjK^sa3a zJLFWsMQ!A7e#mxiyE}EZPtdKdXvM0M49$K!psuFrH)sNFo+S52Ea$bp;*C8#h9KFg8zDuPxC97ptNG3aQq}eW*nd0&N>GkdULC<9M&f*@f2(;zt5Ydp%lw zQ((ET5A68>WQNg_S;XV#5{twUHn4R68KDOD;_GSR^E24d*E2;`2^0R6Eo@}^f5qE3 zV}4~?v;|ccu7gY}4o4g^d}#V(OG4lxvZxO#6jK}ODjQ%2vW6ZM(nlS{C7l~yt1tm_ z1n6mYRz$hts?eC%aZL#Dx|DipU{wwDJ=qx3x-KXeu@2YMY_0lBu{C1?>H_M$l%Ft4 zF}aXSK94BS#^S_Ls*QBt)w8K@^i7?)OlJOew`XA?=@f7s+q&|+Lzp^wvs_cpUVq~b zar`xQ9pTz9u;e$#iu!A8&YLO2tXS4$n?q=XKQ02Ug#dZvah@2Ml@P`Cr@Y_g19OTT zg81>9$r+nJBE@U>SQ5{4k3|9pLGtve#8S41)Ah}^;C*DK_h^fFL?w&ct_wMabtWIa zx}9UwwwvsIzeCyGc3{%nJy=)c%#Cv9DxJ8#BZqr$I1cG_Y$nD@3U3I%&=+0NzVkl> za}1E#H|kIR7CJBgO{uGcaR_alr?zr^{3KJ3E~$s{mp^Qy-1!5<^qwh>UZfgB#snZN zQ1;7xN#+_piyChXDC{tTv?LEyhZNVkHxCI}vesxz~Hp@B_AM()lN)`RPc(wV5~uuWS5+m4Q^@ zHY>wOqMR*2k#mQ0?Gkef<<{ZdhCNxOXQoFyanYDw~C z{>G~q2`RK`@K5unJNVu-Rcz;uL1N06?57>k_V?az?}yOEMgM?$^3CnX`g~6fTqLr` z7Fhx*=<$)Z!nTrv60Y<&XpMB#1+KZ7h{CqdN_aS-A@?|2rSmHL1OltD#$yP z?29KVHJ0!nzksg`p8jv4H6oaxY4;yQ=##Z={NlJc5Ahpx1*RXG^UuM3$Og$8>SUh% z4&g4!r5*WAf+i|FpR#lBMB6XT!+d-UR?#BjIg;?7jgAoO022(KPJNm@W2hz~8Z=MT zXm-{hG_IM#yP+JC3Vya}Wv8|<9}rHV6{8WN_C7Ex3A1v~QZ@uItiMeQ6m zEf(4{5O&OJQE-i%zCx0L2OurgdD8Vat--id_6`mwgxiD&k)kX;GdA90d_&01d7UHHHDv7x(O3t0~!La}Af>7`u*I}Nh|_QiH_XHQ6SRIWdvSM0d^9o~S)wh;GQ-GsZ}oAY zEgTDmZ`;a#+TAZa={j)C$Coik41~y$X|Sv9iHlBiW@=8~V$GoD-fVlr=6Ydvy#W{93*?v=BOiCKJeiQr{CjN-uiq+hpp9_uAG-X;T^teXpDTUw~i;d^euHE%MiQ(dI$VO7iwx zs{^gQ)>yvQU+l5=VjsQBX1|w^mkEH$)BCESQETgqU%}e*xaVq}U`^mz$f~FNMYxqF zClMB*;DeBq6cpDpUG^uI@vej?JNjM(ZZLlLUN3>O(D&mEUE*k z!cXDBYEbLPsh6rLO7$OT86^|F%hcXwDvQ@>fkif)f5H~L-*575Ey)7Mc{BfT4H__9 zdAI3zg(AB^WmWUuLGTj!m+^R@zV15oNb}6~e9~l z&K;V{@!)l-;;<*mB9yocyYX2I7GBd!cxcD4n!!S#bu!WTf!frV4R?d}W<$QEI&zhw z<7P)&ge7!(5np~cd#|>K)=wg0Qh+V2p5*}p{`$uT}S-aKYn8wXdvQc$8Y|H-Y zE;R-1>wUMD@(!__y3fNt$G33Wszed^tBt4<#zr34C|qHu4lL`jbrO|;%l8=V$ulQn zTG|{om2dgj^3k_gux*qW7}Mqlj!#35--Zb=l zzWceGP#X7R(p-kdB7BsHKFQ*F`}X^{Y<_)7O#e6AQ3ylQnc4JD@InFq_6>HfJ}&9z z8Frd$ZnIx&C zPSg{|SWr|{$g7Ff5cQ`;Y_BKGRopnappd69dxJxK?z3^}sA01|86cS1)1M@TeF7*31=ZW9 zrIt47*(aY&jok!&>@QsO2!$H)4_*crrNvJFdw!mrzx-wP@X_vK@yl%6(V61jmzet4 zKw&N$bu8Wf&=`49tIXOHq-c)=96WF3n@>j+etUaPfGw*eRC$F7}76dyFP=#xFg$tE`H zyvx>}>elhqtAS)c z5o|B8H%|5F^(;gZmD5zt$L=Fv9N63n^HftAUM+}6Ctfr^TqQW+;Ubfe$zD4{(AQ3k6drHw1q<)7MU;hNLLuAoG7>4C{ zu9i1D?ZH5*jnC!O$$7lt2(1GZFrlwpP_T^SVxsTTH2dY#PJ)fy`qUqZ#BOINSohE8VC_hs>r#6_!_?JKJd*E*Mb}|}m;)`TW3N!zb@xy3=_M_~F?22Q0uNq*sJ_^tehc=`+lYzl$c(HhvAGch9e_UF%}-FG*3 zafmFXp8uQn^8;$fFulT>;T-~b?j5M-S6Cae32jIIozpRm52G|m>ZZluCZ38RwQ0En zpGK#fh`{zGCTeYJG#7MG%$XyuYDQ4;$ZH( zu1zxVi2+{k8o2Hf6^g~(`NwVyw*v+1E0OxUIR=rNFvtY+RaihKC+=|E+LYH!H)+mi z8&oS3vIp*^=mlGUIf&V*l;1E%;TCln-63Jluhda5%2gaSIh(2KIL~`z;|b>T*uTCi z7iZd8r}H^cFF)C?lQ@xdB+^wOx_9x`SKYdf#Uj7};>?*efQ0@)IT+XEpF7`c$`t-Q zgj##Y)}D?)>Lf?{s`lHUBK`@XE!EYw1WC#&!t`KHs^Bbbzx};|q}pF&HdyG_i#uB| zjpLf4@GF%PwrkjiuSbecRIuY;>qEcB^!k;!x{WOQo7j#o5f3Lq{BL9#}9eJ2Z_@Mj`c$vK1d?$ z)_%w$A0$N|IMEL&_d&AsfiwM({OLZ>Fn!>?evsY=$1$XI>gJU=AT2g%b1 zF7!hJeUORzK&u~ec^j+#HetevZSwe(`oO;aj2a(Ar4P*XL*DQ~GWCH|{gCH;kb(NZ z8GgvRZS2=?`-(HRv4jidQ8!=3MC`;76#g06?F zg`Av8$%RPbgMC;8zLmr6A7EN>i#op*_la?ZxE87n0(&9U6b&rvyLd6d#7e$P!<`<- zcYPv0u!2dhKp=Ok4?27pA~g(OMqvBDOUmqpwL~J!x6hJJIPMa4l>(&>*1o6$??F^^8UAhJzr*~9}@LSK%})BQE%UB{G`DmI9x4#_St|abH2%^ToKqR6JS^sDs5hq=@H_0Tzf|6LntAn{bj8@dbeROs3Wd z{jDXP)2_ka06%>J-dNiT1{wXseORqtosoC(dhOswuuK=e)!DYI z^Rv}B&Nc$60S)LMMkmLtV+sVUhajHbgcFcyT|Pcfc?#C6@A2^n1kD)EP&m63LAM*E zj~rho=(Hz4LLn$vT4(WjXYnb=4FN%^)rRk3DVih+R;wPBlup4+pai~ z8IC#bQ6j@Of?ohXkWu+C{}QQs1+6Tp_&oBG<_1ow7^P4L1k4ScDkly(4Tto#)-cCR z6~1Vu_Q2ImsN|n<3T+1tTxD0RuJ~SIn~xT<`91%}3@lWYK>t1OjYx&$@D`spdD1~@ z5L_y4l!{LQb^6GqJnq+UzB8eFd~Wii+vRBl?E{FA49A>flxRML2cmf?|FAO;H%$J@ z|DctMC`m0^lmYy+2X?rBUQ1W=5}Th?X?E4Ti%$qD*!#`ha4Gn7^V7FM5B_?pV=h)q z0cn0NHucg0R7$w~lHIRN(-(+fL3ib!=Zhu)fnpULaVx{t+@Np|JKS{_Bn4d`@L2J& z27D#t%i5bN&CZW;l~m`QojokCLaS@2E^W4m)y2P7=Ug4Uh8+Zzr4rL3}J|aK~7q`kfVy=?k`7~4irq7c@&FLsrT1R$Da`k~Y zk*?AE94*ny0v!7jHM?~9c(5zi4>*`8?Z;YA1sgS@Ju?L2Za993C{>3;T zfdKOAjf#74M96Q|>|q`+x7F41S?zF1w+Lau0h z1F_A-SvDPZ7P@*tV&~l$G%MeN4da*4xz8MwW@l@!j>wz~yAoX|ZgEz$t8@t%90YfO zqm%b<--cp8UQHMGa29=ST*uahU~{rsw=m1KMlqSM@^wP{I1|gTbOF!r#>8)$I3{ zJ9=0?rasiNofK9^d`C!s*?!t*TJxV&Cah%lUtbaW;L5gM_}eSkwd=z|``?DlS;2B{ zObh*JMSB@>1$+6%#13C5X{R zBJ10J8(~Ikf~H{~S)F8qvzGsJADhvd5|@oWXwLp%VZQ4zl3`?F{zq#R4%NF_yXW_Z zS`YkO6{jS8eAIM#E3UX?+s@mf`K$+!lSr{mIJL~hi==4!5~ot${0-8jYG(kxQyR%f z_=-7oeB1-9$L}KrEt~cGSbX(k+wc8F({gt9_jqwANc4MOarAQ5=T;x_(s^dQH9;$1 z6KJLnG-{w1)jY+v-|7J!?Xz3&#Qb<2Jsg9L3gXK)pv@7maVakGXL=*p(cc3DbbJ!4 z_4c&;RU%kcbl&&A#h9_(Kb^K;YCe9;QtTc0TlFS#eX00iC?oRW*BbUfpsUR534ljN ze{1TgQWb>yn)V1B!w)I_#E3w zET27ENHRLZ`P71!pZHctOS*O*Rq>TWHFg*9Nj(3D4de312E$tSqRmZVm&yO9>hSqF zcR31*g*NvxLC7z@4vFCj<2S9ulB9NV9g=jC^OFNXU06h94w*3wT^g>K6{}_26ijmA zMKUG+>hfrCPf-e^#LqI^Zl#baG`ROGh2B~-Mi0RQ=4yep(VF4DsT3C2pIJg3lU0DI zHymHx48=4KrCnSY6L4!x3Efouki;6Q!mG(orep6W+c7>pX*Aq0RFlnGQ0Ulmm6_Wzc^Jt3@C9wt`Y|K zPC_8SDA&LbTxtoyzS0PNwk zT?@&-NJg&n*bDf{0=KoJFudCi%nkGp9hefEKrsaHtNwxZbC2_7Ir7Qd)Pmo;5{bq<@ z7H_1wqt!xpab$1zFtso}>bZAm&BZxpDixEP%m{OK8B_(ZE4trQ3(;|t0f6GFsqEX9 zh-*uz-51ot(y+y;u=y6AjZ5Lnd($a{-*u;ZeyA`_Yz%O}(HR|G5!}Z+3*o{!x6nx# z)NAP^40iqVeZg>fj;-rkyk3Q~>J>b$9dlM~!Bexh)*6trtGtsiS`e??>E5gn26fnb zCrz`q>8$%}jga2!g^B+|BOCmUP-DJE+(Wd&=c>K010X%|g1c*H;U2NuB=?HWSTo7H zwsaPhg19``y(UZubMNgU>=!o$(TiR@eTVylFd=5Z6s1CO?N?_NH7$MQbgjgbEQxmq zfGjONmj+mRPQ_kcb#4zVg*yjUeYMBkF@aCh%2 zM0EcIKzsz`lkQItWt>kuN27v&auXH4zQlU3`;izS+5KQwVWentyKB1&lZ_aV*I7kq z(WqQiHK>EfOaS1?nU^O|&vpTqY8Oi~xzgl;`$(s$+JbVDk9-Z9N)=QTT(q;k>z)%S z3=><%xnGVHdPQvjwH+-O*JDUXF6yibr5*0?BZagXB?Oc)aI`GZI0^}&_hkgUGPG$h zO;#gK*9$<7ri-|XrfbyyI$bz-Tz6LOc6SaJV*375xIJsTQT2bHwW<#89Z|x-$oXxv zW|L=)m>RQYcHcr~k`6GbieNIr`|;{rUzJIcR)#ipaZiaBvXVOI%EYU>s;L}|Jb7k6 zlxNo8-fs6B(ZaL;<6H`#xEI6-ksbatb$8ROwZuT+1$x~RV}&?TKh|xD6_O)Al&3)^ z3kZ9XTITVjQ3aoHGmMw~EQ%o^jKA17=OUmET9#tB`8aqh11!n5L~QSKe_!pX?^ zQ8KzNndo2vLK309?&rG+#rYGVqLa~IcZ3JwJ3a_~+70>Q!3PuR5omtJCv7CxM$osA zAMrQ3*nrxT?`@Ob~jDQQh5Z5`={G#in-MZrfC^_XCj3 z?lH>`{lTSO_~hI9>!!MoBnZ)>snN|7gt$<6oqfKvP#$1%cTN+b3Dg80H`RS3QRo(O7F;MRDz+SVa(7{1 z*YPOb<_T&WNUPC(e|MoIa_i&%!qx~mB4#icg6m7%XOSsx*yA3YBuHY!r|!BWp-<#g z=&Sy2lPsP1g<|S9+~`&&WAlshy89*z$?8{RsR$>5rs{3?^kiYAy|fKtn`^F-X?>xH zuf?qUury{H&RD~6X%L@3g88K#J|dv>0vx`|g8_;$lHo8O&P+18^WF2%ZwY^k9_7EGnV)y{?j<}acCrpmyDXiQ zo+nF-Ct%l+-oh+FeJ;O^Z6ovDBhrLb;*@;%2Wdj}$d4wrwEknIu8yi2$n0gA)1IO0X@;4gG?=ZHeKIPzca6{3*Zbxc3VjWaOn zb*m3(v;Fb~?meQACZ2lT{kt3s{*i-Zk_Em1PCcz>Hmh3T5$%QS&#qRz-KQ` zTHv+^2R=-I;{d)vsZ0>OZd4xm=oRABK|2Qq=T+m z7om~*#Lc`Ph!f@b-#A)jxGWW++GyTa*y~PL3Zb#z$Y-mR zziHZa{8jg%zCuo~sz+tkBMwvX>3H$6UMipG%OK`b^U>~p=|Xp1>|N;nHgBov^$*NM zU-CliPMDJ#c+7cgVE zOuFxlJk9+hIu6dH1CHxkcb5!dcH&=+Su!yS&sMaa{zkLU(AwbMkRkLQdfQO#xTwBb zD_A?8PCo$Iak{ki*{ikq?8UQRo%cb`mR@-lFIQ`|ROZ;b?%y(mgf{PO;j?I1Znn;y z)=yZ``5>%X7O|+vi2whiM9FteaPR6TR3)7(ZI^7J+>O1@XDs$SC?9)pcQ?yjmMQcQ z{^_p7!~Sd*$$`D71bXYdo(Fjs+Ap&LVYrKxYa;+b!L>*l@$tHiC}{E&SJl{0u2fce zmmF!kmxVhdAYS{4yl)Zj@)nBX#24i|@onaZ4TOx`+#5*Bhd(>qY&iYBP48LM7DQ(w zMS%51YtTsjpPTZtS&Gk3PNqFr(qyw2K3n1}JyRmx1Pcd#aOx7gnI}fW$kgGzZ8m5h z`*GXepuP4LuI|TrldnU>s4TapHjTypPhSYg6@uI!^%vrWcsK7aB-<}xtlO2uT3629#+O|!}%pa_`g@={{sYv7v9^zJ<;ou$9N5V-GP*vVXJL+&CUb( zszmKKsX-yfOA~ zO-ZrHtcz(yX+>oXl@*okQrb$pZjfT3SYpfWl9_?RN=0=|YpGmi`?&dio_nu-cK7@9 z|1S?;KF|BinVB4#4wcMi!2 z@8Rkt_LEl0O^+62#D{Mu=9=f*jf~PfJ}Q>Hc#V+}iYx8YKB>3Cn(30q4B9|~M+bD# zAa;zT+>SkLgRp_&qSduH<-W$nDFq3( zoz^V3e6{?n^&7XWOz0s`Kcp0r?oeJvd?#x+btWjR+_X4l&!|)aeOPN$&yHtQIVV1d z6Kv(Ga(cW?go;)9Q+bRP)Z~lPFC5R=*h>Wv&hlvvU>_elAWyt0)nu*JWRLucwM&!J zE~nQ$;gOdzU0)aHlPzd%GU!_#vi2A_e>K*Z2A@jYZ;kfLb?2U| zDYN(d zkg}(hoxHz?3oLH1cP8|*p{5<;b1}zfE>0OdR3!c(<;GUR19}MWNEB6@nm2er*Uq}U zYyrzEpS8nTUJ2FYc zHMKXke|BWj(gthl6nRG6{SDTWQ@Bzswf;0k&WrmiTg#EtEN6~9H)ebl_vZ$yY^wZN zTy2AuI87cscrTmj_ibrhdsjcE$vYDcHCXyIW^#HOEGCQ2=B4k-mfH8X|Fg4Q?5kr` zGBzXCi}hR+N-Oqt49Ftl_YUo! zIr^6u%*2x~Tm$jwPjP^5DqLm-u8?h}MAw%)hc~I??n>r{Yi{@1vz=2DkI(17&V(X% zb}h}UZFlFqj6|kzZcFA0XA+raF8X*Ne8hU;3fUF<@(ZyNuOa?&Pn-Fksfp1^pTE#a z&zVzGx$=r%qQnzcV*8&R?V2;Ev;EZGoK+J$22{SEE#`@4^@^#YYa>Z|4<8drM1q9d z;&?AD(r0(J31>AjPOz1CB&%Qsmprz8*6JDZ9Kla#$oc*{x{mhmI;W=2nbY>s`evMx zz1b_z?`-dE>rAlmk;%3HkXPE;yN;)~wTop5t5QVFK(ScaXD!T=*UE2L;XL_@qAMcD zo5tiR!_6O7Q+vZJKck~D6X(n+9TF}Y9QpaN{&60e-WI zZ(*(fVs13sk>Y7T(|JQL#kSwtc%}SA+G>t?{R$fedv--)_(m~Y@pe(!Aj^N1e9^?4 zBlm1Fj;CE0o3d?7Vay0`D?wzUVO(}&NM ztMkDArbm-!QG(K4sr{Q*Cdbmn|4aGq5amk=9p}=xYfO7WPPByWu|o)* zE8^%e{O^nT+5gM&EuS1c!pR(=i(nwQV$#1B^}iqBxl-?!7A#3+^qBFdP*-?zmvJJN7amJXp4 zDDD%!bB!Em8d`wL(Ua)6Xb(DszCou@pF^@V3{6JU(2eLp^dzcAzeV-v1Js7TL1$3n zr?QlWGCq|{3W`VL8LvXqKOBNw^?%|oSV9jZi|(RTC! zYDFC=jDAK#+Q~4=MGM+*mZjwc)}d$6W>k;%q66r2^aB!qhld9v95yscVca|_cL<4T?LMS&(sG z(qqhlVp5_Yw!8>3KuX0iyEMjfD7IGt#rhi|4vJJATOJaZ#Nux&6rS65C{}2I;s6^V zRZQ9&V{R!odB zImT2dGBhM+r^W2_m~D&M88JIE#;h2X*m75d3^95v!iX^#V@`~@G3G&$vHTbdV)2DB z&Wo`Kic_{E#xf{Mv>b|(*#McQlr{^S{Y$k3xN4R5Lh-&+Hyj1y?~2+PP}n&!dm$W; zT>+V2mo`HiY=&cC7+wTZ%c9G(Aa6KH1{4Pngt$CXE)0nUg#^R~S3^;W)#(v%f4>D@L2|$+q5`FORkKrLtjl&6k6gvOvDH@AO5bv*#~aXD^(5`42 zu}!fJ@%Ojbw%eeHdlrVG;kvWGk{_05cJX^}BJ;NLY^e}cBWX>xl!wFtRlsHxe?Jeg zqe>J;%GzwH9C5(XMp%u)YhwrBd%K)tl`WNrSOrUETV3r^*(F=H5_zMrht>VLg!`&V zOQlk2p|nI=VqLvd9&SxrE?;Ig8v(;?oPvO=Ceg)npeP!~FZdXe-HJ3*;v2uefg z$c8ddCdxtzav>cVC+KXDyLDYe|(Ft@0r9MoK(N@Bl z(1n61A1y?sr~++5o6%O(h{EU$x_0GK>B?nG8Ko9U*DYEo6%?D0-haZ7z=i#Jhvn7-L zONj&mFck)28lz4~M~dFbx*N;jk2r zfaP!`+yK*I6&wXO!_lx7j)4u&(KKxYnu!<-55jS<3yy~;UaZSq;9ls3tn~R>GNZ z6U>J-@EW)s&W4RpJi*ceuZJCQ5j+8Z1<$}GF!_aSX$?$+aw63&gFrkzis+g8LIpcX z*sveWg~_l0ifgMPcs^VLhrlv846cJCU?m&{YhV`K4t=l%ny?K{f!**|!XrFGK&Hz| zevyp8G}sqrz$B=^e$ar)Fc*%11<(hVK=CukWl*MTtAO!vBkT*SVG`U5`@wpc4EMqj zAp)%ge6Rz`bbTjaJnV&iVf;&M0H(rzFdd2?K*)q6pbPq79+c@K=fNac4Ew=Sm<-F| z2)F_I;AR+-=`*(zNP>;9A8dgmU>o$o9w^(WT-Bt5$*>-- zy2i_-Xs1p_rJ9;-=?*A{QSrAOyA3wN!>|Ru1>0aX?1qoS9{3k{27Uq)U(c2fz#;H; zXoK&-EVviyutN-&IRwO@kPlnnJop|ghRslnLSmFE#eN=cfWLy3#EW5XGxp8GCc`qU z#ik^r26!)QhILT*0dcSkdny!uK)e_oP7onRpI-P76pldxjDG{q0tyE~I1H)SufTNp z1k8kDv~t1U!yw!O#h@d~E)RP>6plq-I1gKlYQn)tgvHpeiqWZ*z@K0_+zL0q{jdr? z2{*$Xuok`#8{l@>3=hGBuoZT}8Sn&bguU=%C_I@Y7{4W3`Us}NPM8iupAyI<@F8@; zKfoZ|4fEhZSO_=6g-}efmcXNMHDp>ys(@W^BisqA;h*7F_!+E+N8n!gSJ(>MVaFDl z%LfF6XEGj!S+EESk3)DQC$X16;h|gvrLB0SK=@?+U@~?d6duTAn1;Oq3SX^1%)s6V z75Ex7;BR3ryb=~{4P{Gj6DT600SZsTgiEk1pzuh9t5b$8PL*)}lHodR;gLuz7p_qy zb}7s!BXmU4ChTpn1`3BnIEw?|cI=r@xLBF6F+{{|1S*Ia16#1?LkW8zXv3!YM!d@u z*p2-(?15LqRMMrwGuYRNc$xmZpH?QjTo87##1LL2t|FqFm$g9r%UDFCxr z@GvyswJ?o%2h7F38`hHkLRf%(3#`G;fJNAg;S%^56wcyAScZK&TnE>}61L}umDmr8 z_FqJVkBCh~tb>Wz3ar6?0d9wP!A7_ew!m4?#tsI4(8$>_V{|`vO>s zJx9c|Lj#s$KL9tt-@qz(C)^A-vHyspKOEK)F;^sDL*rlr_CnYU--T_k35H=U?1l9( zaa*?ZN0?CMWC06o1nsq zZWzxa*Q=qplCi;5>;#;#I_pCS45^pt!>< z4!Q0KXMgWust{=4E*hxSk|mGmC-Ia$-E6y%BH{n-{x@#jjemYT<%gNVob=vJ@XlUwU)K<=NR{|K=6HU!{hF*6()8_b1F87L;zbJPq>5J~PvT(t*pQ{V>*A z)xg6dg=&-+`mG(pZjEpZbA*w_!R%=C?3}2*Eym*uqIUMpQ6?2fHl1+zj-d37)xL{& zbq3rKU1Y9|a`&B4F1|CG3-unprhHFy^ZEB%&%MjuXRVFe_Vv-UZIw~}^{Ht5Q!iSF zcabjrCF}b4VDn4SmMdBQu`-?kFxI}(p?9l(;Z*yh*zue}ko7N=n=tFa_eEUNl zK}slEkDqQ`-NG9@6W(D8_l_3%=Kfue(xE?&zx_b=6Jv+h^|r{#Nj$X2bguG-vQ0Ut zgcaF-fqjzQVV`P$%)ZC|h5b6mEsiCQkYlr>!O`LP%yH6jsng@kan5vJ?_A_8b%vbl zozFP`=={R@jdO(SLYLyobv^Ie>ze4E?f#X!#J$q}jQe?ajr((VlIGTmwa2s%%>n9=pf%6nGx%x5IB$RN zAn)J2DZb%8kMC|@$k*Zf()W$;pT0rHFk^y|ZQN*78*dnM{0scI`Cs#I^Vj=#`w#h# z`Ujd9m^O2=shM-kB6FE}xB0kPWxi^@VSZ?aTFpadhxxe~HveXxGXH7D2l@vF2Zjg6 z1||gT0e@gxU`F8Tz}z{K{ zMb4qFu`bg+HFEsVyQ|%Qard}?cE_t@)amM6^)7Xdx?X)&-LAf`ex!aIQU_=wwQ*Xe zmZ#0qey6>wsrt40P5P7i>w2Bur2j?#Qt$6^dv5TQdG7Vx?|H%VhUfR5de1ITo9A=S zcb*?Ty`J;Eqr4Nmlf6#w)!w<@Tf9rWcX*%lzT)lnp7sv)jrVGeQL;Pv}bid7i zr+=rv(ZAQ<>~HZ4*HFPl;Aplh`;;%0AC;FKZH}XkZjR)HqsK9g^IPfM=&W*Xa-Mci z(B^6PX+eFB=L?VDdyRLK_aa}G@sv?zykxv@d}XNqI5XXxXnM@4=GEp+6!kjudGlTK zWAhkg8&A283OEDP1N#E(Fvwsm_W!=}wEaeBv-3~RgU+9vBVCJKAG#)boF1>|kmv8- zB;QEi0^=LwJL3oAl<|}Cvk~X-!!i8KuKJk$%z@@$bC@~8WP@x?c>9-Xs&=h*oi%);9Y%2~ zUfrATz0tead!N_xen!RX_1@-N;oIt~^NGsU>_5Qf`kNC1?*tA9{w|KF1g`+}Q&N=S z%4lVR;!?7enaU%|cI7Whx_yFOw_j<$&VHNy4*R|Kr|r+#e{J6qvcG44%<;72H;$c- zCdZ!~ha6u!{^3Y;<~px(E^t;m|LTl$UFBNfy3h5F>s=bwe%D8?PhCe{y{><{`na!j zA95dcC#yr%QEHj`t$MFELcdin)qk&d=$Cp*sWauC4W3_nj(Sdd&U*TK2Yb`J<2g9Z zJIlM&yTZG{8+w6?GRQaCcfi-_yI34WIZhE6s*F*xlpB=Cm1<>+a)dgbU{AB>+V7!f zc+UPO`#1I^#|FoH)RjJD@?w|WHP=<{dc?KO^@*$0okWI$>XYgx>QmY_?T8lEPHS`Z zclERSKu@0MCeN#$Mo+ePj(0=I`?~iV?~A^jzT1tXoZ-v-bNu)FU-0kof8jsvA8w8} z=bQJM@0*!{qQH}ZHv?Y>ge!TF431V5Wufwra$NZ@yEU8?IR*8+8; z`a88%ou~Ear}T03CSK1BPrhfCXOZVN&oWQQv(EFd=ULB-p3tkFW>2^02hY!(_t9RL z_j>Px-p9TByhl0X=lK$S1ALeGuJWz-ZS%e7+w0r!>-K%;``LG%k!XxJ9ERVx%$RO0 zFzzr`8*7XQjm^gIjdzVEquDrS{KIhgXZu(ApYT89f0_Dn*#DLPq<<(a#A#k`&Nk|4!FD&v*`cj(I2e ziha-f8hrbFpZJQ5CyZKSkI_PtPVuh}`Cswx_kZJGWUe=VXMSWp8rT*1G$3YLir85{ zmVHH!624 zzgAk6!S*NY@7lk#D~=rJ4^F>piz~@J%st&b%RS${++FTo@4i-jP1~Zqqcv;eb%SPC zqTi!GtXJyK=x^!udWGi|PuO$Xli(fay~KMh_392Xy4&0AP4uPs(tMZsX8CUNm4&EQ zEx!NaTzZU|#v>HYXU5+RkAH^$2LCeu8vj#_WObC#5&yUTv;IM*!_1-T6q~Eej{{Oq zw9af&T=q5gIgUnZ%m`<>^Bwxq9_Mn`Df)=M?uqWX?x);uF${g}j#CGyQ`GtD67`Sj z0kvK2QbXUWrZz>()vlzw9HUq0PcZNt())M@d8Zod%*BCKfmbOop1GmaW+?aCCpd0! zyy?0`eMjxmkLy3{iJprXsyBFQJOjNKd1upG)_Onm_IOA6rupvh-RFDD_kr(IU$$|b z!3I+0$hA?a>jL*`W1X?n*b_23#rd$wk@<}S%3);?-OONDsdkTczxEQv`=uw<*x}C$ zNQxYpdg!D4QR!7Kw6CI8{A90keCjaVUuX_p*Dd`8{SEyO`uk+7)bpUH%Cm(kciK11 z7-w8#?lM0$yUig1JuoGZA6O80BhVC(f+0C_4Ln_$rz}#IDi12->^C@Xb{0FA;oCgw ze9`%~vw^|sYv;Gl8QMRzD!t0n;Mwg-!W9|r9ZOd_-8<9!mUox;BX6ho7{gV*ZU5;kQpE0>mwok95b&NI#gey98b*JZASt_pg(r`;#rGu2&c2Y$p& z`m>(xo)0};RJ=TYfw?F$+R2fN_b-)c_8ImY=)NCk=()zd+kL?Og?oVNyhXiV9j!U2 z19xbh+9}Q9neWB%mKNd{X4)0IVGr7K==byNh4y*&B72Fw)be!8U)*N%W%x3E75++p zm4B1JnnSGdZ}r#uxBDA@@h@8a2mNjSZvP27zFz+sKR2Ju%D~1zRbW$~IAE$TteX}5YpJ*l2iOyPRwq063W*KwIclO60J-t*DAD1txBubYP4Fd9^boJ zYt`DcE=J`Ztyh!uL_Jkc(`|aDuF#Bvdaj|~*wUX;xNQc8ddw$RR{_*MapsQ&$LZMxq&K{GrjFKl{S zL4zt$2oO31siq4mm8brRvX!)`Qu*MG{^7~S3jI5@el4hy*(R=@)zEQGj%mTmMlgibOJZ*tlWz6TVwYO{;FSndQP49(oc2f__P*2jJ58Gj( zpqv*_H;3J}1JPAAx>5W8t2-IM$|e=Y<)~7jrHLQRQJI?Ylg~HdUCGVoz4EEgAnBL? z1^@(XOM zZvc^HiYrvy*+ZdX2uL`?6i*eOMn%jTzmDgOb`k$n~<@ zdd+l#NKk-G;<`cT1|!`~3&cY;Q+|C;xym$&`pBkkL2(Tzo@kmyS>b3|$OX9_xE61Y zT*1?nrmv89>`k+g1Pr8>LVKBp4+i6#o~Op=TEVJ&kuvg)lsqFR*HiMEoLo)GmU<)A zD8HL+LDF_0yT}xDh)QPPEt!gBktt2i9#7fho!#gvX!+2SiDie8ela0 z^M|_=(KI77%QOpLHqDYj?MF?|7$|-3{DS1=rUfYCU&xS?c@Lm4 zW17Ck!~X)W1GDlnZxt4D$qXbvok>%`XCcQd*nRllkX4wm8I?7bMdyCv%Y8xHN20S; ze7zdAv*m`dQ&g(rVz6%k&p-yR#t*0vVCoc^U9RFTbWzOnsbnnubfq6Pe)9RwQYz|* zG~j!4HWekm5#Xhe#{ekQntl016d&cC@vEjalLm9&rzYi%H_TKdsK8= z&+}Wb^B4 zwY>8K@{7M2bAkL~SK~IJq*f8h6@w3h1}cksn{c?6_LQpY7H``f!CJ=m%X47qCNIXL zsKpn7IcT1BrZe<9OL?{A_N{S^-4x!CqjFfU6&2YU;y$P9=J?{&LlBRr4(YwA5NpD2 zXt5hwUw{4e&k2B%fi_BBX`MIWB5V_89IiEc^GuBIs99smrr90Nt_I`?GgyCZp71)e zX?qQM6TOp6nWrJzc}65-A)!M;z;-bX6;2(pwYaUm{2j)P@P4uomsH zZact6iuje;Z7}%ZXzlK10I21!|BZz`N^R4qSySM^?iWW2#M$0bp606*$i1h*WA*B! zqrlWrbslTW47R-D!^U)|7H9jg(;X%WFR&C{{*0SZ*(!Hv^a8*H-61L@)yhHtS@dv& zwX1Duke4-1$_^PE@694CQG*lc5i&TD9)W{Z*)IqdAAL>97itxcz!;9&y0!o}Rc)bh zUl2(1Y0y#Dr0eP%PU&z;C;BP6f+;AT4G)@~UZ_7e+%F~wQvhi)%RocWRn7zIw%N^C zQ?@`V67`3TMfR9hfM$n-qGB2_J1cLDoc)MZGVuO$ADKNGlP4K2^?$@Ndma-yhG+r| zEdllRMQRq)v7p>mcFh;1n91dR&AwCghYNMDNmr*iO3vH8Btt8z*~e<^g<7ek;YKa3 zIZFrIanU|l)tIAlc}XSBr8C|lrOYx%K}TKhO{k!v3i&FHWjsBCEF<-Yb;1d|p~*hE zSu!+9dCj&4A6tu;kF^&I>=YH&$#y7SX^Lf_+Ds$U*Gyw`I~9u04QKm0x!AVgsE`k^ zB}=&)X}s3!xL!M`bVfM@rEv z9qN_fD2$-$uq8zLmRDeDe<)PvVdGfJ%0v42Gg|A=CHO7&Nk~k2@-j@erMHQm{6dZZ zUR8q!qon?nBONmfU~+e8@}p3fzLl)BeG-4=X{8f91fZZyWh~WNI+`Xek+aE@GofL@j4Q;b9}P#dkFO*O}zR-{yw6lefbq6T)%GC*^2O9;*Yo3`{9e? zx}!*6qd%uVtUsxDyDx)mfLv%SGOH$2y-IivI-oo8vLqVp{lww25lw^PwW!6dBw563T6XRKX1dYmG&pk3+Hkx>;q~ zs3X-a3*(msf+f`LJ&XMj8CNn3H6R(|AF2y4a_sJhw<34wC@g1pAQjoJgxmfQtgceX zE}};P(3Z+HjhkqsaSrt>CRCEru{r=Gz;?&2tF)oWRVGEhvh-1Q*^v|-v@i#|_Baeh z={mveYl@fi22Ez)MUN;qg6*(z&zN?&R;qK|P{c@)Bdf|nuzjUanqTP%gr5GysUx;q zZmU{f;~G(Q(xR5WaAje#Lx^ojeW%UZ5(8T!-yJ#&gOHkmR-lnbHKXiFUx3$|-8@iv z)7Q)>#cmM>lfyI!2$|C9hfS{2ixnirmj__mFDagO_zSHHJJ`&lSh}Nrmvux?-r^Dc^JLLK zXXVlmS@L&6LYDo0NRafmj+I75LrRR03e=d!IMQP#x)+4=(cqnWLo1f8+tpoPGsvLT zt*@!QE(BR3r0j4>Q^mxvE@7liJU9kRnOG%H*P^s^j))%bh4FH1~#p;M3^`SJKk#@`_Pjobc8_o-rO1&t^ES7+N+_-s*0s%yY-R>eI9@usg6egSgmBeM3uf|GkYWq zISW7vOn`$)=*B2)O(AlRk$i7^DZd74pi01r#u6;-LReuM-jD6=5h?zh$IkR{3bWXP z)UGk#Lo8usd9?(eb#);DnXO&3pNm@s$gMZoN2&T@FxXHd#FbD{)+$&-!6;&35!dt- zAikTVv(n@ism1GN@F}T&M(H%!OjU4-$6}{WkBnno)1=UXGy!96Eo^K7JhNC-WaQVz zvV&>y!jtTB+7N-Uu05X^V@#E6!9sFd!=+nNGnOaML1t=Q)OTJ6ZSdqEEcNzYc83Rn zxL>1OW@`OGh>}9;^wt=5wP&(;sRxVc)k`q5alPgUUTk}>?Y_Hy2EYAM!XE1VMEN?f zqfEh)#=mcRlG0?Y&8!g~3!F%Be2XwM#h|meI!{xraf`a0@B)~%rj0b$O$}&d)j|^t z=b?tSiQ#!8WYRb8C(2>IjeI*qr##zIE|FKeRnS#csn~*awP+p1-WfPGW)<3ac;%Df zAkZC0UUPxGH}Tglv)|Jb%R3ND)bl*_36{`GWtWWn4yG2Wevqj~M&|;dLsnu454{U7 z5AY!J=167QD!1jAilHh?L&Xr4HIO%>MCsJ^BlhNe{t;~%wz5l9cuFn|N3X8^w%HBr z`92+begI2^92sEMhW}#KchNcUYC!LPZtErf*<|)ZpC}=R-RzSZn2UC1)#ejTAexi) z=^GIke^1V%tf+6Y_-6@Q*>`%_<@+(ChoI2uuWzFI?tVV}-2Loo-y~rh3)c@X4;a>l zG#{QL6WTQqWG%8CcZ0NnTLnvokv}&R%7WCwM*y0U&&S;4^IJ#*`Kp@7yiwN`Y+Dhn zvIM#pNAn1nCAK-ys$wI*PzVZ0^-z6?tPMog*+0l+#gH+!&@Nm;ub!!@%~lY|^31Cd zy=(Z(>>qt{h-V3pMQddVH}HSh@P4bJRbK(~s?3XY&1rki=7Hm#I z9@m#B$jJXMA(0PIZ9+o4!$$X?D~w><`=<%>SwsJ+LN?1BUO zY|VgaLI7(T(4+h#cn?4qk1&xYYpPB{c#R*@j@1*;{bgw*FATqlTn9=ji$ara_biDZ zQ#_69r|<6}Ryfz(g_5m6Y5WWvrL2lKV0{+rfll|(iw~eOAe9@Ucx#mBOwd5j}L(&^)K=T0ujjA8)$<4 z2vQbGDjL1c_6+Kk_9puGpmHHo9)4perl9Jag|y5D5^d2A$8wB--)6xXOM*sv(Xg(m z9F8rN`8azqBRYG&RP{XGGHb0ps;)0h$-KI_t81E6^%U{~_FM7*Ewt+TW9n+1E3mDm zC9hiR>u_8mATP1&8A(ZliKOu7!Rh2}JLY!PwpF$6G~by~Juc4e+Qzc(>m?+zhwe-7 ze+70M#31Q1kq$#^zT+9S8cXUrL=Y^F?Sg%m3h(*62V7yrt81r~&LDAk?7keKI}6I} zA+)m0Osnt&`!F+I+!4)w&b-fyD#T_*3IDMBvNDBowm55Y2f|2}okryh~9 z=b&d_#}Z9pzBFo_JwO^Y%HDyWHj&;wkl!@1*@N|w6Ue3d2BD-Xp3x2gE`b5;qrn5k zw-z$j;9_A1GYsj~`Q$=WDwgtErMgo6S2Ot0(=sJk^^k|l)1l=%avHLxF6pG(w_o=@ z*X^thLZ0oS&IO|l>b-7f5_d7}aW3wNGw`)jq3_REOoRK2dqtdUXb?7#gbo zy}!(1OSDp~Bd^ugO(l&CBJLYy_Akii1JEDz4Q#e{K^jSJO%4B)9U9srgs@WsyF!rC z@$@K~t!_-6Jtl@h5ZH60Z7mwhUR#Url6rSiRpz*CSU3C+ftBY(_h8^jS9iS6@kb)o zJ|o$cfVW;?MpqCLV=3W_#E-jlV|x{e{2V_*3O&tNifS ziA4>YDHz%EVJW@gRVF`Bm({s_6dF_;TA?rSM?1**-tOFRm)bTy+znfT`0?bhF2djJ z`mnAcN1+2K#=+o15Bct}-oq2Lz52GV;W=#j@U-yK_L}`1x#9V3wa2oJ!$Y)3`n1;; zSUDC!u+jDKf>v4GFTrb(i#|IUf{qa7J>Pbi}!>qejA(72WN4mtrSJ{d& z5#j`Y_QIIN4y&)q6531?|CNRv9uuQ0RkFykB6W!EA2mjJi)lxv1^hwur>@gQ)^TKF z&v5F3`hE!l@ZP=$QJ2(rE=?Wvt@U9uNB$<9U}a+>g^}#}F2y(AQ*R8x^PENA0?4*0}zL!=@G%>`N$I zi@)daw*h~fjcoSV#9`@DsTwjd#l1L9w==g-zI(A6f+7A2IB-TkY*D&hy2=`9zok=M zZkF&hcXcrP)aUkl8EbqBa#W@ETvk7JN^Z;_Za3_5ophYvf_2f86kvO9vh*ZL9jrT1 zs<+K}K41R; zbB>DuPSkpw!a|fY$Q9gSxZ;~*H z?ahnRGHCvuUFJ*nYu+cqTK3xbM86ME-Q`mRef_KPX@f{Sknke-Kvpf~hDb|W`DARu z7)%JC+^rpmqbr=dux^0{zrcD=m>v-Y5mJkDkf8dUWH2EPH_{*}RNRYgnV>H}^P4=o zSa%UPM$&x#6i8`b(XX(G2+Y+G)vjQ4Hkjf;& zp*Ek#pr7JeTZRhdX?M$KDdli6NX(cYCOFx{`9<2T$n^kdU?=h|!bxT*m?(A`$Fe6T z3BRy?1>HjT0U$PmZ9?e`{a4fYu>G_fu>69N;gu=A$FF~+@OS(yh5Qzxs&(9?g{1Cff8`Q%ZkDkm!xs| z<IKU+(f zu5u4h1$|>OtXx;Q1~1U~ICo>ml$vk+SR8e|IM=ltjz+k}>J801XcEe<;V2G!`#4?* z4B%QHhldfCzo9ALZEZ60_5Yzhf}}INFG_5;-Q^Y^`ylD6tDkLXMW${&V_Pe#UAszS}z|6U7S$+0ZF*Vr?dyIiH0Hhpc$2Q8O9y4Rn{VT~lL(#q67@BSLy(_R)%uizLY40afF}tmm{OzX|d% zLK;W1snfbVxRGXh=f|j92Df-$8L2eMN~h61ZDm@wMF)!s%SgjF5jz0jzKC{Iufv?x z*YMBKyjHP6rhn(*5;P%4pvT;Ln*A{?vV1?_%64{ts-;XQ4ue9_7da6hhLs^pzme#{ z95%zA&MVLX{Dg&Ya|U7jAsJTfLY=WFpC5;?0y1bd0A0{|$nSgP9B_gk_mKg(w5Yx) zn706kIdO(PIi2@W;CY$DrjSYMS!UnDPEvRj6T_E|+Wx`xF@h|lZk5!feGHaVu=yjD zuxY$SEXpS=!5O7mP^tDcz^vB0(bE1XYnq{t{s`sdE{D&hmB&IEpu^^P3{uN8S!QXh zu#`|CrhV^8<(=)GtY^&OPKclEE%EE_YX|? z8>+wh!lTw(0&@s8u!h$N3JoKoFEJWtZrv(?S4+NhxYumtyIACZQi>uM z11>@-;<2K~n}tFicNeFD&J{#;=p|HDei#Y0@j6dL(E%jg6;57lk;YNCTL z;JyKt@Hg^-?8W~)6#4>Io+*8PwrUUm9c=D^lrxQGk+agZlTfnx8Zv7et;{$pS0?T& zv-*x{p!G28U0Ug6@;>_*#?vPC;xXJdHw|t6d==`ExRVXt52-uW%iK# z!otE+$ED+*gOl$}$$#J=%HP%^SOZM`kme(y!4`XfN^PTF0YwtMIINM6b%WTI+1&zj-lnbC0>6=l+gaiqeH=xU z$P1iIw_3^v<9fCkzGx|1IA?Uoq{qqE?hdVlLmd?EVl>TroE@LjOD4^oIi0&U5|9I0 zQh#XH&w5_vl|yb!0(+3%_h6*o8yFP5?Petph9}yUiXQ%i%~o|74w1irw@2djV9p2o zYIoetXky#Utm-T-m`*X}qJP43+tAEHJCFrEOOd&52K9*Dm8Lc{|5pAi3e zn{x>#6cmF|u=JbT))2`(GB|*;6Y!GlGm{iNL_$shA`0nLw*&~smM%V`w2XIfx zpUc@>kMtbrwMt=0{yqkyY#G18NQ8WjEWj=WA?wF4fNkwQE^q#=%)heSrn4L3fME!$ z&qnfXbPXV9HF(REyZ-F1o= zmytzd(U`;dt7Yt~`Q0PaV9R0!<6vyi4QQ60?XL=o3%j^*C<|V2->733WZ97*Z_Ac+ z+Z}N^0yUCWbdw`yJc}g}YLot)G&u<8MTk<++WlupwX(#gBML{}8J@-1g6_hN?Vm1~ zBxrAf9f}bxV@c-yS=7P-K?#rulHrVPV?Gf2r?C^ee_=%VH`pmX@B@)ld^k9c0p&=* z!VzC%@ga%l^5MTOB$u1^qAZZw1xpZ4vBD(5wp1;w=s*-lBmN-h?9#TqK{ApI^E6r6 zlnexvvksQFNZ0M%SAeNG-%-`jszh0I+>9+l3A{+hC`i$`^BTK<(Z#gaUq)4E@%pby z`9H79yszjJ*f=(4gPS~kAW|xw&9hVs3G8o67g4pGMOu4_>g8;VHM#fR-m=l@v%3Z7 zjZTd7`-2%%(1mOX8hhBEvM? zw2^8acoF!NX%HEJla%jC{KmtV%idgU5Fek*{#e{yYeic-=oCDNH=>%-0R;0M5ej6U z{g-Y@>h)cJ`@f35pmE%F#mnktD4)^}pRc)%3i82UcF-Engq7QxqA`ckAu=><4MUCl zZ~7EH)H2APcTG||Mqy^9NxtFs$xRCXYb!GSt-clGe3R8K?}}Nz$+sQqV0#IiAI;L$ z%riP0sf$wW>Y$2Sk-Ey0c*(A~6=(^7vlIT2#+}H>G&C>jwp!yb3i_Igo8|txXKS(r zLrcX?O5Hh>n#og&o>JQ$|Muj9lAi-v1i-LxXMy0wc~kxgm3aF zOZU~2DVh;cBNey&t?KG9SI0V^K+jOBC;9e3K#kPw>QzzZ_P6?HUM;u!)cN@5x?-`< zyPZ#kM(bvq$%xg9iMICAbS;^)>S%D!B%!&rK@xx_1~nyP+Gr*;p9eVt}(Pu#0Otb%# zIT?mlt2XnhRWpZ_7SYvBrtcl1?;qeu@TsSk#m^i#MXA(A=O*2%bF6TA@9_5Bx1a#} zdJs5NKA%0vo?l*$li%>N{|Fn{^0M%-<>VfRS{;sKj!y2-L12-5{yBTQthcy zxjgosk&k3yas)hq)ut)3-6k}`JWUd=vnR`o z{kBte;IWT2mQM}N$6G==pN@xTw|JHrD>8=#gEeHU=wVneP!;AVhK$|X1j{RmU%y86 zk*DHk=yqZ=h&-1n4gI!>YJACo*U(uiY&; zOAg>eZuzjEMc9Uk>!!03+oSR{9k=bC&_L64@hNORzC2_qXsSPlAX0d73i)VEvK%SN zO<18k3QKXjfWkI)7}~6AbuIr5jcZqz{0ab3Q&~f0sQBencB8UOXbLESJxnXLNTaoD zuJ8A;#_<)bcU78Dz@}F%O3r!@<(bWv4mcn$_iJH`7>;C&%d9dAOv}L3=6!_K#zT zO?E^c$^NV%W(^OgNCA6Ut9*{Wh`s(~m$nmNs)y4`4JySHvCB_B7&J*aF2-54wU?2H zyu(VW6K5fyR)CpQ4BIgCw)GQ;9MHWj*ukK&r@Q_#4?+-8N9ZzG^1ggF5|S_G5_-nh zwoyTD$=4IBWvhutyd`WJY2Y4JJdD^}Ej&O*Y+)Cxd#CitT4+hgT4D+1&o{O6y;n)k=e*3^aYeeJ&dlNmok!Uw^ zHKjjN(%(|MH;nv!diogolPqO*hOem%A!2+To4Y!7#5_5@3VX3U2CHTzj(XH8*L`Nq zG~8W~OK1JNR8+a5&AupIE|=y$#LlellDgx!_F*(Ny4|>TP5PbK&0@q?QJ)#EWKr82`MyJ`k@rGO<74pcR0`B5+_RZ71w95&HrS!Ah z#&pm05!5W_nFO)*9~Q871l#&dXYF|!*=hPYzlweNj9%MJX-+@QtC;^9eJ2$)Z=noI zA)Xnh&TA4oPXcXaRmo@yp&DBH39+&2H3PKCl#ZvLWE(rOW+(z1{MSww(%6G*pn9e7qdPhlz`o_VzgDv#!5zh-IzoZhZ3=h9*ao*pjxXa$PUC$s5`ZpiS@r zXb4XTH;==tlS?F@%uHaCL9Kn1vt6i5QTx5J*Y?|y`*@Nos zX1tkN)SA;wGYQg^c1YD@Sr$u%7j!nuNLFJa5S2q7fw$XGl0kL87gX+8c7hEJjzeV% z>4P3)MeOi3GO6O9mHa-ugr4&G+CFT@vl+nWk7r|J^O2X&a~{TMNZgXM(hDM+f?5Ow zIP_TG1FmH>+x__+x4SvPS6^e#Roi{+xf(g}1^#rxI%2s(PK5?BW7(7IQ?*AxGQ_I6 zI&i-R*5D2sM2Zb`?Awq3+p>RTERj;4Qd?6Hh0xQM9m+qr0HD}VK4D?cjqleHgK|aj z0#D|2JU!dbvp=HVz3Q|aI$Fe6k7Lh0*R#(w%#>N6`vWv(#hG=MLq$B7(g@z%Aum+x zPGx1{_7Z<-EW7qxd=DFd76U3R{dRvUhGztk!ud-m^=#3n*bwKO_`x%1tWd2Hn5@AF z+>668`$oPMb{t4v!wxvpdRXWM#)M@cX-0FDw>y>;)JKe)5$`z6*zfk?aO6F|1vt1&Di-CDI$p?QA$epgH>skm8EnO+ zif1vGx}Dl^U|_i9v38~XjaQIOb##?)(qy+6H9n75=%jGmR2%L9f^5n5l4>1!e1D4u zXBGvzoi+J9g{(9RNC}q84cBmzqOUQF)g}L+QL!tG-#G_)bhutcP9uFybxCVZwc#HC zZE;L)sW#jKTzID!Xv|&{3lLW!TgKbAqAm@CBR&~YG6@qHJjl>Yq`TBcx?0zLgh>MrxjMk3=*aop))KMA%eFsWLO`J+`Q$ayup}M& zU*}v`2p@X9Z8u6OVCSBX5kEi6ZaqKRf5tb|4~31eu`di4-`K>~ybvMop3B~OAyYWd zetn^*7(AGTy*Qx5xhx`1IEd4MmweBrzSuXcouLRVVnxFIO}6pH;n62BJjDy-hg2gO z42Z(ST=M=Knft{qW0qqcY5eCbqTS2ZqFynSuRu*H-8CRXo)PPeIXF(;<3`Ilnfn)K z;0UBshBat$AiBbNL)v39f%xb%Y~D-JQG^O=_)?AO)xH3Grrry*RJl&DO)rIxY0RYV z$a@}`VQsZ;LWMW&Uarl`vbMD>vp)S_9c)>ubg&=iHFScK&ToB-kvy{Q<<5e%J^bY# z#3>s|vaMPGtYyjm5sp$6$!^dh#78A%k7{=R+iCt1D!0q^BUGPuhz5dlUppK#E837! z{xY>?jZ zb|PkhmL{`%kKb6(rq1QNacXSwFW`RA!a&nv_kt|`57aQC?}BvxS6i|l|FtbSh@Wpu zCiAb`l4-oIEt$~-9BsGCvCZAWA`DurgtCbq<~ zUJDfW{l><=7TxIrX7Jwe2mH!TYz~>Z2idrSA@|-+fGu*}dkL@(Id=&#Sm{4Z>0i2F zbcbePSH5u}%H8EQ#n(=&HU0Tswu-;n$VO~Q7vE`Qi?^hAwqb^36}n9#Y9*gc?`*ba zOPFw*o!;_P#I^OFdG9qiESmk~np z!5c;5vX7YN%~9gahuOq8Q$+8NSlOEeC_4UT8g9(BzS%=uwv8okRbo7hTYHHQJiwmV zI$W%s&c58*MN1kYWRMah*|Ie*u`}O&q)oW|c^Gr$IqkM#5y+cEqIby>09Ic zEHI0yn7a_oIHe`F17c-s)u3wD{lrp_xJkg~nb zR9#;|2bYljMLbw!!`|r^@B^fS(VSk0t(vWTCsMZMUw$W5>|DwYzmqOX#q9Pw8RhHb z4KCaj?Y1U649&P)jX?t=!ljVEB0GgZs=GUR>YMR6&RRdWO~1oP)>+eZEM7qm89 zlWg6|Xo3Lpf=59<(mgBdqz@9rGsW1`CrDp93WU`{j!f|*EP9)N;pd+r=Fe9)UV`}$ z0;(;B3cg>VMy*uVT8N;E+j|x1hTtu9Aliq(&iSEjI;H^u<-`d1ap^<0WLr*oH<&~u z4{IzPVGT<Eb0sK;Gq{uv|tX;C+FD)hypv3{qK67Z#bP8~NwZh0VR`w!_CrVTnsWf;*}z&})@j zSG5XH^Luj+owWMCX@uNAcSJd^QE?0R6 z;6jsYNu^H}yv_1H8Y2Go9dmpXQSOP_X&ZrK_-(IxIvC!LW%ub0;2_a~LZR84f>kV^ zv@t+Yei09aG?bxsw$*yCynP6jt=|^$vrq<$ZC|=wUHKybf^~*_r1muUxm}t~S>4w$IteL^be(nx(n@89O zISkL1;`(SlPoBxT?C2SJ`4KEdD}3+$q_XpvlrdmxTZ^cxJjcvCMvGPZ*vC7vrvC`5 z1N~9tEI%oyuaQTD*C8#{x_V~bw)jG;AlsYJ`{17HoA0Uar0R7*(Q{i2O3JYh*w~MY z#Y3O5H$ILFdgnBjzJX$VYH$bbh0oYGAHNfrhfG{n@PrykJNpIoflsGh*(+&W#J<|u zEAU|m1kZ%L{wdS!iU}Ex9J}E(zAg~#DX@IXGIsTf5lD6n60M1}gmhaJ&asAIA#q^~ ztK8LlbPNQrl*biu5g^BF9t2HYY6uMtTu2tTb@frv}oP}A_7<80NZ1%kv*f109s6%>Y?n8YUB4$C1A8sr0qDyHGT z$lDZcZ*p`mg+jWm&3wAtKx&q|0;bJ;0TkzA#ZAtp?kyI3tY9DS-7m5kZ0Tn&i5UhK zx^J{Fgq7|~iv0-Q8LR*m>pWJx) zU}gec`f`1N`EeM|6ymE@pSR-uqr30FvX+BIk%8#VgXxubA>Gm&H(=UP`&~A-E;{Ku z3+SL6Ogv5dGYdeAEy0mRbD{V};E_(S{H_@iCYbN3M* zwTfJy#y7x}XOzj|ACw`jU!h>0nE{C!_lDu%Ra*l!b0cAK4XnX`{L9z`m4m? zCCJ5)pqwk(Y)NB(R`Au7s28xD{)-I|r6E3)ow6tTh@opd`d^~o5HqRH22mk-edzOWI?cTG8 z*wEv#-9}JM-E*ta-e(W_a0_JjpSP^T7P$M5qT(g1neBL2G4xaR_VMi0(@-h#0fiIF z-| z4<_XM4>IS;E`8rd1L9@`am4Vo8%ZvZERwDk@k_ff52av3*;ub2eb$@zewO`qGERJd z7YjHQ>;L9;?+T6&4_RMj`cqxIZ-8*3db-Mou;s|NW;VCNpVc@WuP}=$Xg0QFvhq`j z!hhInr}~JOcCv3y^|+rumQB_ufS4^vjf@8A<*H za0VVj7#r0<*pT@j9s&V|6<_B~t??zKTDgo*`ikUUCuTmKC_Kg-r>(*{=JidY7&er3 z|E5sLV~>BM7ac>`wr}PN@3Y8n^*vIdHR@|93{JU2bo9P|Q91}38^Qsbxp@||emk68 z>Lf-|XN;z#V2Go8!Z>v@j4pkf4b_F@~s$uOW0LD*}9 zjnW?(M<6crarHYO>vPFHyf&(+yNwZY9dlOQ>l5ko=X*2gnSw3g_Mm?pefLin+2 za?pN!jv=4_AshdFY~WwpD2HJ15g)S0 zzE6paMqBU?-LJ)cqNNiuA}nLw{Z?|EP44|ZF~A8oZz0P0>20j>`(XiNl=l|?Sde^%3iL z{;i}#)Ga=pVe!&m&-Ls>^1?<$lo1gf*?ii2%zeI>*ylsm`-gO`5!*XqBJb04e@Gh| zOBt}j;e5as322oq?&Ef^#8EJW+``WMmGu~*A02jl`z$c2*nSot`c)sPu@5NzV<>&SXd(~(LM108(>u$PGgHY4hu_$fGhWGw&h#GP$;nc3;xoNRd2)IvIZ2t` z<2*UxO3t86@0p$)pJ_@~R;KqXPu8`qGD6vz-X>4ZPfE^+Oz(M~oD)jUs7&t#o}7J3 z&bUl(iznyZtt{%NxG|Dapw9G8^AtR$*y4Dmm$y-cvj|la-u)ncmYqIm5TI z%AeB2(5>vFpGw1byorg}2^&|%-;$GXzrX@}lcoGTF@KDlGlj$n#rwN=(&u4$KRG#* zk|{{y6OL{7bqaU~XbyD2Kd+UJWAk}FG#W&DLz1W<2-)GEW5nA=#(z!~_Op;nJwmTo zz#P}$p^L5eIeHWlD>$EbV1<_wgAajUNOC9}94TOVtol+kqHJHkl;}Gv4R8VQ=%q;U z-0O^AT84wE|NN4pje(Nj-dRn9n8&vL5|(%y2i%^FQCN+|#qPz+`Q^Kr=e98ZOMK=Y z?|T=C^)I{~9cQ)^B#WfRPcT?l3aZjPUjzfJcmY)S;HAp|+x zGSHFh#%x;>N6~Kz{aQ!5LTq;eaC7pG&f;&o6S87}?M_&EA0z)$)@Rg+&K$z$Llcu) z>}3tu*)*gnOv9pc4>a-)f4Mkyy6i8nRqpzS1ro^e^sAVrZV{;1#CayMIhF5Vu zyv3EjfJB*B3EKcmIWAJDt+*iFKmjm$r)@LUD6Rd_v#Jp2Hry z5-YsHp1<-!TSi9nX@3$r`J^np$2$LcKt4S?|K}U!Nq7BUbmjpYz>(L$t)sw2x82Kw zm2Vc82T(jaV#C!_T+1kQ=8_ybb6yFZ`Id|t@{|WlhV#{iW+igw&uYV8uq!E8rdfZu z+VE!%I;V&kfRbZnD6XiWlj1r?PCma3&cNMdroF0RJ=pj+jtd9sszel>G~CrHU?9VK5A z?#v&PVaX1V4_CO|aHYA+T|>xyZuxm1y-@5&2%mVj+G<+yT3s& zIyQhwnGRQK;_h()D)Z4n9>NrQnfv81FYS!)a!s{fw7GM(?ZhJTgA9jLRR3o_f z>r};&c2AU+Y)FxNg$x0@{zB5CS0r$hFD3``B4D9-KGu}67ylm8?LoLu=&m>xe)~t? za9bBAHaIBj;Kql(S|gxKX|DGa$2YQp*GKw4G9P?O$0D~__4PC2geTYoH?q4N2IYWZ zz!#PkP?yO%+=ZMjUm%YzxM+FWa(3`WTui|7Hj21T4tC!G9ij>gl`D|*%9+p-E>0|G zQ7vP;`yM5Lio0(dX2|Od#M?PKBa_;*Rma*_#i{okM$B(+<8I0v#rCtsc zYd_7U33!)%bvpqcPrPzFLVpx826`@qprrGYc#%|%XGQ22Wj`ZbqP2Tv)*%Z2b)}kJ z&);9dGFyiV{_OGA5yC-M)7mGYW-+>K1ar7?+Vb)Oy8CJ!*%s-D>kf-qr+?DKw-&SP ze|m^z7umdj#spn}e1fqC2G&7;Ir|)|`=={D64vz34&f5pbSG4O8wxu+(HiNc=U=n$ z?sWT?MO$dppWFR2245s!aJlA%`z)=K@%}>U7t*1xZ`$GVh?pkz`zn1Sj_2|;smFA? zLi#v{eLg3%c8QN;SiEl63Ei$Cj*)VP#xW8ZH7@!JOPy$Y7?zR$9J-e`C-a1*4v~+z z;HfL$RioQ=GWCQdvFhYwh?av_?V8IEtJqO200~@EdKxs64@Z3^^;iAS@x8j09IS*d zd1`nDYJu671`WOhgctcq>VrYgkiUk+8gzw?v{Dc2Am+$kQj~?GKf2j^cS>RiVmB$A zRQsq*qERcEq{~R9tQsUI72nk|` z-cDnRkRcxV#j~0%$jI1wuQnY#-03`?BBY9?-#A-Sgm^LD;f(DeWQspO z<($?-ND9+an^s7qnf1PHZ6-eFT;D_JS-$KkIaVl+R#b)|-kO!44=*9YLHNznL?m+i zUAOis;&!> zgE>FVxl|AyDK|loDt-uPTdu+SbFM%vj4aZ1gyCLyh8NKt-P$`!Q=F6XV>qXmJ<|9> zt@SidZf{SqKeANB`RCs<&dS&G0&!HI5R{OQxa(|eo_SiF7}A~4YJa=N9yChr;y3nJ z5PWsDzw5m7VNpo#oMRTZH@HG>>{qE8+*bX{n{IcIYDuc|T~UblOBj@}RE@}#Qs;M~ z5SKFXk$Xnq*`3j|5g+agloS8nt5bu*OwG6)Y{zcCHammNm!<;{6hG4ZUp2tk=LyO zh9>`Qywl|)432vrrBdEeJ=QBO&l)LQvgCmL#fS6wZp|8JuCFjQB732CM%nH~8K}_< z_|whb1BCre=QdyA{z#YXKW%|JmLu)Y^jZ||C{#N_Ryk%RIeTjaljz;u`GN*(Xk2&a zUX3s-f)aQ5~SBBEy@1IoUxa!6aES6d?1Im=I29K5O< ze9HwtL?`j;?xfA}m3hwJ{e-FFc`s*=4njib>(KZy;L5-?xA3vR%D{9mpRTIGxzbXvPwDU%wkSrwZ zitiw(1ySwg?4}dG5qpZxe{_%-AC7e17bHaXovK!;Zv1JlBB0U{yJINIteBNIp}R!AE~Udna#SY-@t6PEg#na zBix}9>{WY_YCMfxd`st8!uogdYG3~{e#vyA*m&E`MHaJD-C5}3yxvI|sh zo%FlW=Kr1aU#gucp+djTi`q#4xJ-ItOpyK&rv-(H8OW2WD9_fiNM}2QSNl^{#L#Xz zw=vv#Bvcrbcri!j&Z_IW$^j^or{_y~dOYyl%`m^0M*YPc|16o)#02p86f3x+u7M+jlU zK<5(?!b{@b!Okv`!l}-`X32wcRM8}XX=y0=e48^cN|;giq*l#f$clK?9an=;NqSvYk?C%=LGi%HJ%XdyA3MksHJo~R2;M|mg2EerZK zk~JLhtb7?dS2nBdh0f#A*oX#Ca*8oRUgy8em=8Ii20=L*{#GFr1O9!Xb54v98}LkC z8)=3)pNSFrg`Y$1yT@5=RN6Js`F)H~)OpbwPjySE9L6&UT*=`HY=*&&+9VePQ@C{J3iuv&Z=Oc00N+;fOJ{Ko+(N2+tE9OR5wZnNZP8d2U zur0^>uxWujk(Ua2CHO#@!YLVs^Oj)T!Nq6G3i-VD{A_1dybxYK3Y``g@f>=TPNV;D zWdJ25=)-ap%bGtFj*;UMDK=5Xee>H`pr8PsZ)??Ghx&zR*H%vdF^}vsz_p83{`-T# z0iSvs2`vam>ZqjUq1XZC8le=b_2q+lQbt;Nt*2@<>}a?!jrdS$UI^}+*#*88MX<2& z3xA<}nC=u4gxuUuowA*@oBHO@;6)kkO#Yfua6;~HaeKkYjFKcvEU#2bDQYE&PjNb* zP7v<9?*#O<;tG6yn!W^dhVNHikIJt#{3Cj8`)r4zY#C^A==i`1&m{^mV)z7ST%z!h z_|ACeQ;9-m&lj-`!*LQVe+1W{Auq^hv@^@$pFX&#qH%fehU_Azb?tLqg!0HQz*Zi& z!7bRn?Wcr`T)STAB0MK{fP<-D>Q(8K^vWeH?OlVr39|+5hS6<2d}fsM{qDjFF?6)E zSF%t&R2tO|uXZGPQe1P%YYN4<6Q6&#>`j!pyfdttg>+HR08bI={9oyueZY1J{kwSp!8)U*E{WL zLV|A%SyfN{R8lM~EPqf@k)n~AOJRmTGAeIFWkuyJD=I1z@<*X!YM1M!vcklouGJRaBD3Ol zx%qvbUF&}C_wjvvAK(AK)XV32pE>jM{Cb}=vokYK+}VBni-fm%mmWU4dz^f6*jZmN zPCkEhDV65<{O-qo-Wyw*_}FLd$H$476Z6kJhVk>>#L~Fq`A5?-^D(w~ zZhQNi?Z1qZ@96g&SC)6w&z`fc*SfjUq3UdV?xpfQqaL~Hk9yrVRGB5tS)4-0%J8Ua zcBsu||8}W-5e`A>W%5PA`{|bEgeq8xYpk8^SQ+ZUIu%9?bBXccwZ*tEBomy&TNtk- z;k=G3?r98uuqyhVv&;VadqX@sbS0PTkJ*NF-WT>NNf}lqM~0Qpg!W7j2NT}hlLW&f z%+U<&#Sl~2hS(MjN2_>pt1nv<&9L|h#fC5KpWX6>^LQJ&KKNq&wC|@}*un&5 z$3^R>M{gLoes6k|FDl{QgRCJo=93fd-bL8EH=*Kn5x1jp9h0*YPkJV{FYC!XZTJf@ zt?TB8E}j_b7`Fbx31=sU);Fa#`pP5EFDLA1s<^D(+WSS%KJ13oLQ9YH$sBY4vLU>X ze=#$V?EI36C&h*bV)p#z-@n<4L!Nc{2VCnv>hay5MOx8FuM}F!y$*E-4uZRwvvJX3CHSa$KZ>D$ ziw3t}#k(VN*Im&Sy8T>=-l1i?!c9RB28UvE&Gr;k_8U%aXz;Sg6G^F|*J!2Ay(KMv z|9yF>(V_Xo%zEsYFSRshLsn}1;=6pQ!Kl)n$Hr~jWxuV;Bl@i(!F_$Js4zQ+aDl(M z-Tq#cFX~&ki?4-{qf*DH&>?%ICSRb&i75I%slwkznUE6hN&N41L%q+Jq$~GV_|JqF zuSvIW&}3!ozi?kVq#qMjXQf6jPDmS2$G+ep)U`NaS&P0nVRhr;guIxRH|+zOJX2n0 zU!cp%#Wkcmosdtuk8)C@Pq6m>6EW>X?q8g+Z&)LNo~$*j=1sdqm$RZ{|8@4P-Jr`u zqeFQ7cB?LbEJxdQPI=5w=Y?cf6GcV1wZCu%2c__=1iz)4X8-7vJ@UQwIG3C(-)v8E z$zujSIg0e+wqwD6ZacoUz^-uN?#J4-E_p<5>Kv+97d2r%A5(Z=+-DDmd8A#0HyrHf zeM8hY#lMOCx^K~;KjtlBd6nEBC4tGEbJG;h^{@xI<)P{0>0NP#{tt6A%sS=f-q3^p zi#Yy_qR^Z6HE#Kd`ay<#bNEg}eWgdX!y!Axq%o?nCzWBDZ9dLWsND<|L1wi zic{jpH?g6w>?J-%1OKoe^2zDpbd5gw=kW6@H^iMCkV4beP zl&u5%8250G|3u6-67Apl4TH#z8H*G8hZCPpxVnXK-x`+fj1@(k64<|Q)z126OYSE} zNxSUNGUUsm;&$1InR14(XJyJx!F8GPkdYGg;GKI)sFgkT#~oh&%8AzF<3!y4V~xi? zKR#~wF8e^HJT*$)W%nP?Fma_lZM>WlwTZ1wkdy7#$IDlpGro#iz02;JAa9B)++|m0 z$;11XvYEJlltvwEkK-28iI}y!?1n7nRBCqFeJ9FibDCLx?C`OFpExG=)i!K5HhtU^ z4GiL>We3~(wh__s_KBFL|1IJ6-xG2rq!mxJ^*y@F&YvV_$yeBqPm;Y+uU&5+nJ-)5I!jueZ}gLMPV~Fyr^AlloXx2?A*z?Q)hPBw@j9^qOjkX zEKeTR#hM+1NFePdkVqg_1bPu5>7Z<`ZI7{bZnm5xR$ZJeUpjWrC8A@a8cHW7cAXgh zKYpbqo_%>s_+E30EE=p3vrgG^N+6j=Fnb=qrjNQUp4-49PM$q`0yk{||D1?PWOuWv zZLNDx6r{#7opM7w0|Sl2=0-|~75dB`a=EN)yZK`vxuQ$V)LcOm$yPr3=Ck&B^L}p1S{cK8%sYD1W_LuN zXbs=!vG-rjc%|il{qyDWJi(b$ETmI#^I;0d1DntGL+5Kb44I_-aMZ8awUe}aMx!} zXf`3y%ZQFi?HL(Ph9AlweZcOVDh~-){P-OCf#lU3{)S~KT$r=VVnbJpzK7ojJ*UYR%Tcy6O-_ztE@{d% zd8GV~T|7-57u9;eer%dN$koaRZ#z^5cgMbK8zfFRX65h`G2z(Z{}oFnwurQ0+TTu- zv*kKln=U_bN#Um)VZ~Sf{&|05X}_N*CZ=#ZJ0&zF68pWz6yep}rxtUq_CKe~XXOX$ z|2czlFTZXFX38B2!$(1WNJ z?L!}-(Et4k0_BZvU6{g%VHKuWm2iV=SJCU_bKKU zj#xFlG*dEA2FgMCXdx;=Rl9p#m(I^om zp=2}^r7X`3N~r|WP&!hOjtt~O87K>7qa2ir@=!i1K!s=_DniAm1eKyPvNEWDzqK7pff1xHVz8qqasv{O3@m$4b`FDs2PP& zY#G}_`KTP#qC@BuO1zzIp`uazvj%NO;!^jrX(N*mECQBdW*bR6jj5{D3OyNUdq6;u|ytR{~-U! z_Qo6WyP}uMDfYHo+nN++ivpD>%d0wQ*NilON5jSb+qDBAHp1i1Z&Vu6Q{}ng;_qbl?*0T%Wkq1Rh zEVHjFl@~m`T+R+xrM!E{a8!T_(Lz*&ictwFL*=LvZALX{8`_Q<&~DU-n$RKCj9So9 z)QZ|rJ35I@p)Mq?4W|!Eu>=xPGD<<|NJkkc2j!wXRESEExCG*_oNy(oLe;1SZ9{da z0UbiED1^FE;=ODi>Bxt&P|m$YY@9#=T8N5KDO!crpp9rV+KL)b6B6lLP#X%NE)-u$ zq0HDneCgYi0clE94bD&TGXui8@htW&Ncq8ou;IjV8I5M0UIHOR5}DFz!sPVTj3{!NB4~&Rm;q%9K^BaHxv&Q;fZ}67 z-4vi0ScKgZmcm}J9LBxEZFx8h8<`g`;5u90Qx+#jpil0^8tN7=r2W3>*jJAEivdWT?Vas6!=4 zz)8RdT`(KEVICA;nks}ISPZ?e44QBa48SUA!7VTYZiAU{JDdO;VHRwK6X8iX33kHC zFxXAtassiBQHWp?oC;H54orvBp#f*WESL*(;Vf7H=fEO37nVYCKYI;a1UJJQ;Z|4- zx5K+&Ba~w)Zp{RuX;DPW)C;y^_ZBvcgPkxQcEdy%yM;0VlVB1|fdgSW91IOO4CX@d zhQR`8!crK3~B#eiha4_tKCQN#q4Z##B zZtW>B8v0-_m<@ZwJQxQHVLU8`gM$Rh2$*mUlxg}l!)RCod%;@R8#cf=*aXFIep}#R z*al5_2Ff&%(NB;bCc-#46vo3eI2h{CggG!M(`FVB=nact94v+6hu!7Sgw;?^p>V<8 za662Hjbb@$7RysP5V0JF#Bz8>EQivQEKlQrU~f1S#=*2FssD01MtC#KRI1uTxD$JggM)aI=UvxMISFwZiss#e@x;gq^_^6E8D(Wj74AW}r*WN2f#RWyvIG%K(QRhIV+~+c-TcJWPB>oDpTVWCW1eU^A zVL7aU8{z%18vYG#g&)E?_&(eXpNEH_7%LxzO|TudiSF_g0nsUR!Dbk}EmL|MCc;Co zi~|$B)KKilpbl?@2JxcX%fY@**c`A7^Rc-S(n5GAEP?efgXPSINR`+VVLo=W=p8l_ zA$p%0crPquK@6b?3Z)ltxu^!!Clt zCyRsIv2$Pz%P)nE*vnuQ%lp7)?9H$h{u!QxFT+ka4R*f}%#?Nzhq8>WzV0hokc z357=@T%8nbkyX`fI3A{B3y)+Q%Y|!XV3)!!meUYPS=g_@Tqqop8shuH0_+*Eg!R&3 zQILom2q;91fTh?ApztcsgXP#%->`R?05@X)30A|Iuz_@ma4YsK5zltU!8+`vVmY=0 z?#3>I5+~>dhp_L4!A3UFkAU!)=T^8#b~56?S6Z4)d`ug5B6lU@mqljIHGc z0Zf9MU?uTmVG8z5FdbIFWcK5S2KHJ}|6_?TiO3>i4Xk5D1?FNu4h!IIum~=PrSJ+U z-0J?Y9Q$Fo5$3^aXu}qkpAWZU-v`^-t_#*-uZFEGPZF8Bn}|6g0TBb>A?&&ED6AIo za3k!5PeSP>#zsK+?E_&Vc0TOHz5ouzo+sitF&|9Bz6a{?IhX-gz#O=R{f8a>K_H)q zt6&C4ItnhtUI2mb;a;XxS7`h#H$b^%PI&Hp=W!`=taz&$Yj zWeWAP1X2k+0uxzr2=rk;3bWySc!+on=3%dd!oALbh1lz1C(8|3f?W=~usv`U_FXU; zdnl~Lz8Y?ZH^UU0`ag_74H4JCRuVd4E%quXMlva|0sC5*#`58?3A+%sVC#a|Prwko z0~QfK21?xFz8=KGTVOKm0n^|Y(0C<{Atiw`U02&3!!L`7D8IQ>!e}=q7;`xam`mj zQMlGXQO`HRWVjiM(z^wUQo9w7g0=8MSO-(#b|~t50~`$-57?`B$UEzE>g7XG;tZtB zX#+(m3m?9C8~m!n%x^ATfm~w!VP2Z}Nn^9C3<6>VMkF zS2Ba54qdu*;eyfy6eKnw&MIQ3E-Q;fhc_*DaV~!4%9RVR6^&4Qvn+|MxpZmib*YzU zW)hSV|10jwD@9z=|BTCvq)R3)R-*WYSI&zhOd+z3>wal?f%&4Ne zibhdNeE+}VL?w|@iA&@3&!rRPQ_A_k9<@ilJLZmo8Pfgs^LykWJ$EE$NQaZ{7xu`5 zd)8jYwB2R)w|lrVdc+ywqdt4eTk;6|V*ZKRVnrhD4EvI|Nc7Bvh<*ATXI>kzA3w+I zmV`GPbIGmD72B7;%_f$VM3Ss8jqqQ~BYa_bEjBNg?yX?3|cC+Q~h`o4y zB<;WNKez6Kk@#01x2L>KI^_xbU6KC%CnC$gtBJ%;7WF%tVl zBXWH2pu#nll}6=&@{1DZ809b=(;c%N*E{MQUpk`IyVM8Nht=oR7WFH&mlm&$&T{iUJ8kC{=Tpvo&V$aQ&huO+ zUB9?yxmUZlyFYP%BTg>RkjDIafM_Mhj! z*suE!`QP&&^A8AI98dym+mtfg8WE5pjRa;>nB)GD*?wl-Q@tXgZgb-P4DEo33A>-=UZ5FY0yrXZjENzx3YDRHxIK>74Jp)49R#J=HzeUEp5e4!YO5|Kxtu{iM6m z-QsR_pKyoVeT-pTKFu(U9ODY(HRCPA<(cid#pSS1;h*iF>%Yo>jsH6T690{Uw#3%x)1f!~ zkI$3uS?pQrxyQ57v)NP2S?=?E!e#V(r+V|e?|A>_jWy3VWBdvJG{5R!$c{GzhFCsp zu2pQ^YTaR#TN|v0t!J!Pty7j%LRZa>k`+x^p;RajD$gmeDox5?l#i9~l{1Ruh;a;Z zv^&0b{L|4ls18s^sA;N4ovIe7Thyo39qJiX)#hkVYdf^}wFEs$AFPki$LQm9r#@Yu ztrzHz=&88vBeRMu_WZcqVwJdggcv zJWD(`dG7E$;(5(e?`iRT?)l1dg?Fhp*$iH2t_Uo&Zsr_bw%V;9tZtD<Y<9s81H~H51Uh*CC{lj;j zf0RGVKi$94zs=w2zanrSwe^$0Kx>+HjrEYVLmXTcgG-R8q$md+M;t}!ZR(5aRBg64 zNMGaJL1S~;S?(HW3^lTi=|-V(D{adi#s;Ix_>=Kx;|1dt<87nKIBa}p#CeiE!Bmgp z$?{z3Dfhh0rTN~|%X@)$tXJ_my|cV4ysvvd_I~X><^91MZw@p^n`2GIoN8W4(YnFB z#awSbVs15`r!i_akDFha9aOb`oX(ZL)xM{FZ_*qc_I3KAXp)Bd{hZcS{#*U4{T2QP z{CoUXU|!(rfE293vE*!4Q$#LySdQl$Cmr88daLQ0OY7E>^%tD7tCwq+tD4&1X-x7I zc?ZzmZDP~C{Wts9_(ukQ3&dEO<+ZM|)>w~NFIo-Od)Bv>7^R5q#wwR7SxTO=Kv}Om zpuDCWr`d{fBskJ&wk9|hIf5%38ytUfG&uG-UUJ>SHF(3*==qE1BaiIu;~n5VVjiQO zr}{4Oz300+Fk4*yMm%0{p^~e#((?W4h*1;OQR+C=Qm3eQs7KZB)lzM|KFGbChRbDq z;*q?`-UZ$lyuHoIW&sV*aWeTbzt^Ab|Ii;B42%hQ0uusDXd-^1N@ZD#D28HArI4NU zLQOa9g-_SBfx!-lC zct(44s@oHkqLZEu&(EG{u3$fJx>xh|GDn*8&0=$&+iKceQSO9 zQ&gILANjubrTabpB98f4n$chUzxk&Jt_?gJXrRAp3w#%ltp0RTF1n{HX?9jyPtx4% zw?4GK7TMAnY2C)ts{L6#t-h;i`h5L9{YO3BIf0hqxbqs z-7DO|r|DGw;!ZKf7?&DOV?34QQR7KtE6vDl)QL|$Uwh7a#?txbnQQ$A#f~I7+q0^bVo!Jm~H6CYl*$k@={(-TcHHN(Z#pcf=?A z2l~g*Up!8Bh)ICN$bjRF+cu;WIXn|8DY1&BOj4F;1^Pn$G5u-%X?IVvubE^zsD5|& zpA`p!=aL2T9Bt~u+Escb4N#oZ?_BRpb1iX=_dG;v*X8-m)5kjy@8KGn@Xx(Jdi${J z<^Ik78vhq!8yP`4Jo7P4S)!CGTa`n~2THqgTJhooee5{p_{s5`W1#w)`h)(9-mUj= zp6?v#RGm|txwLe5IPY>EP`O?|NOwFKue$(S!q}kf>xC!<;vlywn0jPvPt<_SrKkvUFrsPqqaqRNqa*(pnatI z^=#Vzx%vZojb5wo(vRr>(372-bCvTR=O&!3ea@54Sl24oAooi5hwcf+wZ=on*PfB4 z&zwaTl$aj{KDEBLq(WKvFj5eQu0#E|I$#JT+o_#)o#)=+K5ek1g#5L8e<2SGu5y$+ zs?^PDHT_bJx>en#)~a>tcC|s>tv0Gn>LIlm$MC4ysPa=Eo>DvMy}HzHRnnrh zSRBURoro0r`7|wEQ#4&OG@q8CWog-3j+U$CY56#ng>)uGTCrB5m1-ZO7-_tu<;*+99o3YtfEsty-JbuAS6E+9|D5JEL{cbaG2f zkJaP#L^{x9eW;$Ir|M~Xnz!7nG^@v(aK4 zHIl5Ml)Q9H$9u`La;!Y708h8rDz#S8fo!xklS404pe$7Cb5HUcQ{3zm&bfcuyidyzVo6dA@vKsjm$G zx53xy>+&W04S&ABj2vws-&*}${^WoW$PbhT$^zB2x2=J$Kr+=cANRkS9<|l#qECvn vP05^4J||JlfwwXQNag_ZIjCwn(W8!5#~B6#Qaf!^{hJ|qviwj>l<~g+0tZLc diff --git a/src/helpdata/make_help_data.bat b/src/helpdata/make_help_data.bat index 9662a73..0c91acb 100644 --- a/src/helpdata/make_help_data.bat +++ b/src/helpdata/make_help_data.bat @@ -1,2 +1,2 @@ -@ECHO OFF +@ECHO OFF ft2hlp_to_h FT2.HLP \ No newline at end of file